Return-Path:
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
by cust-asf2.ponee.io (Postfix) with ESMTP id D8476200C49
for ; Fri, 17 Mar 2017 11:10:03 +0100 (CET)
Received: by cust-asf.ponee.io (Postfix)
id D6BCE160B80; Fri, 17 Mar 2017 10:10:03 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
by cust-asf.ponee.io (Postfix) with SMTP id 10DB2160B6D
for ; Fri, 17 Mar 2017 11:10:01 +0100 (CET)
Received: (qmail 16755 invoked by uid 500); 17 Mar 2017 10:10:01 -0000
Mailing-List: contact commits-help@poi.apache.org; run by ezmlm
Precedence: bulk
List-Help:
List-Unsubscribe:
List-Post:
List-Id:
Reply-To: dev@poi.apache.org
Delivered-To: mailing list commits@poi.apache.org
Received: (qmail 16746 invoked by uid 99); 17 Mar 2017 10:10:01 -0000
Received: from Unknown (HELO svn01-us-west.apache.org) (209.188.14.144)
by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Mar 2017 10:10:01 +0000
Received: from svn01-us-west.apache.org (localhost [127.0.0.1])
by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 861C63A05CD
for ; Fri, 17 Mar 2017 10:10:00 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: 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...
Date: Fri, 17 Mar 2017 10:10:00 -0000
To: commits@poi.apache.org
From: tallison@apache.org
X-Mailer: svnmailer-1.0.9
Message-Id: <20170317101000.861C63A05CD@svn01-us-west.apache.org>
archived-at: Fri, 17 Mar 2017 10:10:04 -0000
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 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 comments = new TreeMap(new CellAddressComparator());//String is the cellAddress A1
+ private Map comments = new TreeMap();
private Queue commentAddresses = new LinkedList();
private List authors = new ArrayList();
@@ -92,22 +94,4 @@ public class XSSFBCommentsTable extends
}
return comments.get(cellAddress);
}
-
- private final static class CellAddressComparator implements Comparator {
-
- @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 TYPE_MAP =
+ new HashMap();
+
+ 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 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 getItems() {
- return strings;
+ List ret = new ArrayList(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
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.
- 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.
Related Documentation
For overviews, tutorials, examples, guides, and tool documentation, please see: