aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/java/org/apache/poi/ddf/EscherContainerRecord.java4
-rw-r--r--src/java/org/apache/poi/hssf/model/InternalWorkbook.java2
-rw-r--r--src/java/org/apache/poi/hssf/usermodel/HSSFShape.java8
-rw-r--r--src/java/org/apache/poi/hssf/usermodel/HSSFShapeGroup.java2
-rw-r--r--src/scratchpad/src/org/apache/poi/hslf/dev/SlideShowRecordDumper.java5
-rw-r--r--src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFFill.java6
-rw-r--r--src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFPictureShape.java4
-rw-r--r--src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSheet.java5
-rw-r--r--src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShow.java2
-rw-r--r--src/scratchpad/src/org/apache/poi/hwpf/model/OfficeArtContent.java4
-rw-r--r--src/scratchpad/src/org/apache/poi/hwpf/usermodel/OfficeDrawingsImpl.java6
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBackground.java3
-rw-r--r--src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestPictures.java4
-rw-r--r--src/testcases/org/apache/poi/hssf/model/TestDrawingShapes.java2
-rw-r--r--src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java2
-rw-r--r--src/testcases/org/apache/poi/hssf/usermodel/TestPolygon.java2
-rw-r--r--src/testcases/org/apache/poi/hssf/usermodel/TestText.java2
17 files changed, 29 insertions, 34 deletions
diff --git a/src/java/org/apache/poi/ddf/EscherContainerRecord.java b/src/java/org/apache/poi/ddf/EscherContainerRecord.java
index 474b24a436..bbe7efac65 100644
--- a/src/java/org/apache/poi/ddf/EscherContainerRecord.java
+++ b/src/java/org/apache/poi/ddf/EscherContainerRecord.java
@@ -158,6 +158,10 @@ public final class EscherContainerRecord extends EscherRecord implements Iterabl
return new ArrayList<>(_childRecords);
}
+ public int getChildCount() {
+ return _childRecords.size();
+ }
+
/**
* @return an iterator over the child records
*/
diff --git a/src/java/org/apache/poi/hssf/model/InternalWorkbook.java b/src/java/org/apache/poi/hssf/model/InternalWorkbook.java
index b6d60ec471..c5703dfca3 100644
--- a/src/java/org/apache/poi/hssf/model/InternalWorkbook.java
+++ b/src/java/org/apache/poi/hssf/model/InternalWorkbook.java
@@ -1880,7 +1880,7 @@ public final class InternalWorkbook {
DrawingManager2 dm = new DrawingManager2(dgg);
if(bStore != null){
- for(EscherRecord bs : bStore.getChildRecords()){
+ for (EscherRecord bs : bStore) {
if(bs instanceof EscherBSERecord) {
escherBSERecords.add((EscherBSERecord)bs);
}
diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFShape.java b/src/java/org/apache/poi/hssf/usermodel/HSSFShape.java
index 92d66e1db6..964356f5a6 100644
--- a/src/java/org/apache/poi/hssf/usermodel/HSSFShape.java
+++ b/src/java/org/apache/poi/hssf/usermodel/HSSFShape.java
@@ -186,9 +186,9 @@ public abstract class HSSFShape implements Shape {
throw new IllegalArgumentException("Must use client anchors for shapes directly attached to sheet.");
EscherClientAnchorRecord anch = _escherContainer.getChildById(EscherClientAnchorRecord.RECORD_ID);
if (null != anch) {
- for (i=0; i< _escherContainer.getChildRecords().size(); i++){
+ for (i=0; i< _escherContainer.getChildCount(); i++){
if (_escherContainer.getChild(i).getRecordId() == EscherClientAnchorRecord.RECORD_ID){
- if (i != _escherContainer.getChildRecords().size() -1){
+ if (i != _escherContainer.getChildCount() -1){
recordId = _escherContainer.getChild(i+1).getRecordId();
}
}
@@ -200,9 +200,9 @@ public abstract class HSSFShape implements Shape {
throw new IllegalArgumentException("Must use child anchors for shapes attached to groups.");
EscherChildAnchorRecord anch = _escherContainer.getChildById(EscherChildAnchorRecord.RECORD_ID);
if (null != anch) {
- for (i=0; i< _escherContainer.getChildRecords().size(); i++){
+ for (i=0; i< _escherContainer.getChildCount(); i++){
if (_escherContainer.getChild(i).getRecordId() == EscherChildAnchorRecord.RECORD_ID){
- if (i != _escherContainer.getChildRecords().size() -1){
+ if (i != _escherContainer.getChildCount() -1){
recordId = _escherContainer.getChild(i+1).getRecordId();
}
}
diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFShapeGroup.java b/src/java/org/apache/poi/hssf/usermodel/HSSFShapeGroup.java
index 4652693837..b8001fc651 100644
--- a/src/java/org/apache/poi/hssf/usermodel/HSSFShapeGroup.java
+++ b/src/java/org/apache/poi/hssf/usermodel/HSSFShapeGroup.java
@@ -54,7 +54,7 @@ public class HSSFShapeGroup extends HSSFShape implements HSSFShapeContainer {
// read internal and external coordinates from spgrContainer
EscherContainerRecord spContainer = spgrContainer.getChildContainers().get(0);
_spgrRecord = (EscherSpgrRecord) spContainer.getChild(0);
- for (EscherRecord ch : spContainer.getChildRecords()) {
+ for (EscherRecord ch : spContainer) {
switch (EscherRecordTypes.forTypeID(ch.getRecordId())) {
case SPGR:
break;
diff --git a/src/scratchpad/src/org/apache/poi/hslf/dev/SlideShowRecordDumper.java b/src/scratchpad/src/org/apache/poi/hslf/dev/SlideShowRecordDumper.java
index 8463080ca3..cff59a70c5 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/dev/SlideShowRecordDumper.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/dev/SlideShowRecordDumper.java
@@ -213,11 +213,10 @@ public final class SlideShowRecordDumper {
ps.println(ind + " options: 0x" + HexDump.toHex( ecr.getOptions() ));
ps.println(ind + " recordId: 0x" + HexDump.toHex( ecr.getRecordId() ));
- List<EscherRecord> childRecords = ecr.getChildRecords();
- ps.println(ind + " numchildren: " + childRecords.size());
+ ps.println(ind + " numchildren: " + ecr.getChildCount());
ps.println(ind + " children: ");
int count = 0;
- for ( EscherRecord record : childRecords ) {
+ for ( EscherRecord record : ecr ) {
ps.println(ind + " Child " + count + ":");
printEscherRecord(record, indent+1);
count++;
diff --git a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFFill.java b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFFill.java
index 5275669b76..bb2c52b214 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFFill.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFFill.java
@@ -459,8 +459,7 @@ public final class HSLFFill {
LOG.atDebug().log("EscherContainerRecord.BSTORE_CONTAINER was not found ");
return null;
}
- List<EscherRecord> lst = bstore.getChildRecords();
- return (EscherBSERecord)lst.get(idx-1);
+ return (EscherBSERecord) bstore.getChild(idx-1);
}
/**
@@ -563,12 +562,11 @@ public final class HSLFFill {
EscherContainerRecord dggContainer = doc.getPPDrawingGroup().getDggContainer();
EscherContainerRecord bstore = HSLFShape.getEscherChild(dggContainer, EscherContainerRecord.BSTORE_CONTAINER);
- List<EscherRecord> lst = bstore.getChildRecords();
int idx = p.getPropertyValue();
if (idx == 0){
LOG.atWarn().log("no reference to picture data found ");
} else {
- EscherBSERecord bse = (EscherBSERecord)lst.get(idx - 1);
+ EscherBSERecord bse = (EscherBSERecord) bstore.getChild(idx - 1);
for (HSLFPictureData pd : pict) {
// Reference equals is safe because these BSE belong to the same slideshow
diff --git a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFPictureShape.java b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFPictureShape.java
index 548fdff3d1..6aba4b23ff 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFPictureShape.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFPictureShape.java
@@ -146,13 +146,13 @@ public class HSLFPictureShape extends HSLFSimpleShape implements PictureShape<HS
LOG.atDebug().log("EscherContainerRecord.BSTORE_CONTAINER was not found ");
return null;
}
- List<EscherRecord> lst = bstore.getChildRecords();
+
int idx = getPictureIndex();
if (idx == 0){
LOG.atDebug().log("picture index was not found, returning ");
return null;
}
- return (EscherBSERecord)lst.get(idx-1);
+ return (EscherBSERecord) bstore.getChild(idx - 1);
}
/**
diff --git a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSheet.java b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSheet.java
index e241643869..9a010661c5 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSheet.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSheet.java
@@ -236,10 +236,7 @@ public abstract class HSLFSheet implements HSLFShapeContainer, Sheet<HSLFShape,H
return false;
}
- List<EscherRecord> lst = spgr.getChildRecords();
- boolean result = lst.remove(shape.getSpContainer());
- spgr.setChildRecords(lst);
- return result;
+ return spgr.removeChildRecord(shape.getSpContainer());
}
/**
diff --git a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShow.java b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShow.java
index 7066140bd6..6dbb61a0ba 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShow.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShow.java
@@ -1270,7 +1270,7 @@ public final class HSLFSlideShow extends POIDocument implements SlideShow<HSLFSh
record.setOffset(offset);
blipStore.addChildRecord(record);
- int count = blipStore.getChildRecords().size();
+ int count = blipStore.getChildCount();
blipStore.setOptions((short) ((count << 4) | 0xF));
return record;
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/OfficeArtContent.java b/src/scratchpad/src/org/apache/poi/hwpf/model/OfficeArtContent.java
index 2ea08f5ed1..35436bf75a 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/OfficeArtContent.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/OfficeArtContent.java
@@ -141,7 +141,7 @@ public final class OfficeArtContent {
1);
for ( EscherContainerRecord dgContainer : getDgContainers() )
{
- for ( EscherRecord escherRecord : dgContainer.getChildRecords() )
+ for ( EscherRecord escherRecord : dgContainer )
{
if ( escherRecord.getRecordId() == (short) 0xF003 )
{
@@ -158,7 +158,7 @@ public final class OfficeArtContent {
1);
for ( EscherContainerRecord spgrContainer : getSpgrContainers() )
{
- for ( EscherRecord escherRecord : spgrContainer.getChildRecords() )
+ for ( EscherRecord escherRecord : spgrContainer )
{
if ( escherRecord.getRecordId() == (short) 0xF004 )
{
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/usermodel/OfficeDrawingsImpl.java b/src/scratchpad/src/org/apache/poi/hwpf/usermodel/OfficeDrawingsImpl.java
index 253cc07536..ec5477725a 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/usermodel/OfficeDrawingsImpl.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/usermodel/OfficeDrawingsImpl.java
@@ -56,12 +56,10 @@ public class OfficeDrawingsImpl implements OfficeDrawings
if (bContainer == null)
return null;
- final List<EscherRecord> bitmapRecords = bContainer.getChildRecords();
-
- if ( bitmapRecords.size() < bitmapIndex )
+ if ( bContainer.getChildCount() < bitmapIndex )
return null;
- EscherRecord imageRecord = bitmapRecords.get( bitmapIndex - 1 );
+ EscherRecord imageRecord = bContainer.getChild( bitmapIndex - 1 );
if ( imageRecord instanceof EscherBlipRecord )
{
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBackground.java b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBackground.java
index c105e08518..38bc03bb28 100644
--- a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBackground.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBackground.java
@@ -211,8 +211,7 @@ public final class TestBackground {
Document doc = ppt.getDocumentRecord();
EscherContainerRecord dggContainer = doc.getPPDrawingGroup().getDggContainer();
EscherContainerRecord bstore = HSLFShape.getEscherChild(dggContainer, EscherContainerRecord.BSTORE_CONTAINER);
- List<EscherRecord> lst = bstore.getChildRecords();
- return ((EscherBSERecord)lst.get(idx-1)).getRef();
+ return ((EscherBSERecord) bstore.getChild(idx - 1)).getRef();
}
return 0;
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestPictures.java b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestPictures.java
index 40076c758f..a196ed685b 100644
--- a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestPictures.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestPictures.java
@@ -712,7 +712,7 @@ public final class TestPictures {
ByteArrayOutputStream inMemory = new ByteArrayOutputStream();
try (HSLFSlideShow ppt = HSLFTestDataSamples.getSlideShow("pictures.ppt")) {
originalOffsets = ppt.getPictureData().stream().mapToInt(HSLFPictureData::getOffset).toArray();
- originalNumberOfRecords = ppt.getPictureData().get(0).bStore.getChildRecords().size();
+ originalNumberOfRecords = ppt.getPictureData().get(0).bStore.getChildCount();
Random random = new Random();
for (HSLFPictureData picture : ppt.getPictureData()) {
@@ -729,7 +729,7 @@ public final class TestPictures {
assertArrayEquals(originalOffsets, offsets);
// Verify that there are the same number of records as in the original slideshow.
- int numberOfRecords = ppt.getPictureData().get(0).bStore.getChildRecords().size();
+ int numberOfRecords = ppt.getPictureData().get(0).bStore.getChildCount();
assertEquals(originalNumberOfRecords, numberOfRecords);
}
}
diff --git a/src/testcases/org/apache/poi/hssf/model/TestDrawingShapes.java b/src/testcases/org/apache/poi/hssf/model/TestDrawingShapes.java
index 673b548e38..22cd1ee11c 100644
--- a/src/testcases/org/apache/poi/hssf/model/TestDrawingShapes.java
+++ b/src/testcases/org/apache/poi/hssf/model/TestDrawingShapes.java
@@ -315,7 +315,7 @@ class TestDrawingShapes {
EscherContainerRecord spgrContainer =
agg1.getEscherContainer().getChildContainers().get(0);
// root spContainer + 2 spContainers for shapes
- assertEquals(3, spgrContainer.getChildRecords().size());
+ assertEquals(3, spgrContainer.getChildCount());
EscherSpRecord sp0 =
((EscherContainerRecord) spgrContainer.getChild(0)).getChildById(EscherSpRecord.RECORD_ID);
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java
index 0068f98305..181cd5052b 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java
@@ -213,7 +213,7 @@ final class TestHSSFComment extends BaseTestCellComment {
HSSFCell cell = row.createCell(0);
cell.setCellComment(comment);
- assertEquals(comment.getEscherContainer().getChildRecords().size(), 5);
+ assertEquals(comment.getEscherContainer().getChildCount(), 5);
//sp record
byte[] expected = decompress("H4sIAAAAAAAAAFvEw/WBg4GBgZEFSHAxMAAA9gX7nhAAAAA=");
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestPolygon.java b/src/testcases/org/apache/poi/hssf/usermodel/TestPolygon.java
index a144482e88..759e790a6f 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestPolygon.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestPolygon.java
@@ -43,7 +43,7 @@ class TestPolygon {
polygon.setPoints( new int[]{0, 90, 50}, new int[]{5, 5, 44} );
polygon.setShapeId(1024);
- assertEquals(polygon.getEscherContainer().getChildRecords().size(), 4);
+ assertEquals(polygon.getEscherContainer().getChildCount(), 4);
//sp record
byte[] expected = decompress("H4sIAAAAAAAAAGNi4PrAwQAELEDMxcAAAAU6ZlwQAAAA");
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestText.java b/src/testcases/org/apache/poi/hssf/usermodel/TestText.java
index f00bf02dfe..a7065cda2e 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestText.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestText.java
@@ -41,7 +41,7 @@ class TestText {
HSSFPatriarch patriarch = sh.createDrawingPatriarch();
HSSFTextbox textbox = patriarch.createTextbox(new HSSFClientAnchor());
- assertEquals(textbox.getEscherContainer().getChildRecords().size(), 5);
+ assertEquals(textbox.getEscherContainer().getChildCount(), 5);
//sp record
byte[] expected = decompress("H4sIAAAAAAAAAFvEw/WBg4GBgZEFSHAxMAAA9gX7nhAAAAA=");