You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ta...@apache.org on 2017/03/17 10:10:00 UTC

svn commit: r1787320 - in /poi/trunk/src/ooxml: java/org/apache/poi/ java/org/apache/poi/xssf/ java/org/apache/poi/xssf/binary/ java/org/apache/poi/xssf/eventusermodel/ java/org/apache/poi/xssf/extractor/ java/org/apache/poi/xssf/model/ java/org/apache...

Author: tallison
Date: Fri Mar 17 10:09:59 2017
New Revision: 1787320

URL: http://svn.apache.org/viewvc?rev=1787320&view=rev
Log:
60826 -- clean up. Many, many thanks to Javen O'Neal's code review!

Modified:
    poi/trunk/src/ooxml/java/org/apache/poi/POIXMLRelation.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/XLSBUnsupportedException.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBCellHeader.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBCellRange.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBComment.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBCommentsTable.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBHeaderFooter.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBHeaderFooters.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBHyperlinksTable.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBParseException.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBParser.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRecordType.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRelation.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRichStr.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRichTextString.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBSharedStringsTable.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBSheetHandler.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBStylesTable.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBUtils.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFHyperlinkRecord.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/package.html
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFBReader.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFBEventBasedExcelExtractor.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFImportFromXML.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/model/SharedStringsTable.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCell.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFFormulaEvaluator.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFName.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRelation.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFBReader.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFBEventBasedExcelExtractor.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFEventBasedExcelExtractor.java

