From b4ee3da44f69cf2b29016638832a675ae0ce2a6e Mon Sep 17 00:00:00 2001 From: Javen O'Neal Date: Tue, 31 Oct 2017 01:45:03 +0000 Subject: [PATCH] consolidate duplicated code: XSSFWorkbook#setBookViewsIfMissing() git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1813841 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/xssf/usermodel/XSSFWorkbook.java | 32 +++++++------------ 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java index 9298781d68..67a82510de 100644 --- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java +++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java @@ -275,11 +275,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook { load(XSSFFactory.getInstance()); // some broken Workbooks miss this... - if(!workbook.isSetBookViews()) { - CTBookViews bvs = workbook.addNewBookViews(); - CTBookView bv = bvs.addNewWorkbookView(); - bv.setActiveTab(0); - } + setBookViewsIfMissing(); } /** @@ -297,19 +293,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook { * */ public XSSFWorkbook(InputStream is) throws IOException { - super(PackageHelper.open(is)); - - beforeDocumentRead(); - - // Build a tree of POIXMLDocumentParts, this workbook being the root - load(XSSFFactory.getInstance()); - - // some broken Workbooks miss this... - if(!workbook.isSetBookViews()) { - CTBookViews bvs = workbook.addNewBookViews(); - CTBookView bv = bvs.addNewWorkbookView(); - bv.setActiveTab(0); - } + this(PackageHelper.open(is)); } /** @@ -459,9 +443,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook { CTWorkbookPr workbookPr = workbook.addNewWorkbookPr(); workbookPr.setDate1904(false); - CTBookViews bvs = workbook.addNewBookViews(); - CTBookView bv = bvs.addNewWorkbookView(); - bv.setActiveTab(0); + setBookViewsIfMissing(); workbook.addNewSheets(); POIXMLProperties.ExtendedProperties expProps = getProperties().getExtendedProperties(); @@ -476,6 +458,14 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook { sheets = new ArrayList<>(); pivotTables = new ArrayList<>(); } + + private void setBookViewsIfMissing() { + if(!workbook.isSetBookViews()) { + CTBookViews bvs = workbook.addNewBookViews(); + CTBookView bv = bvs.addNewWorkbookView(); + bv.setActiveTab(0); + } + } /** * Create a new SpreadsheetML package and setup the default minimal content