From ef017d70c17b663c17bd52773b0b09a5f67c22fe Mon Sep 17 00:00:00 2001 From: Javen O'Neal Date: Wed, 25 Nov 2015 07:16:43 +0000 Subject: [PATCH] bug 58636: upgrade anchor types from int to AnchorType enum git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1716313 13f79535-47bb-0310-9956-ffa450edef68 --- .../examples/AddDimensionedImage.java | 3 +- .../usermodel/examples/OfficeDrawing.java | 7 +- .../poi/ss/examples/AddDimensionedImage.java | 9 +- .../apache/poi/hssf/model/ComboboxShape.java | 3 +- .../apache/poi/hssf/model/ConvertAnchor.java | 2 +- .../poi/hssf/usermodel/HSSFClientAnchor.java | 16 ++-- .../poi/hssf/usermodel/HSSFCombobox.java | 3 +- .../poi/hssf/usermodel/HSSFPicture.java | 3 +- .../apache/poi/ss/usermodel/ClientAnchor.java | 95 +++++++++++++++---- .../poi/xssf/usermodel/XSSFClientAnchor.java | 17 ++-- .../poi/xssf/usermodel/XSSFDrawing.java | 7 +- .../poi/xssf/usermodel/TestXSSFPicture.java | 8 +- .../poi/hssf/model/TestDrawingShapes.java | 5 +- .../apache/poi/hssf/model/TestHSSFAnchor.java | 11 ++- .../apache/poi/hssf/usermodel/TestBugs.java | 3 +- .../poi/hssf/usermodel/TestHSSFPatriarch.java | 3 +- .../poi/hssf/usermodel/TestOLE2Embeding.java | 10 +- 17 files changed, 136 insertions(+), 69 deletions(-) diff --git a/src/examples/src/org/apache/poi/hssf/usermodel/examples/AddDimensionedImage.java b/src/examples/src/org/apache/poi/hssf/usermodel/examples/AddDimensionedImage.java index 77a077582f..05029238bf 100644 --- a/src/examples/src/org/apache/poi/hssf/usermodel/examples/AddDimensionedImage.java +++ b/src/examples/src/org/apache/poi/hssf/usermodel/examples/AddDimensionedImage.java @@ -31,6 +31,7 @@ import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFClientAnchor; import org.apache.poi.hssf.usermodel.HSSFPatriarch; import org.apache.poi.hssf.util.CellReference; +import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType; /** @@ -291,7 +292,7 @@ public class AddDimensionedImage { // image as the size of the row/column is adjusted. This could easilly // become another parameter passed to the method. //anchor.setAnchorType(HSSFClientAnchor.DONT_MOVE_AND_RESIZE); - anchor.setAnchorType(HSSFClientAnchor.MOVE_AND_RESIZE); + anchor.setAnchorType(AnchorType.MOVE_AND_RESIZE); // Now, add the picture to the workbook. Note that the type is assumed // to be a JPEG/JPG, this could easily (and should) be parameterised diff --git a/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawing.java b/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawing.java index 907d0f7594..68aafbc7cf 100644 --- a/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawing.java +++ b/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawing.java @@ -18,6 +18,7 @@ package org.apache.poi.hssf.usermodel.examples; import org.apache.poi.hssf.usermodel.*; +import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType; import java.io.*; @@ -152,15 +153,15 @@ public class OfficeDrawing { HSSFClientAnchor anchor; anchor = new HSSFClientAnchor(0,0,0,255,(short)2,2,(short)4,7); - anchor.setAnchorType( 2 ); + anchor.setAnchorType( AnchorType.MOVE_DONT_RESIZE ); patriarch.createPicture(anchor, loadPicture( "src/resources/logos/logoKarmokar4.png", wb )); anchor = new HSSFClientAnchor(0,0,0,255,(short)4,2,(short)5,7); - anchor.setAnchorType( 2 ); + anchor.setAnchorType( AnchorType.MOVE_DONT_RESIZE ); patriarch.createPicture(anchor, loadPicture( "src/resources/logos/logoKarmokar4edited.png", wb )); anchor = new HSSFClientAnchor(0,0,1023,255,(short)6,2,(short)8,7); - anchor.setAnchorType( 2 ); + anchor.setAnchorType( AnchorType.MOVE_DONT_RESIZE ); HSSFPicture picture = patriarch.createPicture(anchor, loadPicture( "src/resources/logos/logoKarmokar4s.png", wb )); //Reset the image to the original size. picture.resize(); diff --git a/src/examples/src/org/apache/poi/ss/examples/AddDimensionedImage.java b/src/examples/src/org/apache/poi/ss/examples/AddDimensionedImage.java index b4d80420ab..5eb10c2429 100644 --- a/src/examples/src/org/apache/poi/ss/examples/AddDimensionedImage.java +++ b/src/examples/src/org/apache/poi/ss/examples/AddDimensionedImage.java @@ -28,6 +28,7 @@ import java.util.Locale; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.ss.usermodel.ClientAnchor; +import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType; import org.apache.poi.ss.usermodel.Drawing; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; @@ -373,10 +374,10 @@ public class AddDimensionedImage { anchor.setRow2(rowClientAnchorDetail.getToIndex()); // For now, set the anchor type to do not move or resize the - // image as the size of the row/column is adjusted. This could easilly + // image as the size of the row/column is adjusted. This could easily // become another parameter passed to the method. Please read the note // above regarding the behaviour of image resizing. - anchor.setAnchorType(ClientAnchor.MOVE_AND_RESIZE); + anchor.setAnchorType(AnchorType.MOVE_AND_RESIZE); // Now, add the picture to the workbook. Note that unlike the similar // method in the HSSF Examples section, the image type is checked. First, @@ -400,14 +401,14 @@ public class AddDimensionedImage { } /** - * Determines whether the sheets columns should be re-sized to accomodate + * Determines whether the sheets columns should be re-sized to accommodate * the image, adjusts the columns width if necessary and creates then * returns a ClientAnchorDetail object that facilitates construction of * an ClientAnchor that will fix the image on the sheet and establish * it's size. * * @param sheet A reference to the sheet that will 'contain' the image. - * @param colNumber A primtive int that contains the index number of a + * @param colNumber A primitive int that contains the index number of a * column on the sheet. * @param reqImageWidthMM A primitive double that contains the required * width of the image in millimetres diff --git a/src/java/org/apache/poi/hssf/model/ComboboxShape.java b/src/java/org/apache/poi/hssf/model/ComboboxShape.java index bad7897640..2bfd9ef914 100644 --- a/src/java/org/apache/poi/hssf/model/ComboboxShape.java +++ b/src/java/org/apache/poi/hssf/model/ComboboxShape.java @@ -21,6 +21,7 @@ package org.apache.poi.hssf.model; import org.apache.poi.ddf.*; import org.apache.poi.hssf.record.*; import org.apache.poi.hssf.usermodel.*; +import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType; /** * Represents a combobox shape. @@ -92,7 +93,7 @@ public class ComboboxShape opt.addEscherProperty(new EscherSimpleProperty(EscherProperties.GROUPSHAPE__PRINT, 0x00020000)); HSSFClientAnchor userAnchor = (HSSFClientAnchor) shape.getAnchor(); - userAnchor.setAnchorType(1); + userAnchor.setAnchorType(AnchorType.DONT_MOVE_DO_RESIZE); EscherRecord anchor = createAnchor(userAnchor); clientData.setRecordId(EscherClientDataRecord.RECORD_ID); clientData.setOptions((short) 0x0000); diff --git a/src/java/org/apache/poi/hssf/model/ConvertAnchor.java b/src/java/org/apache/poi/hssf/model/ConvertAnchor.java index e7d923088d..60808e797a 100644 --- a/src/java/org/apache/poi/hssf/model/ConvertAnchor.java +++ b/src/java/org/apache/poi/hssf/model/ConvertAnchor.java @@ -38,7 +38,7 @@ public class ConvertAnchor EscherClientAnchorRecord anchor = new EscherClientAnchorRecord(); anchor.setRecordId( EscherClientAnchorRecord.RECORD_ID ); anchor.setOptions( (short) 0x0000 ); - anchor.setFlag( (short) a.getAnchorType() ); + anchor.setFlag( a.getAnchorType().value ); anchor.setCol1( (short) Math.min(a.getCol1(), a.getCol2()) ); anchor.setDx1( (short) a.getDx1() ); anchor.setRow1( (short) Math.min(a.getRow1(), a.getRow2()) ); diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFClientAnchor.java b/src/java/org/apache/poi/hssf/usermodel/HSSFClientAnchor.java index f21cfb112d..4b8a25e302 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFClientAnchor.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFClientAnchor.java @@ -250,20 +250,20 @@ public final class HSSFClientAnchor extends HSSFAnchor implements ClientAnchor { /** * Gets the anchor type - *

- * 0 = Move and size with Cells, 2 = Move but don't size with cells, 3 = Don't move or size with cells. + * @return the anchor type */ - public int getAnchorType() { - return _escherClientAnchor.getFlag(); + @Override + public AnchorType getAnchorType() { + return AnchorType.byId(_escherClientAnchor.getFlag()); } /** * Sets the anchor type - *

- * 0 = Move and size with Cells, 2 = Move but don't size with cells, 3 = Don't move or size with cells. + * @param anchorType the anchor type to set */ - public void setAnchorType(int anchorType) { - _escherClientAnchor.setFlag(Integer.valueOf(anchorType).shortValue()); + @Override + public void setAnchorType(AnchorType anchorType) { + _escherClientAnchor.setFlag(anchorType.value); } private void checkRange(int value, int minRange, int maxRange, String varName) { diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFCombobox.java b/src/java/org/apache/poi/hssf/usermodel/HSSFCombobox.java index 2dbbac2b8c..6ebca2f4c9 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFCombobox.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFCombobox.java @@ -19,6 +19,7 @@ package org.apache.poi.hssf.usermodel; import org.apache.poi.ddf.*; import org.apache.poi.hssf.record.*; +import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType; /** * @@ -61,7 +62,7 @@ public class HSSFCombobox extends HSSFSimpleShape { opt.addEscherProperty(new EscherSimpleProperty(EscherProperties.GROUPSHAPE__PRINT, 0x00020000)); HSSFClientAnchor userAnchor = (HSSFClientAnchor) getAnchor(); - userAnchor.setAnchorType(1); + userAnchor.setAnchorType(AnchorType.DONT_MOVE_DO_RESIZE); EscherRecord anchor = userAnchor.getEscherAnchor(); clientData.setRecordId(EscherClientDataRecord.RECORD_ID); clientData.setOptions((short) 0x0000); diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFPicture.java b/src/java/org/apache/poi/hssf/usermodel/HSSFPicture.java index 7ee9a06936..c40f45e964 100644 --- a/src/java/org/apache/poi/hssf/usermodel/HSSFPicture.java +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFPicture.java @@ -34,6 +34,7 @@ import org.apache.poi.hssf.model.InternalWorkbook; import org.apache.poi.hssf.record.CommonObjectDataSubRecord; import org.apache.poi.hssf.record.EscherAggregate; import org.apache.poi.hssf.record.ObjRecord; +import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType; import org.apache.poi.ss.usermodel.Picture; import org.apache.poi.ss.util.ImageUtils; import org.apache.poi.util.POILogFactory; @@ -134,7 +135,7 @@ public class HSSFPicture extends HSSFSimpleShape implements Picture { */ public void resize(double scaleX, double scaleY) { HSSFClientAnchor anchor = getClientAnchor(); - anchor.setAnchorType(2); + anchor.setAnchorType(AnchorType.MOVE_DONT_RESIZE); HSSFClientAnchor pref = getPreferredSize(scaleX,scaleY); diff --git a/src/java/org/apache/poi/ss/usermodel/ClientAnchor.java b/src/java/org/apache/poi/ss/usermodel/ClientAnchor.java index 639fd0c89b..b65c83bd07 100644 --- a/src/java/org/apache/poi/ss/usermodel/ClientAnchor.java +++ b/src/java/org/apache/poi/ss/usermodel/ClientAnchor.java @@ -23,6 +23,7 @@ package org.apache.poi.ss.usermodel; * @author Yegor Kozlov */ public interface ClientAnchor { + /** * Move and Resize With Anchor Cells *

@@ -30,9 +31,10 @@ public interface ClientAnchor { * resize to maintain its row and column anchors (i.e. the * object is anchored to the actual from and to row and column) *

+ * @deprecated since POI 3.14beta1 (circa 2015-11-24). Use {@link AnchorType.MOVE_AND_RESIZE} instead. */ - public static final int MOVE_AND_RESIZE = 0; - + public static final AnchorType MOVE_AND_RESIZE = AnchorType.MOVE_AND_RESIZE; + /** * Move With Cells but Do Not Resize *

@@ -44,8 +46,9 @@ public interface ClientAnchor { * If additional rows/columns are added between the from and to locations of the drawing, * the drawing shall move its to anchors as needed to maintain this same absolute size. *

+ * @deprecated since POI 3.14beta1 (circa 2015-11-24). Use {@link AnchorType.MOVE_DONT_RESIZE} instead. */ - public static final int MOVE_DONT_RESIZE = 2; + public static final AnchorType MOVE_DONT_RESIZE = AnchorType.MOVE_DONT_RESIZE; /** * Do Not Move or Resize With Underlying Rows/Columns @@ -59,9 +62,73 @@ public interface ClientAnchor { * drawing, the drawing shall move its anchors as needed * to maintain this same absolute position. *

+ * @deprecated since POI 3.14beta1 (circa 2015-11-24). Use {@link AnchorType.DONT_MOVE_AND_RESIZE} instead. */ - public static final int DONT_MOVE_AND_RESIZE = 3; - + public static final AnchorType DONT_MOVE_AND_RESIZE = AnchorType.DONT_MOVE_AND_RESIZE; + + /** + * @since POI 3.14beta1 + */ + public static enum AnchorType { + /** + * Move and Resize With Anchor Cells (0) + *

+ * Specifies that the current drawing shall move and + * resize to maintain its row and column anchors (i.e. the + * object is anchored to the actual from and to row and column) + *

+ */ + MOVE_AND_RESIZE(0), + + /** + * Don't Move but do Resize With Anchor Cells (1) + *

+ * Specifies that the current drawing shall not move with its + * row and column, but should be resized. This option is not normally + * used, but is included for completeness. + *

+ */ + DONT_MOVE_DO_RESIZE(1), + + /** + * Move With Cells but Do Not Resize (2) + *

+ * Specifies that the current drawing shall move with its + * row and column (i.e. the object is anchored to the + * actual from row and column), but that the size shall remain absolute. + *

+ *

+ * If additional rows/columns are added between the from and to locations of the drawing, + * the drawing shall move its to anchors as needed to maintain this same absolute size. + *

+ */ + MOVE_DONT_RESIZE(2), + + /** + * Do Not Move or Resize With Underlying Rows/Columns (3) + *

+ * Specifies that the current start and end positions shall + * be maintained with respect to the distances from the + * absolute start point of the worksheet. + *

+ *

+ * If additional rows/columns are added before the + * drawing, the drawing shall move its anchors as needed + * to maintain this same absolute position. + *

+ */ + DONT_MOVE_AND_RESIZE(3); + + public final short value; + AnchorType(int value) { + this.value = (short) value; + } + + public static AnchorType byId(int value) { + return values()[value]; + } + } + /** * Returns the column (0 based) of the first cell. * @@ -209,26 +276,14 @@ public interface ClientAnchor { /** * Sets the anchor type - *

- * 0 = Move and size with Cells, 2 = Move but don't size with cells, 3 = Don't move or size with cells. - *

- * @param anchorType the anchor type - * @see #MOVE_AND_RESIZE - * @see #MOVE_DONT_RESIZE - * @see #DONT_MOVE_AND_RESIZE + * @param anchorType the anchor type to set */ - public void setAnchorType( int anchorType ); + public void setAnchorType( AnchorType anchorType ); /** * Gets the anchor type - *

- * 0 = Move and size with Cells, 2 = Move but don't size with cells, 3 = Don't move or size with cells. - *

* @return the anchor type - * @see #MOVE_AND_RESIZE - * @see #MOVE_DONT_RESIZE - * @see #DONT_MOVE_AND_RESIZE */ - public int getAnchorType(); + public AnchorType getAnchorType(); } diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFClientAnchor.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFClientAnchor.java index 14dbaff14d..8045912abf 100644 --- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFClientAnchor.java +++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFClientAnchor.java @@ -28,7 +28,8 @@ import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker; * @author Yegor Kozlov */ public final class XSSFClientAnchor extends XSSFAnchor implements ClientAnchor { - private int anchorType; + private AnchorType DEFAULT_ANCHOR_TYPE = AnchorType.MOVE_AND_RESIZE; + private AnchorType anchorType; /** * Starting anchor point @@ -44,6 +45,7 @@ public final class XSSFClientAnchor extends XSSFAnchor implements ClientAnchor { * Creates a new client anchor and defaults all the anchor positions to 0. */ public XSSFClientAnchor() { + anchorType = DEFAULT_ANCHOR_TYPE; cell1 = CTMarker.Factory.newInstance(); cell1.setCol(0); cell1.setColOff(0); @@ -88,6 +90,7 @@ public final class XSSFClientAnchor extends XSSFAnchor implements ClientAnchor { * @param cell2 ending anchor point */ protected XSSFClientAnchor(CTMarker cell1, CTMarker cell2) { + anchorType = DEFAULT_ANCHOR_TYPE; this.cell1 = cell1; this.cell2 = cell2; } @@ -214,20 +217,20 @@ public final class XSSFClientAnchor extends XSSFAnchor implements ClientAnchor { /** * Sets the anchor type - *

- * 0 = Move and size with Cells, 2 = Move but don't size with cells, 3 = Don't move or size with cells. + * @param anchorType the anchor type to set */ - public void setAnchorType( int anchorType ) + @Override + public void setAnchorType( AnchorType anchorType ) { this.anchorType = anchorType; } /** * Gets the anchor type - *

- * 0 = Move and size with Cells, 2 = Move but don't size with cells, 3 = Don't move or size with cells. + * @return the anchor type */ - public int getAnchorType() + @Override + public AnchorType getAnchorType() { return anchorType; } diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java index ba45cfff48..64dfc5dd00 100644 --- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java +++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java @@ -34,7 +34,6 @@ import org.apache.poi.openxml4j.opc.TargetMode; import org.apache.poi.ss.usermodel.ClientAnchor; import org.apache.poi.ss.usermodel.Drawing; import org.apache.poi.ss.util.CellAddress; -import org.apache.poi.ss.util.CellReference; import org.apache.poi.util.Internal; import org.apache.poi.util.Units; import org.apache.poi.xssf.model.CommentsTable; @@ -373,9 +372,9 @@ public final class XSSFDrawing extends POIXMLDocumentPart implements Drawing { anchor.setFrom(ctAnchor.getFrom()); STEditAs.Enum aditAs; switch(anchor.getAnchorType()) { - case ClientAnchor.DONT_MOVE_AND_RESIZE: aditAs = STEditAs.ABSOLUTE; break; - case ClientAnchor.MOVE_AND_RESIZE: aditAs = STEditAs.TWO_CELL; break; - case ClientAnchor.MOVE_DONT_RESIZE: aditAs = STEditAs.ONE_CELL; break; + case DONT_MOVE_AND_RESIZE: aditAs = STEditAs.ABSOLUTE; break; + case MOVE_AND_RESIZE: aditAs = STEditAs.TWO_CELL; break; + case MOVE_DONT_RESIZE: aditAs = STEditAs.ONE_CELL; break; default: aditAs = STEditAs.ONE_CELL; } ctAnchor.setEditAs(aditAs); diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java index 7f6db45517..edaa974a2c 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java @@ -23,7 +23,7 @@ import java.io.IOException; import java.util.List; import org.apache.poi.ss.usermodel.BaseTestPicture; -import org.apache.poi.ss.usermodel.ClientAnchor; +import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType; import org.apache.poi.util.LocaleUtil; import org.apache.poi.xssf.XSSFITestDataProvider; import org.apache.poi.xssf.XSSFTestDataSamples; @@ -70,9 +70,9 @@ public final class TestXSSFPicture extends BaseTestPicture { assertArrayEquals(jpegData, pictures.get(jpegIdx).getData()); XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, 1, 1, 10, 30); - assertEquals(ClientAnchor.MOVE_AND_RESIZE, anchor.getAnchorType()); - anchor.setAnchorType(ClientAnchor.DONT_MOVE_AND_RESIZE); - assertEquals(ClientAnchor.DONT_MOVE_AND_RESIZE, anchor.getAnchorType()); + assertEquals(AnchorType.MOVE_AND_RESIZE, anchor.getAnchorType()); + anchor.setAnchorType(AnchorType.DONT_MOVE_AND_RESIZE); + assertEquals(AnchorType.DONT_MOVE_AND_RESIZE, anchor.getAnchorType()); XSSFPicture shape = drawing.createPicture(anchor, jpegIdx); assertTrue(anchor.equals(shape.getAnchor())); diff --git a/src/testcases/org/apache/poi/hssf/model/TestDrawingShapes.java b/src/testcases/org/apache/poi/hssf/model/TestDrawingShapes.java index c829159a5c..197f2f1008 100644 --- a/src/testcases/org/apache/poi/hssf/model/TestDrawingShapes.java +++ b/src/testcases/org/apache/poi/hssf/model/TestDrawingShapes.java @@ -35,6 +35,7 @@ import org.apache.poi.hssf.record.CommonObjectDataSubRecord; import org.apache.poi.hssf.record.EscherAggregate; import org.apache.poi.hssf.record.ObjRecord; import org.apache.poi.hssf.usermodel.*; +import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.util.HexDump; @@ -148,8 +149,8 @@ public class TestDrawingShapes extends TestCase { HSSFPatriarch drawing = sheet.createDrawingPatriarch(); HSSFClientAnchor anchor = new HSSFClientAnchor(10, 10, 50, 50, (short) 2, 2, (short) 4, 4); - anchor.setAnchorType(2); - assertEquals(anchor.getAnchorType(), 2); + anchor.setAnchorType(AnchorType.MOVE_DONT_RESIZE); + assertEquals(AnchorType.MOVE_DONT_RESIZE, anchor.getAnchorType()); HSSFSimpleShape rectangle = drawing.createSimpleShape(anchor); rectangle.setShapeType(HSSFSimpleShape.OBJECT_TYPE_RECTANGLE); diff --git a/src/testcases/org/apache/poi/hssf/model/TestHSSFAnchor.java b/src/testcases/org/apache/poi/hssf/model/TestHSSFAnchor.java index 481196e775..84ef3c4115 100644 --- a/src/testcases/org/apache/poi/hssf/model/TestHSSFAnchor.java +++ b/src/testcases/org/apache/poi/hssf/model/TestHSSFAnchor.java @@ -21,6 +21,7 @@ import junit.framework.TestCase; import org.apache.poi.ddf.*; import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.hssf.usermodel.*; +import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType; /** * @author Evgeniy Berlog @@ -30,7 +31,7 @@ public class TestHSSFAnchor extends TestCase { public void testDefaultValues(){ HSSFClientAnchor clientAnchor = new HSSFClientAnchor(); - assertEquals(clientAnchor.getAnchorType(), 0); + assertEquals(clientAnchor.getAnchorType(), AnchorType.MOVE_AND_RESIZE); assertEquals(clientAnchor.getCol1(), 0); assertEquals(clientAnchor.getCol2(), 0); assertEquals(clientAnchor.getDx1(), 0); @@ -41,7 +42,7 @@ public class TestHSSFAnchor extends TestCase { assertEquals(clientAnchor.getRow2(), 0); clientAnchor = new HSSFClientAnchor(new EscherClientAnchorRecord()); - assertEquals(clientAnchor.getAnchorType(), 0); + assertEquals(clientAnchor.getAnchorType(), AnchorType.MOVE_AND_RESIZE); assertEquals(clientAnchor.getCol1(), 0); assertEquals(clientAnchor.getCol2(), 0); assertEquals(clientAnchor.getDx1(), 0); @@ -143,7 +144,7 @@ public class TestHSSFAnchor extends TestCase { HSSFPatriarch drawing = sheet.createDrawingPatriarch(); HSSFClientAnchor anchor = new HSSFClientAnchor(10, 10, 200, 200, (short)2, 2, (short)15, 15); - anchor.setAnchorType(2); + anchor.setAnchorType(AnchorType.MOVE_DONT_RESIZE); HSSFSimpleShape rectangle = drawing.createSimpleShape(anchor); rectangle.setShapeType(HSSFSimpleShape.OBJECT_TYPE_RECTANGLE); @@ -362,9 +363,9 @@ public class TestHSSFAnchor extends TestCase { clientAnchor2.setRow2(7); assertEquals(clientAnchor1, clientAnchor2); - clientAnchor2.setAnchorType(3); + clientAnchor2.setAnchorType(AnchorType.DONT_MOVE_AND_RESIZE); assertNotSame(clientAnchor1, clientAnchor2); - clientAnchor2.setAnchorType(0); + clientAnchor2.setAnchorType(AnchorType.MOVE_AND_RESIZE); assertEquals(clientAnchor1, clientAnchor2); HSSFChildAnchor childAnchor1 = new HSSFChildAnchor(0, 1, 2, 3); diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java index 30f6343197..d9027d2ff9 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java @@ -70,6 +70,7 @@ import org.apache.poi.ss.formula.ptg.Ptg; import org.apache.poi.ss.usermodel.BaseTestBugzillaIssues; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType; import org.apache.poi.ss.usermodel.DataFormatter; import org.apache.poi.ss.usermodel.FormulaEvaluator; import org.apache.poi.ss.usermodel.Name; @@ -2966,7 +2967,7 @@ public final class TestBugs extends BaseTestBugzillaIssues { assertNotNull("Did not find sheet", sheet); HSSFPatriarch patriarch = (HSSFPatriarch) sheet.createDrawingPatriarch(); HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 0, 0, (short) 1, 1, (short) 10, 22); - anchor.setAnchorType(2); + anchor.setAnchorType(AnchorType.MOVE_DONT_RESIZE); patriarch.createPicture(anchor, pict); // Write out destination file diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPatriarch.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPatriarch.java index c51ca93892..e3428cc920 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPatriarch.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPatriarch.java @@ -18,6 +18,7 @@ package org.apache.poi.hssf.usermodel; import org.apache.poi.hssf.HSSFTestDataSamples; +import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType; import junit.framework.AssertionFailedError; import junit.framework.TestCase; @@ -56,7 +57,7 @@ public final class TestHSSFPatriarch extends TestCase { // 3. Use patriarch HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 600, 245, (short) 1, 1, (short) 1, 2); - anchor.setAnchorType(3); + anchor.setAnchorType(AnchorType.DONT_MOVE_AND_RESIZE); byte[] pictureData = HSSFTestDataSamples.getTestDataFileContent("logoKarmokar4.png"); int idx1 = wb.addPicture(pictureData, HSSFWorkbook.PICTURE_TYPE_PNG); patr.createPicture(anchor, idx1); diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestOLE2Embeding.java b/src/testcases/org/apache/poi/hssf/usermodel/TestOLE2Embeding.java index 262b66d3a4..fea681e749 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestOLE2Embeding.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestOLE2Embeding.java @@ -31,7 +31,7 @@ import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.poifs.filesystem.DirectoryNode; import org.apache.poi.poifs.filesystem.Ole10Native; import org.apache.poi.poifs.filesystem.POIFSFileSystem; -import org.apache.poi.ss.usermodel.ClientAnchor; +import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType; import org.apache.poi.ss.usermodel.CreationHelper; import org.apache.poi.util.LocaleUtil; import org.junit.Test; @@ -88,25 +88,25 @@ public final class TestOLE2Embeding { CreationHelper ch = wb1.getCreationHelper(); HSSFClientAnchor anchor = (HSSFClientAnchor)ch.createClientAnchor(); anchor.setAnchor((short)(2+coloffset), 1+rowoffset, 0, 0, (short)(3+coloffset), 5+rowoffset, 0, 0); - anchor.setAnchorType(ClientAnchor.DONT_MOVE_AND_RESIZE); + anchor.setAnchorType(AnchorType.DONT_MOVE_AND_RESIZE); patriarch.createObjectData(anchor, pptIdx, imgPPT); anchor = (HSSFClientAnchor)ch.createClientAnchor(); anchor.setAnchor((short)(5+coloffset), 1+rowoffset, 0, 0, (short)(6+coloffset), 5+rowoffset, 0, 0); - anchor.setAnchorType(ClientAnchor.DONT_MOVE_AND_RESIZE); + anchor.setAnchorType(AnchorType.DONT_MOVE_AND_RESIZE); patriarch.createObjectData(anchor, xlsIdx, imgIdx); anchor = (HSSFClientAnchor)ch.createClientAnchor(); anchor.setAnchor((short)(3+coloffset), 10+rowoffset, 0, 0, (short)(5+coloffset), 11+rowoffset, 0, 0); - anchor.setAnchorType(ClientAnchor.DONT_MOVE_AND_RESIZE); + anchor.setAnchorType(AnchorType.DONT_MOVE_AND_RESIZE); patriarch.createObjectData(anchor, txtIdx, imgIdx); anchor = (HSSFClientAnchor)ch.createClientAnchor(); anchor.setAnchor((short)(1+coloffset), -2+rowoffset, 0, 0, (short)(7+coloffset), 14+rowoffset, 0, 0); - anchor.setAnchorType(ClientAnchor.DONT_MOVE_AND_RESIZE); + anchor.setAnchorType(AnchorType.DONT_MOVE_AND_RESIZE); HSSFSimpleShape circle = patriarch.createSimpleShape(anchor); circle.setShapeType(HSSFSimpleShape.OBJECT_TYPE_OVAL); -- 2.39.5