diff options
Diffstat (limited to 'src')
22 files changed, 74 insertions, 91 deletions
diff --git a/src/java/org/apache/poi/hssf/dev/BiffDrawingToXml.java b/src/java/org/apache/poi/hssf/dev/BiffDrawingToXml.java index 94ba90bed4..4d6acf9627 100644 --- a/src/java/org/apache/poi/hssf/dev/BiffDrawingToXml.java +++ b/src/java/org/apache/poi/hssf/dev/BiffDrawingToXml.java @@ -24,14 +24,12 @@ import java.io.FileOutputStream; import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.ddf.EscherRecord;
import org.apache.poi.hssf.model.InternalWorkbook;
import org.apache.poi.hssf.record.DrawingGroupRecord;
-import org.apache.poi.hssf.record.EscherAggregate;
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
@@ -137,7 +135,7 @@ public class BiffDrawingToXml { public static void writeToFile(OutputStream fos, InputStream xlsWorkbook, boolean excludeWorkbookRecords, String[] params) throws IOException {
NPOIFSFileSystem fs = new NPOIFSFileSystem(xlsWorkbook);
HSSFWorkbook workbook = new HSSFWorkbook(fs);
- InternalWorkbook internalWorkbook = getInternalWorkbook(workbook);
+ InternalWorkbook internalWorkbook = workbook.getInternalWorkbook();
DrawingGroupRecord r = (DrawingGroupRecord) internalWorkbook.findFirstRecordBySid(DrawingGroupRecord.sid);
r.decode();
@@ -155,7 +153,7 @@ public class BiffDrawingToXml { HSSFPatriarch p = workbook.getSheetAt(i).getDrawingPatriarch();
if(p != null ) {
builder.append(tab).append("<sheet").append(i).append(">\n");
- builder.append(getHSSFPatriarchBoundAggregate(p).toXml(tab + "\t"));
+ builder.append(p.getBoundAggregate().toXml(tab + "\t"));
builder.append(tab).append("</sheet").append(i).append(">\n");
}
}
@@ -164,31 +162,4 @@ public class BiffDrawingToXml { fos.close();
}
- private static EscherAggregate getHSSFPatriarchBoundAggregate(HSSFPatriarch patriarch) {
- Field boundAggregateField = null;
- try {
- boundAggregateField = patriarch.getClass().getDeclaredField("_boundAggregate");
- boundAggregateField.setAccessible(true);
- return (EscherAggregate) boundAggregateField.get(patriarch);
- } catch (NoSuchFieldException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- private static InternalWorkbook getInternalWorkbook(HSSFWorkbook workbook) {
- Field internalSheetField = null;
- try {
- internalSheetField = workbook.getClass().getDeclaredField("workbook");
- internalSheetField.setAccessible(true);
- return (InternalWorkbook) internalSheetField.get(workbook);
- } catch (NoSuchFieldException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- return null;
- }
}
diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFComment.java b/src/java/org/apache/poi/hssf/usermodel/HSSFComment.java index 4e71ac2b83..1b8176b3ce 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFComment.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFComment.java @@ -87,7 +87,7 @@ public class HSSFComment extends HSSFTextbox implements Comment { @Override void afterInsert(HSSFPatriarch patriarch) { super.afterInsert(patriarch); - patriarch._getBoundAggregate().addTailRecord(getNoteRecord()); + patriarch.getBoundAggregate().addTailRecord(getNoteRecord()); } @Override @@ -253,7 +253,7 @@ public class HSSFComment extends HSSFTextbox implements Comment { public void afterRemove(HSSFPatriarch patriarch){ super.afterRemove(patriarch); - patriarch._getBoundAggregate().removeTailRecord(getNoteRecord()); + patriarch.getBoundAggregate().removeTailRecord(getNoteRecord()); } @Override diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFObjectData.java b/src/java/org/apache/poi/hssf/usermodel/HSSFObjectData.java index ef1f2d9f73..d92f216ab1 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFObjectData.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFObjectData.java @@ -126,7 +126,7 @@ public final class HSSFObjectData extends HSSFPicture { @Override void afterInsert(HSSFPatriarch patriarch) { - EscherAggregate agg = patriarch._getBoundAggregate(); + EscherAggregate agg = patriarch.getBoundAggregate(); agg.associateShapeToObjRecord(getEscherContainer().getChildById(EscherClientDataRecord.RECORD_ID), getObjRecord()); EscherBSERecord bse = patriarch.getSheet().getWorkbook().getWorkbook().getBSERecord(getPictureIndex()); diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFPatriarch.java b/src/java/org/apache/poi/hssf/usermodel/HSSFPatriarch.java index 04f57b4931..b431687459 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFPatriarch.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFPatriarch.java @@ -495,7 +495,8 @@ public final class HSSFPatriarch implements HSSFShapeContainer, Drawing { * Returns the aggregate escher record we're bound to * @return - low level representation of sheet drawing data */ - protected EscherAggregate _getBoundAggregate() { + @Internal + public EscherAggregate getBoundAggregate() { return _boundAggregate; } diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFPicture.java b/src/java/org/apache/poi/hssf/usermodel/HSSFPicture.java index 4de4a40f22..7ee9a06936 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFPicture.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFPicture.java @@ -211,7 +211,7 @@ public class HSSFPicture extends HSSFSimpleShape implements Picture { @Override void afterInsert(HSSFPatriarch patriarch) { - EscherAggregate agg = patriarch._getBoundAggregate(); + EscherAggregate agg = patriarch.getBoundAggregate(); agg.associateShapeToObjRecord(getEscherContainer().getChildById(EscherClientDataRecord.RECORD_ID), getObjRecord()); EscherBSERecord bse = patriarch.getSheet().getWorkbook().getWorkbook().getBSERecord(getPictureIndex()); diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFPolygon.java b/src/java/org/apache/poi/hssf/usermodel/HSSFPolygon.java index df1b765c74..8403a81c4b 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFPolygon.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFPolygon.java @@ -116,7 +116,7 @@ public class HSSFPolygon extends HSSFSimpleShape { @Override protected void afterRemove(HSSFPatriarch patriarch) { - patriarch._getBoundAggregate().removeShapeToObjRecord(getEscherContainer().getChildById(EscherClientDataRecord.RECORD_ID)); + patriarch.getBoundAggregate().removeShapeToObjRecord(getEscherContainer().getChildById(EscherClientDataRecord.RECORD_ID)); } /** diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFShapeGroup.java b/src/java/org/apache/poi/hssf/usermodel/HSSFShapeGroup.java index 66440005b2..f97b23a8c0 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFShapeGroup.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFShapeGroup.java @@ -122,7 +122,7 @@ public class HSSFShapeGroup extends HSSFShape implements HSSFShapeContainer { @Override protected void afterRemove(HSSFPatriarch patriarch) { - patriarch._getBoundAggregate().removeShapeToObjRecord(getEscherContainer().getChildContainers().get(0) + patriarch.getBoundAggregate().removeShapeToObjRecord(getEscherContainer().getChildContainers().get(0) .getChildById(EscherClientDataRecord.RECORD_ID)); for ( int i=0; i<shapes.size(); i++ ) { HSSFShape shape = shapes.get(i); @@ -314,7 +314,7 @@ public class HSSFShapeGroup extends HSSFShape implements HSSFShapeContainer { @Override void afterInsert(HSSFPatriarch patriarch){ - EscherAggregate agg = patriarch._getBoundAggregate(); + EscherAggregate agg = patriarch.getBoundAggregate(); EscherContainerRecord containerRecord = getEscherContainer().getChildById(EscherContainerRecord.SP_CONTAINER); agg.associateShapeToObjRecord(containerRecord.getChildById(EscherClientDataRecord.RECORD_ID), getObjRecord()); } diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java b/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java index 8f8756ed96..e0694f2403 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java @@ -148,7 +148,7 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet { } if (getDrawingPatriarch() != null) { HSSFPatriarch patr = HSSFPatriarch.createPatriarch(this.getDrawingPatriarch(), sheet); - sheet._sheet.getRecords().add(pos, patr._getBoundAggregate()); + sheet._sheet.getRecords().add(pos, patr.getBoundAggregate()); sheet._patriarch = patr; } return sheet; diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFSimpleShape.java b/src/java/org/apache/poi/hssf/usermodel/HSSFSimpleShape.java index 2e8b64d844..ec5293bbee 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFSimpleShape.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFSimpleShape.java @@ -144,9 +144,9 @@ public class HSSFSimpleShape extends HSSFShape @Override protected void afterRemove(HSSFPatriarch patriarch) { - patriarch._getBoundAggregate().removeShapeToObjRecord(getEscherContainer().getChildById(EscherClientDataRecord.RECORD_ID)); + patriarch.getBoundAggregate().removeShapeToObjRecord(getEscherContainer().getChildById(EscherClientDataRecord.RECORD_ID)); if (null != getEscherContainer().getChildById(EscherTextboxRecord.RECORD_ID)){ - patriarch._getBoundAggregate().removeShapeToObjRecord(getEscherContainer().getChildById(EscherTextboxRecord.RECORD_ID)); + patriarch.getBoundAggregate().removeShapeToObjRecord(getEscherContainer().getChildById(EscherTextboxRecord.RECORD_ID)); } } @@ -177,7 +177,7 @@ public class HSSFSimpleShape extends HSSFShape @Override void afterInsert(HSSFPatriarch patriarch){ - EscherAggregate agg = patriarch._getBoundAggregate(); + EscherAggregate agg = patriarch.getBoundAggregate(); agg.associateShapeToObjRecord(getEscherContainer().getChildById(EscherClientDataRecord.RECORD_ID), getObjRecord()); if (null != getTextObjectRecord()){ @@ -244,7 +244,7 @@ public class HSSFSimpleShape extends HSSFShape escherTextbox.setRecordId(EscherTextboxRecord.RECORD_ID); escherTextbox.setOptions((short) 0x0000); getEscherContainer().addChildRecord(escherTextbox); - getPatriarch()._getBoundAggregate().associateShapeToObjRecord(escherTextbox, _textObjectRecord); + getPatriarch().getBoundAggregate().associateShapeToObjRecord(escherTextbox, _textObjectRecord); } return _textObjectRecord; } diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFTextbox.java b/src/java/org/apache/poi/hssf/usermodel/HSSFTextbox.java index 28dc60a478..f8f81c1f06 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFTextbox.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFTextbox.java @@ -128,7 +128,7 @@ public class HSSFTextbox extends HSSFSimpleShape { @Override void afterInsert(HSSFPatriarch patriarch) { - EscherAggregate agg = patriarch._getBoundAggregate(); + EscherAggregate agg = patriarch.getBoundAggregate(); agg.associateShapeToObjRecord(getEscherContainer().getChildById(EscherClientDataRecord.RECORD_ID), getObjRecord()); if (getTextObjectRecord() != null){ agg.associateShapeToObjRecord(getEscherContainer().getChildById(EscherTextboxRecord.RECORD_ID), getTextObjectRecord()); @@ -240,7 +240,7 @@ public class HSSFTextbox extends HSSFSimpleShape { @Override protected void afterRemove(HSSFPatriarch patriarch) { - patriarch._getBoundAggregate().removeShapeToObjRecord(getEscherContainer().getChildById(EscherClientDataRecord.RECORD_ID)); - patriarch._getBoundAggregate().removeShapeToObjRecord(getEscherContainer().getChildById(EscherTextboxRecord.RECORD_ID)); + patriarch.getBoundAggregate().removeShapeToObjRecord(getEscherContainer().getChildById(EscherClientDataRecord.RECORD_ID)); + patriarch.getBoundAggregate().removeShapeToObjRecord(getEscherContainer().getChildById(EscherTextboxRecord.RECORD_ID)); } } diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java b/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java index fe1eb26d1a..2192fa3dcd 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java @@ -89,6 +89,7 @@ import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.WorkbookUtil; import org.apache.poi.util.Configurator; import org.apache.poi.util.HexDump; +import org.apache.poi.util.Internal; import org.apache.poi.util.LittleEndian; import org.apache.poi.util.POILogFactory; import org.apache.poi.util.POILogger; @@ -2147,4 +2148,9 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss public DirectoryNode getRootDirectory(){ return directory; } + + @Internal + public InternalWorkbook getInternalWorkbook() { + return workbook; + } } diff --git a/src/java/org/apache/poi/poifs/dev/POIFSDump.java b/src/java/org/apache/poi/poifs/dev/POIFSDump.java index ce7d9e441a..be57446c48 100644 --- a/src/java/org/apache/poi/poifs/dev/POIFSDump.java +++ b/src/java/org/apache/poi/poifs/dev/POIFSDump.java @@ -21,7 +21,6 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; -import java.lang.reflect.Field; import java.nio.ByteBuffer; import java.util.Iterator; @@ -73,11 +72,11 @@ public class POIFSDump { dump(root, file); if (dumpProps) { - HeaderBlock header = getHeaderBlock(fs); + HeaderBlock header = fs.getHeaderBlock(); dump(fs, header.getPropertyStart(), "properties", file); } if (dumpMini) { - NPropertyTable props = getPropertyTable(fs); + NPropertyTable props = fs.getPropertyTable(); int startBlock = props.getRoot().getStartBlock(); if (startBlock == POIFSConstants.END_OF_CHAIN) { System.err.println("No Mini Stream in file"); @@ -86,21 +85,8 @@ public class POIFSDump { } } } - } - - protected static HeaderBlock getHeaderBlock(NPOIFSFileSystem fs) throws Exception { - Field headerF = NPOIFSFileSystem.class.getDeclaredField("_header"); - headerF.setAccessible(true); - HeaderBlock header = (HeaderBlock)headerF.get(fs); - return header; - } - protected static NPropertyTable getPropertyTable(NPOIFSFileSystem fs) throws Exception { - Field ptF = NPOIFSFileSystem.class.getDeclaredField("_property_table"); - ptF.setAccessible(true); - NPropertyTable table = (NPropertyTable)ptF.get(fs); - return table; } - + public static void dump(DirectoryEntry root, File parent) throws IOException { for(Iterator<Entry> it = root.getEntries(); it.hasNext();){ Entry entry = it.next(); diff --git a/src/java/org/apache/poi/poifs/dev/POIFSHeaderDumper.java b/src/java/org/apache/poi/poifs/dev/POIFSHeaderDumper.java index e321c8b9b7..642ffa0f98 100644 --- a/src/java/org/apache/poi/poifs/dev/POIFSHeaderDumper.java +++ b/src/java/org/apache/poi/poifs/dev/POIFSHeaderDumper.java @@ -19,8 +19,6 @@ package org.apache.poi.poifs.dev; import java.io.FileInputStream; import java.io.InputStream; -import java.lang.reflect.Field; -import java.lang.reflect.Method; import org.apache.poi.poifs.common.POIFSBigBlockSize; import org.apache.poi.poifs.common.POIFSConstants; @@ -118,11 +116,8 @@ public class POIFSHeaderDumper { System.out.println("Raw Blocks Details:"); System.out.println(" Number of blocks: " + data_blocks.blockCount()); - Method gbm = data_blocks.getClass().getSuperclass().getDeclaredMethod("get", int.class); - gbm.setAccessible(true); - for(int i=0; i<Math.min(16, data_blocks.blockCount()); i++) { - ListManagedBlock block = (ListManagedBlock)gbm.invoke(data_blocks, Integer.valueOf(i)); + ListManagedBlock block = data_blocks.get(i); byte[] data = new byte[Math.min(48, block.getData().length)]; System.arraycopy(block.getData(), 0, data, 0, data.length); @@ -135,9 +130,7 @@ public class POIFSHeaderDumper { public static void displayBATReader(String type, BlockAllocationTableReader batReader) throws Exception { System.out.println("Sectors, as referenced from the "+type+" FAT:"); - Field entriesF = batReader.getClass().getDeclaredField("_entries"); - entriesF.setAccessible(true); - IntList entries = (IntList)entriesF.get(batReader); + IntList entries = batReader.getEntries(); for(int i=0; i<entries.size(); i++) { int bn = entries.get(i); diff --git a/src/java/org/apache/poi/poifs/filesystem/NPOIFSFileSystem.java b/src/java/org/apache/poi/poifs/filesystem/NPOIFSFileSystem.java index 0bac7e1c74..5fa7fb3aae 100644 --- a/src/java/org/apache/poi/poifs/filesystem/NPOIFSFileSystem.java +++ b/src/java/org/apache/poi/poifs/filesystem/NPOIFSFileSystem.java @@ -55,6 +55,7 @@ import org.apache.poi.poifs.storage.HeaderBlockConstants; import org.apache.poi.poifs.storage.HeaderBlockWriter; import org.apache.poi.util.CloseIgnoringInputStream; import org.apache.poi.util.IOUtils; +import org.apache.poi.util.Internal; import org.apache.poi.util.LongField; /** @@ -970,5 +971,15 @@ public class NPOIFSFileSystem extends BlockStore protected int getBlockStoreBlockSize() { return getBigBlockSize(); } + + @Internal + public NPropertyTable getPropertyTable() { + return _property_table; + } + + @Internal + public HeaderBlock getHeaderBlock() { + return _header; + } } diff --git a/src/java/org/apache/poi/poifs/storage/BlockAllocationTableReader.java b/src/java/org/apache/poi/poifs/storage/BlockAllocationTableReader.java index 5de6285575..df872b3a70 100644 --- a/src/java/org/apache/poi/poifs/storage/BlockAllocationTableReader.java +++ b/src/java/org/apache/poi/poifs/storage/BlockAllocationTableReader.java @@ -312,4 +312,9 @@ public final class BlockAllocationTableReader { } raw_blocks.setBAT(this); } + + @Internal + public IntList getEntries() { + return _entries; + } } diff --git a/src/java/org/apache/poi/poifs/storage/BlockListImpl.java b/src/java/org/apache/poi/poifs/storage/BlockListImpl.java index 7a05aae227..f3d459e389 100644 --- a/src/java/org/apache/poi/poifs/storage/BlockListImpl.java +++ b/src/java/org/apache/poi/poifs/storage/BlockListImpl.java @@ -19,6 +19,8 @@ package org.apache.poi.poifs.storage; import java.io.IOException; +import org.apache.poi.util.Internal; + /** * A simple implementation of BlockList * @@ -59,10 +61,11 @@ abstract class BlockListImpl implements BlockList { } /** - * Unit testing method. Gets, without sanity checks or + * Internal method. Gets, without sanity checks or * removing. */ - protected ListManagedBlock get(final int index) { + @Internal + public ListManagedBlock get(final int index) { return _blocks[index]; } diff --git a/src/ooxml/java/org/apache/poi/POIXMLDocumentPart.java b/src/ooxml/java/org/apache/poi/POIXMLDocumentPart.java index 21228f49f6..842c37b6a5 100644 --- a/src/ooxml/java/org/apache/poi/POIXMLDocumentPart.java +++ b/src/ooxml/java/org/apache/poi/POIXMLDocumentPart.java @@ -38,6 +38,7 @@ 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.openxml4j.opc.TargetMode; +import org.apache.poi.util.Internal; import org.apache.poi.util.POILogFactory; import org.apache.poi.util.POILogger; import org.apache.xmlbeans.XmlOptions; @@ -510,4 +511,15 @@ public class POIXMLDocumentPart { protected void onDocumentRemove() throws IOException { } + + /** + * Internal method, do not use! + * <p> + * This method only exists to allow access to protected {@link POIXMLDocumentPart#onDocumentRead()} + * from {@link org.apache.poi.xwpf.usermodel.XWPFDocument} without reflection. It should be removed. + */ + @Internal @Deprecated + public static void _invokeOnDocumentRead(POIXMLDocumentPart part) throws IOException { + part.onDocumentRead(); + } } diff --git a/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java b/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java index 9855e2fda2..da99997215 100644 --- a/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java +++ b/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java @@ -20,7 +20,6 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -48,7 +47,6 @@ import org.apache.poi.openxml4j.opc.PackageRelationshipTypes; import org.apache.poi.openxml4j.opc.PackagingURIHelper; import org.apache.poi.openxml4j.opc.TargetMode; import org.apache.poi.poifs.crypt.HashAlgorithm; -import org.apache.poi.util.DocumentHelper; import org.apache.poi.util.IOUtils; import org.apache.poi.util.IdentifierManager; import org.apache.poi.util.Internal; @@ -153,6 +151,7 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody { } } + @SuppressWarnings("deprecation") @Override protected void onDocumentRead() throws IOException { try { @@ -224,13 +223,9 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody { for (POIXMLDocumentPart gp : p.getRelations()) { // Trigger the onDocumentRead for all the child parts // Otherwise we'll hit issues on Styles, Settings etc on save - try { - Method onDocumentRead = gp.getClass().getDeclaredMethod("onDocumentRead"); - onDocumentRead.setAccessible(true); - onDocumentRead.invoke(gp); - } catch (Exception e) { - throw new POIXMLException(e); - } + // TODO: Refactor this to not need to access protected method + // from other package! Remove the static helper method once fixed!!! + POIXMLDocumentPart._invokeOnDocumentRead(gp); } } } diff --git a/src/testcases/org/apache/poi/hssf/usermodel/HSSFTestHelper.java b/src/testcases/org/apache/poi/hssf/usermodel/HSSFTestHelper.java index d6b2657858..4abebc866a 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/HSSFTestHelper.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/HSSFTestHelper.java @@ -72,7 +72,7 @@ public class HSSFTestHelper { } public static EscherAggregate getEscherAggregate(HSSFPatriarch patriarch){ - return patriarch._getBoundAggregate(); + return patriarch.getBoundAggregate(); } public static int allocateNewShapeId(HSSFPatriarch patriarch){ diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestCloneSheet.java b/src/testcases/org/apache/poi/hssf/usermodel/TestCloneSheet.java index 6813baaa9f..3bcd66bd47 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestCloneSheet.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestCloneSheet.java @@ -85,13 +85,13 @@ public final class TestCloneSheet extends TestCase { HSSFSheet s = b.createSheet("Test"); HSSFPatriarch patriarch = s.createDrawingPatriarch(); - EscherAggregate agg1 = patriarch._getBoundAggregate(); + EscherAggregate agg1 = patriarch.getBoundAggregate(); HSSFSheet s2 = s.cloneSheet(b); patriarch = s2.getDrawingPatriarch(); - EscherAggregate agg2 = patriarch._getBoundAggregate(); + EscherAggregate agg2 = patriarch.getBoundAggregate(); EscherSpRecord sp1 = (EscherSpRecord) agg1.getEscherContainer().getChild(1).getChild(0).getChild(1); EscherSpRecord sp2 = (EscherSpRecord) agg2.getEscherContainer().getChild(1).getChild(0).getChild(1); diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java index 4fa9865a61..c60823ee8e 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java @@ -940,8 +940,8 @@ public final class TestHSSFSheet extends BaseTestSheet { HSSFSheet sheet2 = wb2.getSheetAt(1); //check that id of the drawing group was updated - EscherDgRecord dg1 = (EscherDgRecord)sheet1.getDrawingPatriarch()._getBoundAggregate().findFirstWithId(EscherDgRecord.RECORD_ID); - EscherDgRecord dg2 = (EscherDgRecord)sheet2.getDrawingPatriarch()._getBoundAggregate().findFirstWithId(EscherDgRecord.RECORD_ID); + EscherDgRecord dg1 = (EscherDgRecord)sheet1.getDrawingPatriarch().getBoundAggregate().findFirstWithId(EscherDgRecord.RECORD_ID); + EscherDgRecord dg2 = (EscherDgRecord)sheet2.getDrawingPatriarch().getBoundAggregate().findFirstWithId(EscherDgRecord.RECORD_ID); int dg_id_1 = dg1.getOptions() >> 4; int dg_id_2 = dg2.getOptions() >> 4; assertEquals(dg_id_1 + 1, dg_id_2); diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestPatriarch.java b/src/testcases/org/apache/poi/hssf/usermodel/TestPatriarch.java index d9eba84bd7..49cbaeec02 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestPatriarch.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestPatriarch.java @@ -40,7 +40,7 @@ public class TestPatriarch extends TestCase { assertSame(patriarch, sh.getDrawingPatriarch());
- EscherAggregate agg = patriarch._getBoundAggregate();
+ EscherAggregate agg = patriarch.getBoundAggregate();
EscherDgRecord dg = agg.getEscherContainer().getChildById(EscherDgRecord.RECORD_ID);
int lastId = dg.getLastMSOSPID();
@@ -50,7 +50,7 @@ public class TestPatriarch extends TestCase { wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
sh = wb.getSheetAt(0);
patriarch = sh.createDrawingPatriarch();
- dg = patriarch._getBoundAggregate().getEscherContainer().getChildById(EscherDgRecord.RECORD_ID);
+ dg = patriarch.getBoundAggregate().getEscherContainer().getChildById(EscherDgRecord.RECORD_ID);
assertEquals(lastId, dg.getLastMSOSPID());
}
|