Modified: poi/trunk/src/ooxml/java/org/apache/poi/POIXMLRelation.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/POIXMLRelation.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/POIXMLRelation.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/POIXMLRelation.java Fri Mar 17 10:09:59 2017
@@ -16,11 +16,26 @@
 ==================================================================== */
 package org.apache.poi;
 
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Iterator;
+
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.openxml4j.opc.PackagePart;
+import org.apache.poi.openxml4j.opc.PackagePartName;
+import org.apache.poi.openxml4j.opc.PackageRelationship;
+import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
+import org.apache.poi.openxml4j.opc.PackagingURIHelper;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
+
 /**
  * Represents a descriptor of a OOXML relation.
  */
 public abstract class POIXMLRelation {
 
+    private static final POILogger log = POILogFactory.getLogger(POIXMLRelation.class);
+
     /**
      * Describes the content stored in a part.
      */
@@ -131,4 +146,25 @@ public abstract class POIXMLRelation {
     public Class<? extends POIXMLDocumentPart> getRelationClass(){
         return _cls;
     }
+
+    /**
+     *  Fetches the InputStream to read the contents, based
+     *  of the specified core part, for which we are defined
+     *  as a suitable relationship
+     *
+     *  @since 3.16-beta3
+     */
+    public InputStream getContents(PackagePart corePart) throws IOException, InvalidFormatException {
+        PackageRelationshipCollection prc =
+                corePart.getRelationshipsByType(getRelation());
+        Iterator<PackageRelationship> it = prc.iterator();
+        if(it.hasNext()) {
+            PackageRelationship rel = it.next();
+            PackagePartName relName = PackagingURIHelper.createPartName(rel.getTargetURI());
+            PackagePart part = corePart.getPackage().getPart(relName);
+            return part.getInputStream();
+        }
+        log.log(POILogger.WARN, "No part " + getDefaultFileName() + " found");
+        return null;
+    }
 }

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/XLSBUnsupportedException.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/XLSBUnsupportedException.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/XLSBUnsupportedException.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/XLSBUnsupportedException.java Fri Mar 17 10:09:59 2017
@@ -20,7 +20,7 @@ import org.apache.poi.UnsupportedFileFor
 
 /**
  * We don't support .xlsb for read and write via {@link org.apache.poi.xssf.usermodel.XSSFWorkbook}.
- * As of POI 3.15-beta3, we do support streaming reading of xlsb files
+ * As of POI 3.16-beta3, we do support streaming reading of xlsb files
  * via {@link org.apache.poi.xssf.eventusermodel.XSSFBReader}
  */
 public class XLSBUnsupportedException extends UnsupportedFileFormatException {

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBCellHeader.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBCellHeader.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBCellHeader.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBCellHeader.java Fri Mar 17 10:09:59 2017
@@ -17,7 +17,6 @@
 
 package org.apache.poi.xssf.binary;
 
-import org.apache.poi.ss.util.CellReference;
 import org.apache.poi.util.Internal;
 import org.apache.poi.util.LittleEndian;
 
@@ -25,6 +24,8 @@ import org.apache.poi.util.LittleEndian;
  * This class encapsulates what the spec calls a "Cell" object.
  * I added "Header" to clarify that this does not contain the contents
  * of the cell, only the column number, the style id and the phonetic boolean
+ *
+ * @since 3.16-beta3
  */
 @Internal
 class XSSFBCellHeader {
@@ -61,10 +62,6 @@ class XSSFBCellHeader {
         return colNum;
     }
 
-    String formatAddressAsString() {
-        return CellReference.convertNumToColString(colNum)+(rowNum+1);
-    }
-
     int getStyleIdx() {
         return styleIdx;
     }

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBCellRange.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBCellRange.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBCellRange.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBCellRange.java Fri Mar 17 10:09:59 2017
@@ -21,10 +21,14 @@ package org.apache.poi.xssf.binary;
 import org.apache.poi.util.Internal;
 import org.apache.poi.util.LittleEndian;
 
+/**
+ * @since 3.16-beta3
+ */
 @Internal
 class XSSFBCellRange {
+    //TODO: Convert this to generate an AreaReference
 
-    public final static int length = 4* LittleEndian.INT_SIZE;
+    public static final int length = 4* LittleEndian.INT_SIZE;
     /**
      * Parses an RfX cell range from the data starting at the offset.
      * This performs no range checking.

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBComment.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBComment.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBComment.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBComment.java Fri Mar 17 10:09:59 2017
@@ -24,6 +24,9 @@ import org.apache.poi.ss.util.CellAddres
 import org.apache.poi.util.Internal;
 import org.apache.poi.xssf.usermodel.XSSFComment;
 
+/**
+ * @since 3.16-beta3
+ */
 @Internal
 class XSSFBComment extends XSSFComment {
 

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBCommentsTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBCommentsTable.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBCommentsTable.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBCommentsTable.java Fri Mar 17 10:09:59 2017
@@ -20,7 +20,6 @@ package org.apache.poi.xssf.binary;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
-import java.util.Comparator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -31,10 +30,13 @@ import org.apache.poi.ss.util.CellAddres
 import org.apache.poi.util.Internal;
 import org.apache.poi.util.LittleEndian;
 
+/**
+ * @since 3.16-beta3
+ */
 @Internal
 public class XSSFBCommentsTable extends XSSFBParser {
 
-    private Map<CellAddress, XSSFBComment> comments = new TreeMap<CellAddress, XSSFBComment>(new CellAddressComparator());//String is the cellAddress A1
+    private Map<CellAddress, XSSFBComment> comments = new TreeMap<CellAddress, XSSFBComment>();
     private Queue<CellAddress> commentAddresses = new LinkedList<CellAddress>();
     private List<String> authors = new ArrayList<String>();
 
@@ -92,22 +94,4 @@ public class XSSFBCommentsTable extends
         }
         return comments.get(cellAddress);
     }
-
-    private final static class CellAddressComparator implements Comparator<CellAddress> {
-
-        @Override
-        public int compare(CellAddress o1, CellAddress o2) {
-            if (o1.getRow() < o2.getRow()) {
-                return -1;
-            } else if (o1.getRow() > o2.getRow()) {
-                return 1;
-            }
-            if (o1.getColumn() < o2.getColumn()) {
-                return -1;
-            } else if (o1.getColumn() > o2.getColumn()) {
-                return 1;
-            }
-            return 0;
-        }
-    }
 }

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBHeaderFooter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBHeaderFooter.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBHeaderFooter.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBHeaderFooter.java Fri Mar 17 10:09:59 2017
@@ -20,12 +20,17 @@ package org.apache.poi.xssf.binary;
 import org.apache.poi.util.Internal;
 import org.apache.poi.xssf.usermodel.helpers.HeaderFooterHelper;
 
+/**
+ * @since 3.16-beta3
+ */
 @Internal
 class XSSFBHeaderFooter {
+
+    private static final HeaderFooterHelper HEADER_FOOTER_HELPER = new HeaderFooterHelper();
+
     private final String headerFooterTypeLabel;
     private final boolean isHeader;
     private String rawString;
-    private HeaderFooterHelper headerFooterHelper = new HeaderFooterHelper();
 
 
     XSSFBHeaderFooter(String headerFooterTypeLabel, boolean isHeader) {
@@ -43,9 +48,9 @@ class XSSFBHeaderFooter {
 
     String getString() {
         StringBuilder sb = new StringBuilder();
-        String left = headerFooterHelper.getLeftSection(rawString);
-        String center = headerFooterHelper.getCenterSection(rawString);
-        String right = headerFooterHelper.getRightSection(rawString);
+        String left = HEADER_FOOTER_HELPER.getLeftSection(rawString);
+        String center = HEADER_FOOTER_HELPER.getCenterSection(rawString);
+        String right = HEADER_FOOTER_HELPER.getRightSection(rawString);
         if (left != null && left.length() > 0) {
             sb.append(left);
         }

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBHeaderFooters.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBHeaderFooters.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBHeaderFooters.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBHeaderFooters.java Fri Mar 17 10:09:59 2017
@@ -18,10 +18,14 @@ package org.apache.poi.xssf.binary;
 
 import org.apache.poi.util.Internal;
 
+/**
+ * @since 3.16-beta3
+ */
 @Internal
 class XSSFBHeaderFooters {
 
     public static XSSFBHeaderFooters parse(byte[] data) {
+        //parse these at some point.
         boolean diffOddEven = false;
         boolean diffFirst = false;
         boolean scaleWDoc = false;

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBHyperlinksTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBHyperlinksTable.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBHyperlinksTable.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBHyperlinksTable.java Fri Mar 17 10:09:59 2017
@@ -36,10 +36,13 @@ import org.apache.poi.ss.util.CellRangeU
 import org.apache.poi.util.Internal;
 import org.apache.poi.xssf.usermodel.XSSFRelation;
 
+/**
+ * @since 3.16-beta3
+ */
 @Internal
 public class XSSFBHyperlinksTable {
 
-    private final static BitSet RECORDS = new BitSet();
+    private static final BitSet RECORDS = new BitSet();
 
 
     static {

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBParseException.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBParseException.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBParseException.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBParseException.java Fri Mar 17 10:09:59 2017
@@ -18,7 +18,9 @@
 package org.apache.poi.xssf.binary;
 
 /**
- * Parse exception while reading an xssfb
+ * Parse exception while reading an xssfb.
+ *
+ * @since 3.16-beta3
  */
 public class XSSFBParseException extends RuntimeException {
 

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBParser.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBParser.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBParser.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBParser.java Fri Mar 17 10:09:59 2017
@@ -25,9 +25,11 @@ import org.apache.poi.util.Internal;
 import org.apache.poi.util.LittleEndianInputStream;
 
 /**
- * Experimental parser for Microsoft's ooxml xssfb format.
+ * Experimental parser for Microsoft's ooxml xlsb format.
  * Not thread safe, obviously.  Need to create a new one
  * for each thread.
+ *
+ * @since 3.16-beta3
  */
 @Internal
 public abstract class XSSFBParser {
@@ -40,6 +42,11 @@ public abstract class XSSFBParser {
         records = null;
     }
 
+    /**
+     *
+     * @param is inputStream
+     * @param bitSet call {@link #handleRecord(int, byte[])} only on those records in this bitSet
+     */
     XSSFBParser(InputStream is, BitSet bitSet) {
         this.is = new LittleEndianInputStream(is);
         records = bitSet;
@@ -98,7 +105,7 @@ public abstract class XSSFBParser {
     //However, on a large Excel spreadsheet, this parser was 1/3 faster than
     //the ooxml sax parser (5 seconds for xssfb and 7.5 seconds for xssf.
     //The code is far cleaner to have the parser read all
-    //of the data rather than having every component promise that it read
+    //of the data rather than having every component promise that it will read
     //the correct amount.
     abstract public void handleRecord(int recordType, byte[] data) throws XSSFBParseException;
 

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRecordType.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRecordType.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRecordType.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRecordType.java Fri Mar 17 10:09:59 2017
@@ -17,8 +17,14 @@
 
 package org.apache.poi.xssf.binary;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import org.apache.poi.util.Internal;
 
+/**
+ * @since 3.16-beta3
+ */
 @Internal
 public enum XSSFBRecordType {
 
@@ -69,6 +75,14 @@ public enum XSSFBRecordType {
     BrtBundleSh(156), //defines worksheet in wb part
     Unimplemented(-1);
 
+    private static final Map<Integer, XSSFBRecordType> TYPE_MAP =
+            new HashMap<Integer, XSSFBRecordType>();
+
+    static {
+        for (XSSFBRecordType type : XSSFBRecordType.values()) {
+            TYPE_MAP.put(type.getId(), type);
+        }
+    }
 
     private final int id;
 
@@ -81,12 +95,11 @@ public enum XSSFBRecordType {
     }
 
     public static XSSFBRecordType lookup(int id) {
-        for (XSSFBRecordType r : XSSFBRecordType.values()) {
-            if (r.id == id) {
-                return r;
-            }
+        XSSFBRecordType type = TYPE_MAP.get(id);
+        if (type == null) {
+            return Unimplemented;
         }
-        return Unimplemented;
+        return type;
     }
 
 }

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRelation.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRelation.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRelation.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRelation.java Fri Mar 17 10:09:59 2017
@@ -17,19 +17,9 @@
 
 package org.apache.poi.xssf.binary;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Iterator;
-
 import org.apache.poi.POIXMLDocumentPart;
 import org.apache.poi.POIXMLRelation;
-import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
-import org.apache.poi.openxml4j.opc.PackagePart;
-import org.apache.poi.openxml4j.opc.PackagePartName;
-import org.apache.poi.openxml4j.opc.PackageRelationship;
-import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
 import org.apache.poi.openxml4j.opc.PackageRelationshipTypes;
-import org.apache.poi.openxml4j.opc.PackagingURIHelper;
 import org.apache.poi.util.Internal;
 import org.apache.poi.util.POILogFactory;
 import org.apache.poi.util.POILogger;
@@ -64,22 +54,4 @@ public class XSSFBRelation extends POIXM
         super(type, rel, defaultName, cls);
     }
 
-    /**
-     * Fetches the InputStream to read the contents, based
-     * of the specified core part, for which we are defined
-     * as a suitable relationship
-     */
-    public InputStream getContents(PackagePart corePart) throws IOException, InvalidFormatException {
-        PackageRelationshipCollection prc =
-                corePart.getRelationshipsByType(getRelation());
-        Iterator<PackageRelationship> it = prc.iterator();
-        if (it.hasNext()) {
-            PackageRelationship rel = it.next();
-            PackagePartName relName = PackagingURIHelper.createPartName(rel.getTargetURI());
-            PackagePart part = corePart.getPackage().getPart(relName);
-            return part.getInputStream();
-        }
-        log.log(POILogger.WARN, "No part " + getDefaultFileName() + " found");
-        return null;
-    }
 }

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRichStr.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRichStr.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRichStr.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRichStr.java Fri Mar 17 10:09:59 2017
@@ -19,6 +19,9 @@ package org.apache.poi.xssf.binary;
 
 import org.apache.poi.util.Internal;
 
+/**
+ * @since 3.16-beta3
+ */
 @Internal
 class XSSFBRichStr {
 

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRichTextString.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRichTextString.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRichTextString.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBRichTextString.java Fri Mar 17 10:09:59 2017
@@ -19,11 +19,14 @@ package org.apache.poi.xssf.binary;
 
 import org.apache.poi.ss.usermodel.Font;
 import org.apache.poi.util.Internal;
+import org.apache.poi.util.NotImplemented;
 import org.apache.poi.xssf.usermodel.XSSFRichTextString;
 
 /**
  * Wrapper class around String so that we can use it in Comment.
  * Nothing has been implemented yet except for {@link #getString()}.
+ *
+ * @since 3.16-beta3
  */
 @Internal
 class XSSFBRichTextString extends XSSFRichTextString {
@@ -34,21 +37,25 @@ class XSSFBRichTextString extends XSSFRi
     }
 
     @Override
+    @NotImplemented
     public void applyFont(int startIndex, int endIndex, short fontIndex) {
 
     }
 
     @Override
+    @NotImplemented
     public void applyFont(int startIndex, int endIndex, Font font) {
 
     }
 
     @Override
+    @NotImplemented
     public void applyFont(Font font) {
 
     }
 
     @Override
+    @NotImplemented
     public void clearFormatting() {
 
     }
@@ -64,16 +71,19 @@ class XSSFBRichTextString extends XSSFRi
     }
 
     @Override
+    @NotImplemented
     public int numFormattingRuns() {
         return 0;
     }
 
     @Override
+    @NotImplemented
     public int getIndexOfFormattingRun(int index) {
         return 0;
     }
 
     @Override
+    @NotImplemented
     public void applyFont(short fontIndex) {
 
     }

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBSharedStringsTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBSharedStringsTable.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBSharedStringsTable.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBSharedStringsTable.java Fri Mar 17 10:09:59 2017
@@ -28,6 +28,9 @@ import org.apache.poi.util.Internal;
 import org.apache.poi.util.LittleEndian;
 import org.xml.sax.SAXException;
 
+/**
+ * @since 3.16-beta3
+ */
 @Internal
 public class XSSFBSharedStringsTable {
 
@@ -69,8 +72,6 @@ public class XSSFBSharedStringsTable {
 
     /**
      * Like POIXMLDocumentPart constructor
-     *
-     * @since POI 3.14-Beta3
      */
     XSSFBSharedStringsTable(PackagePart part) throws IOException, SAXException {
         readFrom(part.getInputStream());
@@ -81,8 +82,14 @@ public class XSSFBSharedStringsTable {
         reader.parse();
     }
 
+    /**
+     *
+     * @return a defensive copy of strings
+     */
     public List<String> getItems() {
-        return strings;
+        List<String> ret = new ArrayList<String>(strings.size());
+        ret.addAll(strings);
+        return ret;
     }
 
     public String getEntryAt(int i) {

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBSheetHandler.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBSheetHandler.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBSheetHandler.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBSheetHandler.java Fri Mar 17 10:09:59 2017
@@ -29,10 +29,13 @@ import org.apache.poi.xssf.eventusermode
 import org.apache.poi.xssf.usermodel.XSSFComment;
 import org.apache.poi.xssf.usermodel.XSSFRichTextString;
 
+/**
+ * @since 3.16-beta3
+ */
 @Internal
 public class XSSFBSheetHandler extends XSSFBParser {
 
-    private final static int CHECK_ALL_ROWS = -1;
+    private static final int CHECK_ALL_ROWS = -1;
 
     private final XSSFBSharedStringsTable stringsTable;
     private final XSSFSheetXMLHandler.SheetContentsHandler handler;

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBStylesTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBStylesTable.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBStylesTable.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBStylesTable.java Fri Mar 17 10:09:59 2017
@@ -28,6 +28,12 @@ import org.apache.poi.POIXMLException;
 import org.apache.poi.ss.usermodel.BuiltinFormats;
 import org.apache.poi.util.Internal;
 
+/**
+ * This is a very thin shim to gather number formats from styles.bin
+ * files.
+ *
+ * @since 3.16-beta3
+ */
 @Internal
 public class XSSFBStylesTable extends XSSFBParser {
 

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBUtils.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBUtils.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBUtils.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBUtils.java Fri Mar 17 10:09:59 2017
@@ -24,6 +24,9 @@ import org.apache.poi.POIXMLException;
 import org.apache.poi.util.Internal;
 import org.apache.poi.util.LittleEndian;
 
+/**
+ * @since 3.16-beta3
+ */
 @Internal
 public class XSSFBUtils {
 

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFHyperlinkRecord.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFHyperlinkRecord.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFHyperlinkRecord.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFHyperlinkRecord.java Fri Mar 17 10:09:59 2017
@@ -29,6 +29,7 @@ import org.apache.poi.util.Internal;
  * The {@link #display} is often empty and should be filled from
  * the contents of the anchor cell.
  *
+ * @since 3.16-beta3
  */
 @Internal
 public class XSSFHyperlinkRecord {

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/package.html
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/package.html?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/package.html (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/package.html Fri Mar 17 10:09:59 2017
@@ -27,17 +27,17 @@ for streaming/read-only processing of xl
 </p>
 <p>
     POI does not yet support opening .xlsb files with XSSFWorkbook, but you can read files with XSSFBReader
-    in o.a.p.xssf.eventusermodel.
+    in org.apache.poi.xssf.eventusermodel.
 </p>
 <p>
-    This feature was added in poi-3.15-beta3 and should be considered experimental.  Most classes
+    This feature was added in poi-3.16-beta3 and should be considered experimental.  Most classes
     have been marked @Internal and the API is subject to change.
 </p>
 <h2>Related Documentation</h2>
 
 For overviews, tutorials, examples, guides, and tool documentation, please see:
 <ul>
-<li><a href="http://poi.apache.org">Apache POI Project</a>
+<li><a href="https://poi.apache.org">Apache POI Project</a>
 </ul>
 
 </body>

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFBReader.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFBReader.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFBReader.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFBReader.java Fri Mar 17 10:09:59 2017
@@ -44,6 +44,8 @@ import org.apache.poi.xssf.usermodel.XSS
 
 /**
  * Reader for xlsb files.
+ *
+ * @since 3.16-beta3
  */
 public class XSSFBReader extends XSSFReader {
     /**

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java Fri Mar 17 10:09:59 2017
@@ -380,7 +380,7 @@ public class XSSFReader {
         }
     }
 
-    protected final static class XSSFSheetRef {
+    protected static final class XSSFSheetRef {
         //do we need to store sheetId, too?
         private final String id;
         private final String name;
@@ -401,9 +401,9 @@ public class XSSFReader {
 
     //scrapes sheet reference info and order from workbook.xml
     private static class XMLSheetRefReader extends DefaultHandler {
-        private final static String SHEET = "sheet";
-        private final static String ID = "id";
-        private final static String NAME = "name";
+        private static final String SHEET = "sheet";
+        private static final String ID = "id";
+        private static final String NAME = "name";
 
         private final List<XSSFSheetRef> sheetRefs = new LinkedList();
 

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFBEventBasedExcelExtractor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFBEventBasedExcelExtractor.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFBEventBasedExcelExtractor.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFBEventBasedExcelExtractor.java Fri Mar 17 10:09:59 2017
@@ -23,6 +23,8 @@ import org.apache.poi.POIXMLTextExtracto
 import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
 import org.apache.poi.openxml4j.opc.OPCPackage;
 import org.apache.poi.ss.usermodel.DataFormatter;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
 import org.apache.poi.xssf.binary.XSSFBCommentsTable;
 import org.apache.poi.xssf.binary.XSSFBHyperlinksTable;
 import org.apache.poi.xssf.binary.XSSFBSharedStringsTable;
@@ -37,11 +39,15 @@ import org.xml.sax.SAXException;
 /**
  * Implementation of a text extractor or xlsb Excel
  * files that uses SAX-like binary parsing.
+ *
+ * @since 3.16-beta3
  */
 public class XSSFBEventBasedExcelExtractor extends XSSFEventBasedExcelExtractor
         implements org.apache.poi.ss.extractor.ExcelExtractor {
 
-    public static final XSSFRelation[] SUPPORTED_TYPES = new XSSFRelation[] {
+    private static final POILogger LOGGER = POILogFactory.getLogger(XSSFBEventBasedExcelExtractor.class);
+
+    public static final XSSFRelation[] SUPPORTED_TYPES = new XSSFRelation[]{
             XSSFRelation.XLSB_BINARY_WORKBOOK
     };
 
@@ -93,15 +99,15 @@ public class XSSFBEventBasedExcelExtract
             throws IOException, SAXException {
 
         DataFormatter formatter;
-        if (locale == null) {
+        if (getLocale() == null) {
             formatter = new DataFormatter();
         } else {
-            formatter = new DataFormatter(locale);
+            formatter = new DataFormatter(getLocale());
         }
 
         XSSFBSheetHandler xssfbSheetHandler = new XSSFBSheetHandler(
                 sheetInputStream,
-                styles, comments, strings, sheetContentsExtractor, formatter, formulasNotResults
+                styles, comments, strings, sheetContentsExtractor, formatter, getFormulasNotResults()
         );
         xssfbSheetHandler.parse();
     }
@@ -111,8 +117,8 @@ public class XSSFBEventBasedExcelExtract
      */
     public String getText() {
         try {
-            XSSFBSharedStringsTable strings = new XSSFBSharedStringsTable(container);
-            XSSFBReader xssfbReader = new XSSFBReader(container);
+            XSSFBSharedStringsTable strings = new XSSFBSharedStringsTable(getPackage());
+            XSSFBReader xssfbReader = new XSSFBReader(getPackage());
             XSSFBStylesTable styles = xssfbReader.getXSSFBStylesTable();
             XSSFBReader.SheetIterator iter = (XSSFBReader.SheetIterator) xssfbReader.getSheetsData();
 
@@ -121,23 +127,23 @@ public class XSSFBEventBasedExcelExtract
             XSSFBHyperlinksTable hyperlinksTable = null;
             while (iter.hasNext()) {
                 InputStream stream = iter.next();
-                if (includeSheetNames) {
+                if (getIncludeSheetNames()) {
                     text.append(iter.getSheetName());
                     text.append('\n');
                 }
                 if (handleHyperlinksInCells) {
                     hyperlinksTable = new XSSFBHyperlinksTable(iter.getSheetPart());
                 }
-                XSSFBCommentsTable comments = includeCellComments ? iter.getXSSFBSheetComments() : null;
+                XSSFBCommentsTable comments = getIncludeCellComments() ? iter.getXSSFBSheetComments() : null;
                 processSheet(sheetExtractor, styles, comments, strings, stream);
-                if (includeHeadersFooters) {
+                if (getIncludeHeadersFooters()) {
                     sheetExtractor.appendHeaderText(text);
                 }
                 sheetExtractor.appendCellText(text);
-                if (includeTextBoxes) {
+                if (getIncludeTextBoxes()) {
                     processShapes(iter.getShapes(), text);
                 }
-                if (includeHeadersFooters) {
+                if (getIncludeHeadersFooters()) {
                     sheetExtractor.appendFooterText(text);
                 }
                 sheetExtractor.reset();
@@ -146,13 +152,13 @@ public class XSSFBEventBasedExcelExtract
 
             return text.toString();
         } catch (IOException e) {
-            System.err.println(e);
+            LOGGER.log(POILogger.WARN, e);
             return null;
         } catch (SAXException se) {
-            System.err.println(se);
+            LOGGER.log(POILogger.WARN, se);
             return null;
         } catch (OpenXML4JException o4je) {
-            System.err.println(o4je);
+            LOGGER.log(POILogger.WARN, o4je);
             return null;
         }
     }

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java Fri Mar 17 10:09:59 2017
@@ -32,6 +32,8 @@ import org.apache.poi.POIXMLTextExtracto
 import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
 import org.apache.poi.openxml4j.opc.OPCPackage;
 import org.apache.poi.ss.usermodel.DataFormatter;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
 import org.apache.poi.util.SAXHelper;
 import org.apache.poi.xssf.eventusermodel.ReadOnlySharedStringsTable;
 import org.apache.poi.xssf.eventusermodel.XSSFReader;
@@ -54,15 +56,18 @@ import org.xml.sax.XMLReader;
  */
 public class XSSFEventBasedExcelExtractor extends POIXMLTextExtractor 
        implements org.apache.poi.ss.extractor.ExcelExtractor {
-    OPCPackage container;
+
+    private static final POILogger LOGGER = POILogFactory.getLogger(XSSFEventBasedExcelExtractor.class);
+
+    private OPCPackage container;
     private POIXMLProperties properties;
 
-    Locale locale;
-    boolean includeTextBoxes = true;
-    boolean includeSheetNames = true;
-    boolean includeCellComments = false;
-    boolean includeHeadersFooters = true;
-    boolean formulasNotResults = false;
+    private Locale locale;
+    private boolean includeTextBoxes = true;
+    private boolean includeSheetNames = true;
+    private boolean includeCellComments = false;
+    private boolean includeHeadersFooters = true;
+    private boolean formulasNotResults = false;
     private boolean concatenatePhoneticRuns = true;
 
     public XSSFEventBasedExcelExtractor(String path) throws XmlException, OpenXML4JException, IOException {
@@ -93,6 +98,18 @@ public class XSSFEventBasedExcelExtracto
     public void setIncludeSheetNames(boolean includeSheetNames) {
         this.includeSheetNames = includeSheetNames;
     }
+
+
+    /**
+     *
+     * @return whether to include sheet names
+     *
+     * @since 3.16-beta3
+     */
+    public boolean getIncludeSheetNames() {
+        return includeSheetNames;
+    }
+
     /**
      * Should we return the formula itself, and not
      *  the result it produces? Default is false
@@ -100,12 +117,33 @@ public class XSSFEventBasedExcelExtracto
     public void setFormulasNotResults(boolean formulasNotResults) {
         this.formulasNotResults = formulasNotResults;
     }
+
+    /**
+     *
+     * @return whether to include formulas but not results
+     *
+     * @since 3.16-beta3
+     */
+    public boolean getFormulasNotResults() {
+        return formulasNotResults;
+    }
+
     /**
      * Should headers and footers be included? Default is true
      */
     public void setIncludeHeadersFooters(boolean includeHeadersFooters) {
         this.includeHeadersFooters = includeHeadersFooters;
     }
+
+    /**
+     *
+     * @return whether or not to include headers and footers
+     *
+     * @since 3.16-beta3
+     */
+    public boolean getIncludeHeadersFooters() {
+        return includeHeadersFooters;
+    }
     /**
      * Should text from textboxes be included? Default is true
      */
@@ -114,6 +152,15 @@ public class XSSFEventBasedExcelExtracto
     }
 
     /**
+     *
+     * @return whether or not to extract textboxes
+     *
+     * @since 3.16-beta3
+     */
+    public boolean getIncludeTextBoxes() {
+        return includeTextBoxes;
+    }
+    /**
      * Should cell comments be included? Default is false
      */
     public void setIncludeCellComments(boolean includeCellComments) {
@@ -121,6 +168,14 @@ public class XSSFEventBasedExcelExtracto
     }
 
     /**
+     * @return whether cell comments should be included
+     *
+     * @since 3.16-beta3
+     */
+    public boolean getIncludeCellComments() {
+        return includeCellComments;
+    }
+    /**
      * Concatenate text from &lt;rPh&gt; text elements in SharedStringsTable
      * Default is true;
      * @param concatenatePhoneticRuns
@@ -133,6 +188,14 @@ public class XSSFEventBasedExcelExtracto
     }
 
     /**
+     * @return locale
+     *
+     * @since 3.16-beta3
+     */
+    public Locale getLocale() {
+        return locale;
+    }
+    /**
      * Returns the opened OPCPackage container.
      */
     @Override
@@ -162,6 +225,8 @@ public class XSSFEventBasedExcelExtracto
         return properties.getCustomProperties();
     }
 
+
+
     /**
      * Processes the given sheet
      */
@@ -229,13 +294,13 @@ public class XSSFEventBasedExcelExtracto
           
           return text.toString();
        } catch(IOException e) {
-          System.err.println(e);
+          LOGGER.log(POILogger.WARN, e);
           return null;
        } catch(SAXException se) {
-          System.err.println(se);
+           LOGGER.log(POILogger.WARN, se);
           return null;
        } catch(OpenXML4JException o4je) {
-          System.err.println(o4je);
+           LOGGER.log(POILogger.WARN, o4je);
           return null;
        }
    }

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFImportFromXML.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFImportFromXML.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFImportFromXML.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFImportFromXML.java Fri Mar 17 10:09:59 2017
@@ -71,7 +71,7 @@ public class XSSFImportFromXML {
 
     private final XSSFMap _map;
 
-    private final static POILogger logger = POILogFactory.getLogger(XSSFImportFromXML.class);
+    private static final POILogger logger = POILogFactory.getLogger(XSSFImportFromXML.class);
 
     public XSSFImportFromXML(XSSFMap map) {
         _map = map;

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/model/SharedStringsTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/model/SharedStringsTable.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/model/SharedStringsTable.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/model/SharedStringsTable.java Fri Mar 17 10:09:59 2017
@@ -85,7 +85,7 @@ public class SharedStringsTable extends
 
     private SstDocument _sstDoc;
 
-    private final static XmlOptions options = new XmlOptions();
+    private static final XmlOptions options = new XmlOptions();
     static {
         options.put( XmlOptions.SAVE_INNER );
      	options.put( XmlOptions.SAVE_AGGRESSIVE_NAMESPACES );

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCell.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCell.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCell.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCell.java Fri Mar 17 10:09:59 2017
@@ -1069,8 +1069,8 @@ public class SXSSFCell implements Cell {
 
     static abstract class Property
     {
-        final static int COMMENT=1;
-        final static int HYPERLINK=2;
+        static final int COMMENT=1;
+        static final int HYPERLINK=2;
         Object _value;
         Property _next;
         public Property(Object value)

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFFormulaEvaluator.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFFormulaEvaluator.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFFormulaEvaluator.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFFormulaEvaluator.java Fri Mar 17 10:09:59 2017
@@ -34,7 +34,7 @@ import org.apache.poi.xssf.usermodel.Bas
  *  lookup cells within the current Window.
  */
 public final class SXSSFFormulaEvaluator extends BaseXSSFFormulaEvaluator {
-    private final static POILogger logger = POILogFactory.getLogger(SXSSFFormulaEvaluator.class);
+    private static final POILogger logger = POILogFactory.getLogger(SXSSFFormulaEvaluator.class);
     
     private SXSSFWorkbook wb;
     

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFName.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFName.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFName.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFName.java Fri Mar 17 10:09:59 2017
@@ -59,19 +59,19 @@ public final class XSSFName implements N
     /**
      * A built-in defined name that specifies the workbook's print area
      */
-    public final static String BUILTIN_PRINT_AREA = "_xlnm.Print_Area";
+    public static final String BUILTIN_PRINT_AREA = "_xlnm.Print_Area";
 
     /**
      * A built-in defined name that specifies the row(s) or column(s) to repeat
      * at the top of each printed page.
      */
-    public final static String BUILTIN_PRINT_TITLE = "_xlnm.Print_Titles";
+    public static final String BUILTIN_PRINT_TITLE = "_xlnm.Print_Titles";
 
     /**
      * A built-in defined name that refers to a range containing the criteria values
      * to be used in applying an advanced filter to a range of data
      */
-    public final static String BUILTIN_CRITERIA = "_xlnm.Criteria:";
+    public static final String BUILTIN_CRITERIA = "_xlnm.Criteria:";
 
 
     /**
@@ -79,7 +79,7 @@ public final class XSSFName implements N
      * output values resulting from applying an advanced filter criteria to a source
      * range
      */
-    public final static String BUILTIN_EXTRACT = "_xlnm.Extract:";
+    public static final String BUILTIN_EXTRACT = "_xlnm.Extract:";
 
     /**
      * ?an be one of the following
@@ -88,22 +88,22 @@ public final class XSSFName implements N
      * <li> This defined name refers to a range to which an AutoFilter has been
      * applied
      */
-    public final static String BUILTIN_FILTER_DB = "_xlnm._FilterDatabase";
+    public static final String BUILTIN_FILTER_DB = "_xlnm._FilterDatabase";
 
     /**
      * A built-in defined name that refers to a consolidation area
      */
-    public final static String BUILTIN_CONSOLIDATE_AREA = "_xlnm.Consolidate_Area";
+    public static final String BUILTIN_CONSOLIDATE_AREA = "_xlnm.Consolidate_Area";
 
     /**
      * A built-in defined name that specified that the range specified is from a database data source
      */
-    public final static String BUILTIN_DATABASE = "_xlnm.Database";
+    public static final String BUILTIN_DATABASE = "_xlnm.Database";
 
     /**
      * A built-in defined name that refers to a sheet title.
      */
-    public final static String BUILTIN_SHEET_TITLE = "_xlnm.Sheet_Title";
+    public static final String BUILTIN_SHEET_TITLE = "_xlnm.Sheet_Title";
 
     private XSSFWorkbook _workbook;
     private CTDefinedName _ctName;

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java Fri Mar 17 10:09:59 2017
@@ -18,6 +18,7 @@ package org.apache.poi.xssf.usermodel;
 
 import static org.apache.poi.POIXMLTypeLoader.DEFAULT_XML_OPTIONS;
 
+import javax.xml.namespace.QName;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -25,8 +26,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-import javax.xml.namespace.QName;
-
 import org.apache.poi.POIXMLDocumentPart;
 import org.apache.poi.openxml4j.opc.PackagePart;
 import org.apache.poi.ss.usermodel.Cell;
@@ -40,13 +39,32 @@ import org.apache.poi.util.Beta;
 import org.apache.poi.util.Internal;
 import org.apache.xmlbeans.XmlException;
 import org.apache.xmlbeans.XmlOptions;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCacheSource;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColFields;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDataField;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDataFields;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTField;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTItems;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTLocation;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageField;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageFields;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPivotCacheDefinition;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPivotField;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPivotFields;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPivotTableDefinition;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPivotTableStyle;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRowFields;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheetSource;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.STAxis;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.STDataConsolidateFunction;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.STItemType;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.STSourceType;
 
 public class XSSFPivotTable extends POIXMLDocumentPart {
 
-    protected final static short CREATED_VERSION = 3;
-    protected final static short MIN_REFRESHABLE_VERSION = 3;
-    protected final static short UPDATED_VERSION = 3;
+    protected static final short CREATED_VERSION = 3;
+    protected static final short MIN_REFRESHABLE_VERSION = 3;
+    protected static final short UPDATED_VERSION = 3;
 
     private CTPivotTableDefinition pivotTableDefinition;
     private XSSFPivotCacheDefinition pivotCacheDefinition;

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRelation.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRelation.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRelation.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRelation.java Fri Mar 17 10:09:59 2017
@@ -16,24 +16,13 @@
 ==================================================================== */
 package org.apache.poi.xssf.usermodel;
 
-import java.io.IOException;
-import java.io.InputStream;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
 
 import org.apache.poi.POIXMLDocument;
 import org.apache.poi.POIXMLDocumentPart;
 import org.apache.poi.POIXMLRelation;
-import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
-import org.apache.poi.openxml4j.opc.PackagePart;
-import org.apache.poi.openxml4j.opc.PackagePartName;
-import org.apache.poi.openxml4j.opc.PackageRelationship;
-import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
 import org.apache.poi.openxml4j.opc.PackageRelationshipTypes;
-import org.apache.poi.openxml4j.opc.PackagingURIHelper;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.xssf.model.CalculationChain;
 import org.apache.poi.xssf.model.CommentsTable;
 import org.apache.poi.xssf.model.ExternalLinksTable;
@@ -49,8 +38,6 @@ import org.apache.poi.xssf.model.ThemesT
  */
 public final class XSSFRelation extends POIXMLRelation {
 
-    private static final POILogger log = POILogFactory.getLogger(XSSFRelation.class);
-
     /**
      * A map to lookup POIXMLRelation by its relation type
      */
@@ -369,25 +356,6 @@ public final class XSSFRelation extends
     }
 
     /**
-     *  Fetches the InputStream to read the contents, based
-     *  of the specified core part, for which we are defined
-     *  as a suitable relationship
-     */
-    public InputStream getContents(PackagePart corePart) throws IOException, InvalidFormatException {
-        PackageRelationshipCollection prc =
-            corePart.getRelationshipsByType(getRelation());
-        Iterator<PackageRelationship> it = prc.iterator();
-        if(it.hasNext()) {
-            PackageRelationship rel = it.next();
-            PackagePartName relName = PackagingURIHelper.createPartName(rel.getTargetURI());
-            PackagePart part = corePart.getPackage().getPart(relName);
-            return part.getInputStream();
-        }
-        log.log(POILogger.WARN, "No part " + getDefaultFileName() + " found");
-        return null;
-    }
-
-    /**
      * Get POIXMLRelation by relation type
      *
      * @param rel relation type, for example,

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java Fri Mar 17 10:09:59 2017
@@ -175,16 +175,12 @@ public class TestExtractorFactory {
         extractor.close();
 
         extractor = ExtractorFactory.createExtractor(xlsb);
-        assertTrue(
-                extractor.getText().contains("test")
-        );
+        assertContains(extractor.getText(), "test");
         extractor.close();
 
 
         extractor = ExtractorFactory.createExtractor(xltx);
-        assertTrue(
-                extractor.getText().contains("test")
-        );
+        assertContains(extractor.getText(), "test");
         extractor.close();
 
         // TODO Support OOXML-Strict, see bug #57699
@@ -258,9 +254,7 @@ public class TestExtractorFactory {
         extractor.close();
 
         extractor = ExtractorFactory.createExtractor(dotx);
-        assertTrue(
-                extractor.getText().contains("Test")
-        );
+        assertContains(extractor.getText(), "Test");
         extractor.close();
 
         // PowerPoint (PPT)

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFBReader.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFBReader.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFBReader.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFBReader.java Fri Mar 17 10:09:59 2017
@@ -17,9 +17,9 @@
 
 package org.apache.poi.xssf.eventusermodel;
 
+import static org.apache.poi.POITestCase.assertContains;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
 
 import java.io.InputStream;
 import java.util.ArrayList;
@@ -44,54 +44,52 @@ public class TestXSSFBReader {
 
         assertEquals(1, sheetTexts.size());
         String xsxml = sheetTexts.get(0);
-        assertContains("This is a string", xsxml);
-        assertContains("<td ref=\"B2\">13</td>", xsxml);
-        assertContains("<td ref=\"B3\">13.12112313</td>", xsxml);
-        assertContains("<td ref=\"B4\">$   3.03</td>", xsxml);
-        assertContains("<td ref=\"B5\">20%</td>", xsxml);
-        assertContains("<td ref=\"B6\">13.12</td>", xsxml);
-        assertContains("<td ref=\"B7\">1.23457E+14</td>", xsxml);
-        assertContains("<td ref=\"B8\">1.23457E+15</td>", xsxml);
+        assertContains(xsxml, "This is a string");
+        assertContains(xsxml, "<td ref=\"B2\">13</td>");
+        assertContains(xsxml, "<td ref=\"B3\">13.12112313</td>");
+        assertContains(xsxml, "<td ref=\"B4\">$   3.03</td>");
+        assertContains(xsxml, "<td ref=\"B5\">20%</td>");
+        assertContains(xsxml, "<td ref=\"B6\">13.12</td>");
+        assertContains(xsxml, "<td ref=\"B7\">1.23457E+14</td>");
+        assertContains(xsxml, "<td ref=\"B8\">1.23457E+15</td>");
 
-        assertContains("46/1963", xsxml);//custom format 1
-        assertContains("3/128", xsxml);//custom format 2
+        assertContains(xsxml, "46/1963");//custom format 1
+        assertContains(xsxml, "3/128");//custom format 2
 
-        assertContains("<tr num=\"7>\n" +
+        assertContains(xsxml, "<tr num=\"7>\n" +
                 "\t<td ref=\"A8\">longer int</td>\n" +
                 "\t<td ref=\"B8\">1.23457E+15</td>\n" +
                 "\t<td ref=\"C8\"><span type=\"comment\" author=\"Allison, Timothy B.\">Allison, Timothy B.:\n" +
                 "test comment2</span></td>\n" +
-                "</tr num=\"7>", xsxml);
+                "</tr num=\"7>");
 
-        assertContains("<tr num=\"34>\n" +
+        assertContains(xsxml, "<tr num=\"34>\n" +
                 "\t<td ref=\"B35\">comment6<span type=\"comment\" author=\"Allison, Timothy B.\">Allison, Timothy B.:\n" +
                 "comment6 actually in cell</span></td>\n" +
-                "</tr num=\"34>", xsxml);
+                "</tr num=\"34>");
 
-        assertContains("<tr num=\"64>\n" +
+        assertContains(xsxml, "<tr num=\"64>\n" +
                 "\t<td ref=\"I65\"><span type=\"comment\" author=\"Allison, Timothy B.\">Allison, Timothy B.:\n" +
                 "comment7 end of file</span></td>\n" +
-                "</tr num=\"64>", xsxml);
+                "</tr num=\"64>");
 
-        assertContains("<tr num=\"65>\n" +
+        assertContains(xsxml, "<tr num=\"65>\n" +
                 "\t<td ref=\"I66\"><span type=\"comment\" author=\"Allison, Timothy B.\">Allison, Timothy B.:\n" +
                 "comment8 end of file</span></td>\n" +
-                "</tr num=\"65>", xsxml);
+                "</tr num=\"65>");
 
-        assertContains("<header tagName=\"header\">OddLeftHeader OddCenterHeader OddRightHeader</header>", xsxml);
-        assertContains("<footer tagName=\"footer\">OddLeftFooter OddCenterFooter OddRightFooter</footer>", xsxml);
-        assertContains(
-                "<header tagName=\"evenHeader\">EvenLeftHeader EvenCenterHeader EvenRightHeader\n</header>",
-                xsxml);
-        assertContains(
-                "<footer tagName=\"evenFooter\">EvenLeftFooter EvenCenterFooter EvenRightFooter</footer>",
-                xsxml);
-        assertContains(
-                "<header tagName=\"firstHeader\">FirstPageLeftHeader FirstPageCenterHeader FirstPageRightHeader</header>",
-                xsxml);
-        assertContains(
-                "<footer tagName=\"firstFooter\">FirstPageLeftFooter FirstPageCenterFooter FirstPageRightFooter</footer>",
-                xsxml);
+        assertContains(xsxml,
+                "<header tagName=\"header\">OddLeftHeader OddCenterHeader OddRightHeader</header>");
+        assertContains(xsxml,
+                "<footer tagName=\"footer\">OddLeftFooter OddCenterFooter OddRightFooter</footer>");
+        assertContains(xsxml,
+                "<header tagName=\"evenHeader\">EvenLeftHeader EvenCenterHeader EvenRightHeader\n</header>");
+        assertContains(xsxml,
+                "<footer tagName=\"evenFooter\">EvenLeftFooter EvenCenterFooter EvenRightFooter</footer>");
+        assertContains(xsxml,
+                "<header tagName=\"firstHeader\">FirstPageLeftHeader FirstPageCenterHeader FirstPageRightHeader</header>");
+        assertContains(xsxml,
+                "<footer tagName=\"firstFooter\">FirstPageLeftFooter FirstPageCenterFooter FirstPageRightFooter</footer>");
 
     }
 
@@ -99,25 +97,24 @@ public class TestXSSFBReader {
     public void testComments() throws Exception {
         List<String> sheetTexts = getSheets("comments.xlsb");
         String xsxml = sheetTexts.get(0);
-        assertContains(
+        assertContains(xsxml,
                 "<tr num=\"0>\n" +
                         "\t<td ref=\"A1\"><span type=\"comment\" author=\"Sven Nissel\">comment top row1 (index0)</span></td>\n" +
                         "\t<td ref=\"B1\">row1</td>\n" +
-                        "</tr num=\"0>",  xsxml);
-        assertContains(
+                        "</tr num=\"0>");
+        assertContains(xsxml,
                 "<tr num=\"1>\n" +
                         "\t<td ref=\"A2\"><span type=\"comment\" author=\"Allison, Timothy B.\">Allison, Timothy B.:\n" +
                         "comment row2 (index1)</span></td>\n" +
-                        "</tr num=\"1>",
-                xsxml);
-        assertContains("<tr num=\"2>\n" +
+                        "</tr num=\"1>");
+        assertContains(xsxml, "<tr num=\"2>\n" +
                 "\t<td ref=\"A3\">row3<span type=\"comment\" author=\"Sven Nissel\">comment top row3 (index2)</span></td>\n" +
-                "\t<td ref=\"B3\">row3</td>\n", xsxml);
+                "\t<td ref=\"B3\">row3</td>\n");
 
-        assertContains("<tr num=\"3>\n" +
+        assertContains(xsxml, "<tr num=\"3>\n" +
                 "\t<td ref=\"A4\"><span type=\"comment\" author=\"Sven Nissel\">comment top row4 (index3)</span></td>\n" +
                 "\t<td ref=\"B4\">row4</td>\n" +
-                "</tr num=\"3></sheet>", xsxml);
+                "</tr num=\"3></sheet>");
 
     }
 
@@ -131,7 +128,7 @@ public class TestXSSFBReader {
         assertNotNull(r.getXSSFBStylesTable());
         XSSFBSharedStringsTable sst = new XSSFBSharedStringsTable(pkg);
         XSSFBStylesTable xssfbStylesTable = r.getXSSFBStylesTable();
-        XSSFBReader.SheetIterator it = (XSSFBReader.SheetIterator)r.getSheetsData();
+        XSSFBReader.SheetIterator it = (XSSFBReader.SheetIterator) r.getSheetsData();
 
         while (it.hasNext()) {
             InputStream is = it.next();
@@ -152,22 +149,11 @@ public class TestXSSFBReader {
 
     }
 
-    //This converts all [\r\n\t]+ to " "
-    private void assertContains(String needle, String haystack) {
-        needle = needle.replaceAll("[\r\n\t]+", " ");
-        haystack = haystack.replaceAll("[\r\n\t]+", " ");
-        if (haystack.indexOf(needle) < 0) {
-            fail("couldn't find >"+needle+"< in: "+haystack );
-        }
-    }
-
-
     @Test
     public void testDate() throws Exception {
         List<String> sheets = getSheets("date.xlsb");
         assertEquals(1, sheets.size());
-        assertContains("1/12/13", sheets.get(0));
-
+        assertContains(sheets.get(0), "1/12/13");
     }
 
 
@@ -178,9 +164,10 @@ public class TestXSSFBReader {
             sb.append("<sheet name=\"").append(sheetName).append(">");
         }
 
-        public void endSheet(){
+        public void endSheet() {
             sb.append("</sheet>");
         }
+
         @Override
         public void startRow(int rowNum) {
             sb.append("\n<tr num=\"").append(rowNum).append(">");
@@ -209,9 +196,9 @@ public class TestXSSFBReader {
         @Override
         public void headerFooter(String text, boolean isHeader, String tagName) {
             if (isHeader) {
-                sb.append("<header tagName=\""+tagName+"\">"+text+"</header>");
+                sb.append("<header tagName=\"" + tagName + "\">" + text + "</header>");
             } else {
-                sb.append("<footer tagName=\""+tagName+"\">"+text+"</footer>");
+                sb.append("<footer tagName=\"" + tagName + "\">" + text + "</footer>");
 
             }
         }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFBEventBasedExcelExtractor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFBEventBasedExcelExtractor.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFBEventBasedExcelExtractor.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFBEventBasedExcelExtractor.java Fri Mar 17 10:09:59 2017
@@ -17,6 +17,7 @@
 
 package org.apache.poi.xssf.extractor;
 
+import static org.apache.poi.POITestCase.assertContains;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
@@ -90,10 +91,9 @@ public class TestXSSFBEventBasedExcelExt
 
         try {
             String text = ooxmlExtractor.getText();
-
-            assertTrue(text.indexOf("Line 1") > -1);
-            assertTrue(text.indexOf("Line 2") > -1);
-            assertTrue(text.indexOf("Line 3") > -1);
+            assertContains(text, "Line 1");
+            assertContains(text, "Line 2");
+            assertContains(text, "Line 3");
         } finally {
             ooxmlExtractor.close();
         }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFEventBasedExcelExtractor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFEventBasedExcelExtractor.java?rev=1787320&r1=1787319&r2=1787320&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFEventBasedExcelExtractor.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFEventBasedExcelExtractor.java Fri Mar 17 10:09:59 2017
@@ -17,6 +17,7 @@
 
 package org.apache.poi.xssf.extractor;
 
+import static org.apache.poi.POITestCase.assertContains;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -130,21 +131,21 @@ public class TestXSSFEventBasedExcelExtr
       String text = extractor.getText();
 
       // Numbers
-      assertTrue("Unable to find expected word in text\n" + text, text.contains("43"));
-      assertTrue("Unable to find expected word in text\n" + text, text.contains("22"));
+      assertContains(text, "43");
+      assertContains(text, "22");
       
       // Strings
-      assertTrue("Unable to find expected word in text\n" + text, text.contains("ABCDE"));
-      assertTrue("Unable to find expected word in text\n" + text, text.contains("Long Text"));
-      
+      assertContains(text, "ABCDE");
+      assertContains(text, "Long Text");
+
       // Inline Strings
-      assertTrue("Unable to find expected word in text\n" + text, text.contains("1st Inline String"));
-      assertTrue("Unable to find expected word in text\n" + text, text.contains("And More"));
-      
+	  assertContains(text, "1st Inline String");
+	  assertContains(text, "And More");
+
       // Formulas
-      assertTrue("Unable to find expected word in text\n" + text, text.contains("A2"));
-      assertTrue("Unable to find expected word in text\n" + text, text.contains("A5-A$2"));
-		
+	  assertContains(text, "A2");
+	  assertContains(text, "A5-A$2");
+
       extractor.close();
     }
    
@@ -185,10 +186,9 @@ public class TestXSSFEventBasedExcelExtr
 	       
 	    try {
     	    String text = ooxmlExtractor.getText();
-    
-    	    assertTrue(text.indexOf("Line 1") > -1);
-    	    assertTrue(text.indexOf("Line 2") > -1);
-    	    assertTrue(text.indexOf("Line 3") > -1);
+			assertContains(text, "Line 1");
+			assertContains(text, "Line 2");
+			assertContains(text, "Line 3");
 	    } finally {
 	        ooxmlExtractor.close();
 	    }
@@ -356,8 +356,8 @@ public class TestXSSFEventBasedExcelExtr
 				new XSSFEventBasedExcelExtractor(
 						XSSFTestDataSamples.openSamplePackage("59021.xlsx"));
 		String text = ex.getText();
-		assertTrue("can't find Abhkazia", text.contains("Abkhazia - Fixed"));
-		assertTrue("can't find 10/02/2016", text.contains("10/02/2016"));
+		assertContains(text, "Abkhazia - Fixed");
+		assertContains(text, "10/02/2016");
 		ex.close();
 	}
 
@@ -368,7 +368,7 @@ public class TestXSSFEventBasedExcelExtr
 				new XSSFEventBasedExcelExtractor(
 						XSSFTestDataSamples.openSamplePackage("51519.xlsx"));
 		String text = ex.getText();
-		assertTrue("can't find appended phonetic run", text.contains("\u65E5\u672C\u30AA\u30E9\u30AF\u30EB \u30CB\u30DB\u30F3"));
+		assertContains(text, "\u65E5\u672C\u30AA\u30E9\u30AF\u30EB \u30CB\u30DB\u30F3");
 		ex.close();
 
 		//now try turning them off



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org