aboutsummaryrefslogtreecommitdiffstats
path: root/poi-ooxml/src
diff options
context:
space:
mode:
authorPJ Fanning <fanningpj@apache.org>2021-11-20 16:26:55 +0000
committerPJ Fanning <fanningpj@apache.org>2021-11-20 16:26:55 +0000
commit3d44f76500db194acf3edb2cf6ebb8159e2a4e86 (patch)
tree486a2a731f2fb0b3ec411369a734bbbd2992fd9d /poi-ooxml/src
parent18bb41fb2732806b5024ad30ae0443798a3877c9 (diff)
downloadpoi-3d44f76500db194acf3edb2cf6ebb8159e2a4e86.tar.gz
poi-3d44f76500db194acf3edb2cf6ebb8159e2a4e86.zip
remove comment iterator
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1895210 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'poi-ooxml/src')
-rw-r--r--poi-ooxml/src/main/java/org/apache/poi/xssf/model/Comments.java8
-rw-r--r--poi-ooxml/src/main/java/org/apache/poi/xssf/model/CommentsTable.java32
-rw-r--r--poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java44
3 files changed, 24 insertions, 60 deletions
diff --git a/poi-ooxml/src/main/java/org/apache/poi/xssf/model/Comments.java b/poi-ooxml/src/main/java/org/apache/poi/xssf/model/Comments.java
index fe4a3ec8b3..6cbf6f6ccc 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xssf/model/Comments.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/model/Comments.java
@@ -75,14 +75,6 @@ public interface Comments {
Iterator<CellAddress> getCellAddresses();
/**
- * @param sheet the sheet to check for comments (used to find drawing/shape data for comments) - set to null
- * if you don't need the drawing/shape data
- * @return iterator of comments
- * @since POI 5.2.0
- */
- Iterator<XSSFComment> commentIterator(Sheet sheet);
-
- /**
* Create a new comment and add to the CommentTable.
* @param sheet sheet to add comment to
* @param clientAnchor the anchor for this comment
diff --git a/poi-ooxml/src/main/java/org/apache/poi/xssf/model/CommentsTable.java b/poi-ooxml/src/main/java/org/apache/poi/xssf/model/CommentsTable.java
index d9fbde7936..3cf33f22cf 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xssf/model/CommentsTable.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/model/CommentsTable.java
@@ -101,38 +101,6 @@ public class CommentsTable extends POIXMLDocumentPart implements Comments {
}
/**
- * @param sheet the sheet to check for comments (used to find drawing/shape data for comments) - set to null
- * if you don't need the drawing/shape data
- * @return iterator of comments
- * @since POI 5.2.0
- */
- @Override
- public Iterator<XSSFComment> commentIterator(Sheet sheet) {
- XSSFVMLDrawing vml = getVMLDrawing(sheet, false);
- final CommentsTable table = this;
- return new Iterator<XSSFComment>() {
- private final CTComment[] commentsArray = getCTComments().getCommentList().getCommentArray();
- private int counter = 0;
-
- @Override
- public boolean hasNext() {
- return counter < commentsArray.length;
- }
-
- @Override
- public XSSFComment next() {
- CTComment ctComment = commentsArray[counter++];
- CellAddress cellAddress = new CellAddress(ctComment.getRef());
- CTShape shape = null;
- if (vml != null) {
- shape = vml.findCommentShape(cellAddress.getRow(), cellAddress.getColumn());
- }
- return new XSSFComment(table, ctComment, shape);
- }
- };
- }
-
- /**
* Called after the reference is updated, so that
* we can reflect that in our cache
* @param oldReference the comment to remove from the commentRefs map
diff --git a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
index ab9ab51b72..66fcbe6499 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
@@ -3112,19 +3112,21 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
// is there a change necessary for the current row?
if(newrownum != rownum) {
- Iterator<XSSFComment> commentIterator = sheetComments.commentIterator(this);
- while (commentIterator.hasNext()) {
- XSSFComment oldComment = commentIterator.next();
- CellReference ref = new CellReference(oldComment.getRow(), oldComment.getColumn());
+ Iterator<CellAddress> commentAddressIterator = sheetComments.getCellAddresses();
+ while (commentAddressIterator.hasNext()) {
+ CellAddress cellAddress = commentAddressIterator.next();
// is this comment part of the current row?
- if(ref.getRow() == rownum) {
- XSSFComment xssfComment = new XSSFComment(sheetComments, oldComment.getCTComment(),
- oldComment.getCTShape());
-
- // we should not perform the shifting right here as we would then find
- // already shifted comments and would shift them again...
- commentsToShift.put(xssfComment, newrownum);
+ if(cellAddress.getRow() == rownum) {
+ XSSFComment oldComment = sheetComments.findCellComment(this, cellAddress);
+ if (oldComment != null) {
+ XSSFComment xssfComment = new XSSFComment(sheetComments, oldComment.getCTComment(),
+ oldComment.getCTShape());
+
+ // we should not perform the shifting right here as we would then find
+ // already shifted comments and would shift them again...
+ commentsToShift.put(xssfComment, newrownum);
+ }
}
}
}
@@ -3197,17 +3199,19 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
if (sheetComments != null) {
- Iterator<XSSFComment> commentIterator = sheetComments.commentIterator(this);
- while (commentIterator.hasNext()) {
- XSSFComment oldComment = commentIterator.next();
- CellReference ref = new CellReference(oldComment.getRow(), oldComment.getColumn());
+ Iterator<CellAddress> commentAddressIterator = sheetComments.getCellAddresses();
+ while (commentAddressIterator.hasNext()) {
+ CellAddress oldCommentAddress = commentAddressIterator.next();
- int columnIndex =ref.getCol();
+ int columnIndex = oldCommentAddress.getColumn();
int newColumnIndex = shiftedRowNum(startColumnIndex, endColumnIndex, n, columnIndex);
- if(newColumnIndex != columnIndex){
- XSSFComment xssfComment = new XSSFComment(sheetComments, oldComment.getCTComment(),
- vml == null ? null : vml.findCommentShape(ref.getRow(), columnIndex));
- commentsToShift.put(xssfComment, newColumnIndex);
+ if(newColumnIndex != columnIndex) {
+ XSSFComment oldComment = sheetComments.findCellComment(this, oldCommentAddress);
+ if (oldComment != null) {
+ XSSFComment xssfComment = new XSSFComment(sheetComments, oldComment.getCTComment(),
+ oldComment.getCTShape());
+ commentsToShift.put(xssfComment, newColumnIndex);
+ }
}
}
}