From ce79a4f121feeef71c16edb52f5adbea2e6c27ab Mon Sep 17 00:00:00 2001 From: Yegor Kozlov Date: Mon, 16 Nov 2009 15:33:45 +0000 Subject: [PATCH] removed log4j calls from ooxml tests, also fixed misc bugs discovered when imlementing OOXMLLite git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@880799 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/poi/openxml4j/opc/ZipPackage.java | 3 +- .../poi/xssf/usermodel/XSSFSimpleShape.java | 1 + .../poi/xwpf/usermodel/XWPFTableRow.java | 5 +- .../poi/openxml4j/opc/TestListParts.java | 7 +- .../apache/poi/openxml4j/opc/TestPackage.java | 9 +- .../opc/TestPackageCoreProperties.java | 6 +- .../poi/openxml4j/opc/TestRelationships.java | 7 +- .../poi/xssf/usermodel/TestXSSFDrawing.java | 19 +++ .../poi/xwpf/TestDocumentProtection.java | 19 +-- .../poi/xwpf/usermodel/TestXWPFHeadings.java | 12 +- .../poi/xwpf/usermodel/TestXWPFRun.java | 2 +- .../poi/xwpf/usermodel/TestXWPFTable.java | 153 +++++++++--------- 12 files changed, 128 insertions(+), 115 deletions(-) diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/ZipPackage.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/ZipPackage.java index b890ad725d..2e211a64d1 100644 --- a/src/ooxml/java/org/apache/poi/openxml4j/opc/ZipPackage.java +++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/ZipPackage.java @@ -246,8 +246,7 @@ public final class ZipPackage extends Package { return new MemoryPackagePart(this, partName, contentType, loadRelationships); } catch (InvalidFormatException e) { - // TODO - don't use system.err. Is it valid to return null when this exception occurs? - System.err.println(e); + logger.log(POILogger.WARN, e); return null; } } diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSimpleShape.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSimpleShape.java index 0e2c3f02b7..7fc27de89d 100644 --- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSimpleShape.java +++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSimpleShape.java @@ -171,6 +171,7 @@ public class XSSFSimpleShape extends XSSFShape { // TODO - instantiable supercla for (int i = 0; i < str.getCTRst().sizeOfRArray(); i++) { CTRElt lt = str.getCTRst().getRArray(i); CTRPrElt ltPr = lt.getRPr(); + if(ltPr == null) ltPr = lt.addNewRPr(); CTRegularTextRun r = p.addNewR(); CTTextCharacterProperties rPr = r.addNewRPr(); diff --git a/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableRow.java b/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableRow.java index e2cea13fa2..9893d615ef 100644 --- a/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableRow.java +++ b/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableRow.java @@ -62,9 +62,8 @@ public class XWPFTableRow { */ public void setHeight(int height) { CTTrPr properties = getTrPr(); - CTHeight h = properties.getTrHeightArray(0) == null ? properties.addNewTrHeight() : properties.getTrHeightArray(0); + CTHeight h = properties.sizeOfTrHeightArray() == 0 ? properties.addNewTrHeight() : properties.getTrHeightArray(0); h.setVal(new BigInteger("" + height)); - //properties.setTrHeightArray(0,height); } /** @@ -79,7 +78,7 @@ public class XWPFTableRow { */ public int getHeight() { CTTrPr properties = getTrPr(); - return properties.getTrHeightArray(0) == null ? 0 : properties.getTrHeightArray(0).getVal().intValue(); + return properties.sizeOfTrHeightArray() == 0 ? 0 : properties.getTrHeightArray(0).getVal().intValue(); } diff --git a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java index 01e628eba4..78294e3534 100644 --- a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java +++ b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java @@ -23,12 +23,13 @@ import java.util.TreeMap; import junit.framework.TestCase; -import org.apache.log4j.Logger; import org.apache.poi.openxml4j.OpenXML4JTestDataSamples; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; +import org.apache.poi.util.POILogger; +import org.apache.poi.util.POILogFactory; public final class TestListParts extends TestCase { - private static Logger logger = Logger.getLogger("org.apache.poi.openxml4j.test"); + private static final POILogger logger = POILogFactory.getLogger(TestListParts.class); private TreeMap expectedValues; @@ -91,7 +92,7 @@ public final class TestListParts extends TestCase { } for (PackagePart part : p.getParts()) { values.put(part.getPartName(), part.getContentType()); - logger.debug(part.getPartName()); + logger.log(POILogger.DEBUG, part.getPartName()); } // Compare expected values with values return by the package diff --git a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java index a4c813924f..9bb66c0a41 100644 --- a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java +++ b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java @@ -30,12 +30,13 @@ import java.util.Iterator; import junit.framework.TestCase; -import org.apache.log4j.Logger; import org.apache.poi.openxml4j.OpenXML4JTestDataSamples; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.openxml4j.opc.internal.ContentTypeManager; import org.apache.poi.openxml4j.opc.internal.FileHelper; import org.apache.poi.util.TempFile; +import org.apache.poi.util.POILogger; +import org.apache.poi.util.POILogFactory; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; @@ -44,7 +45,7 @@ import org.dom4j.QName; import org.dom4j.io.SAXReader; public final class TestPackage extends TestCase { - private static Logger logger = Logger.getLogger("org.apache.poi.openxml4j.test"); + private static final POILogger logger = POILogFactory.getLogger(TestPackage.class); /** * Test that just opening and closing the file doesn't alter the document. @@ -393,7 +394,7 @@ public final class TestPackage extends TestCase { for (PackagePart part : p.getParts()) { values.put(part.getPartName(), part.getContentType()); - logger.debug(part.getPartName()); + logger.log(POILogger.DEBUG, part.getPartName()); } // Compare expected values with values return by the package @@ -431,7 +432,7 @@ public final class TestPackage extends TestCase { for (PackagePart part : p.getParts()) { values.put(part.getPartName(), part.getContentType()); - logger.debug(part.getPartName()); + logger.log(POILogger.DEBUG, part.getPartName()); } // Compare expected values with values return by the package diff --git a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java index 1014279981..d76c24b0c2 100644 --- a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java +++ b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java @@ -25,13 +25,15 @@ import java.util.Date; import junit.framework.TestCase; -import org.apache.log4j.Logger; import org.apache.poi.openxml4j.OpenXML4JTestDataSamples; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.openxml4j.exceptions.OpenXML4JException; import org.apache.poi.openxml4j.util.Nullable; +import org.apache.poi.util.POILogger; +import org.apache.poi.util.POILogFactory; public final class TestPackageCoreProperties extends TestCase { + private static final POILogger logger = POILogFactory.getLogger(TestPackageCoreProperties.class); /** * Test package core properties getters. @@ -43,7 +45,7 @@ public final class TestPackageCoreProperties extends TestCase { compareProperties(p); p.revert(); } catch (OpenXML4JException e) { - Logger.getLogger("org.apache.poi.openxml4j.demo").debug(e.getMessage()); + logger.log(POILogger.DEBUG, e.getMessage()); throw new RuntimeException(e); } catch (IOException e) { throw new RuntimeException(e); diff --git a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java index 6161f4264b..2b3b28138f 100644 --- a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java +++ b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java @@ -21,8 +21,9 @@ import java.io.*; import junit.framework.TestCase; -import org.apache.log4j.Logger; import org.apache.poi.openxml4j.OpenXML4JTestDataSamples; +import org.apache.poi.util.POILogger; +import org.apache.poi.util.POILogFactory; public class TestRelationships extends TestCase { @@ -33,7 +34,7 @@ public class TestRelationships extends TestCase { private static final String SHEET_WITH_COMMENTS = "/xl/worksheets/sheet1.xml"; - private static Logger logger = Logger.getLogger("org.apache.poi.openxml4j.test"); + private static final POILogger logger = POILogFactory.getLogger(TestPackageCoreProperties.class); /** * Test relationships are correctly loaded. This at the moment fails (as of r499) @@ -44,7 +45,7 @@ public class TestRelationships extends TestCase { public void testLoadRelationships() throws Exception { InputStream is = OpenXML4JTestDataSamples.openSampleStream("sample.xlsx"); OPCPackage pkg = OPCPackage.open(is); - logger.debug("1: " + pkg); + logger.log(POILogger.DEBUG, "1: " + pkg); PackageRelationshipCollection rels = pkg.getRelationshipsByType(PackageRelationshipTypes.CORE_DOCUMENT); PackageRelationship coreDocRelationship = rels.getRelationship(0); PackagePart corePart = pkg.getPart(coreDocRelationship); diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDrawing.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDrawing.java index 8b721b6199..03f491d390 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDrawing.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDrawing.java @@ -66,6 +66,25 @@ public class TestXSSFDrawing extends TestCase { assertTrue(sheet.getCTWorksheet().isSetDrawing()); assertEquals(drawingId, sheet.getCTWorksheet().getDrawing().getId()); + XSSFClientAnchor anchor = new XSSFClientAnchor(); + + XSSFConnector c1= drawing.createConnector(anchor); + c1.setLineWidth(2.5); + c1.setLineStyle(1); + + XSSFShapeGroup c2 = drawing.createGroup(anchor); + + XSSFSimpleShape c3 = drawing.createSimpleShape(anchor); + c3.setText(new XSSFRichTextString("Test String")); + c3.setFillColor(128, 128, 128); + + XSSFTextBox c4 = drawing.createTextbox(anchor); + XSSFRichTextString rt = new XSSFRichTextString("Test String"); + rt.applyFont(0, 5, wb.createFont()); + rt.applyFont(5, 6, wb.createFont()); + c4.setText(rt); + + c4.setNoFill(true); } public void testMultipleDrawings(){ XSSFWorkbook wb = new XSSFWorkbook(); diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/TestDocumentProtection.java b/src/ooxml/testcases/org/apache/poi/xwpf/TestDocumentProtection.java index 10f0e4818f..1d96f6d589 100644 --- a/src/ooxml/testcases/org/apache/poi/xwpf/TestDocumentProtection.java +++ b/src/ooxml/testcases/org/apache/poi/xwpf/TestDocumentProtection.java @@ -82,7 +82,7 @@ public class TestDocumentProtection extends TestCase { } public void testShouldEnforceForFillingForms() throws Exception { - XWPFDocument document = createDocumentFromSampleFile("test-data/document/documentProtection_no_protection.docx"); + XWPFDocument document = XWPFTestDataSamples.openSampleDocument("documentProtection_no_protection.docx"); assertFalse(document.isEnforcedFillingFormsProtection()); document.enforceFillingFormsProtection(); @@ -91,7 +91,7 @@ public class TestDocumentProtection extends TestCase { } public void testShouldEnforceForComments() throws Exception { - XWPFDocument document = createDocumentFromSampleFile("test-data/document/documentProtection_no_protection.docx"); + XWPFDocument document = XWPFTestDataSamples.openSampleDocument("documentProtection_no_protection.docx"); assertFalse(document.isEnforcedCommentsProtection()); document.enforceCommentsProtection(); @@ -100,7 +100,7 @@ public class TestDocumentProtection extends TestCase { } public void testShouldEnforceForTrackedChanges() throws Exception { - XWPFDocument document = createDocumentFromSampleFile("test-data/document/documentProtection_no_protection.docx"); + XWPFDocument document = XWPFTestDataSamples.openSampleDocument("documentProtection_no_protection.docx"); assertFalse(document.isEnforcedTrackedChangesProtection()); document.enforceTrackedChangesProtection(); @@ -109,7 +109,7 @@ public class TestDocumentProtection extends TestCase { } public void testShouldUnsetEnforcement() throws Exception { - XWPFDocument document = createDocumentFromSampleFile("test-data/document/documentProtection_readonly_no_password.docx"); + XWPFDocument document = XWPFTestDataSamples.openSampleDocument("documentProtection_readonly_no_password.docx"); assertTrue(document.isEnforcedReadonlyProtection()); document.removeProtectionEnforcement(); @@ -139,15 +139,4 @@ public class TestDocumentProtection extends TestCase { assertTrue(document.isEnforcedCommentsProtection()); } - private XWPFDocument createDocumentFromSampleFile(String fileName) throws FileNotFoundException, IOException { - File file = new File(fileName); - FileInputStream in = new FileInputStream(file); - byte[] bytes = new byte[(int) file.length()]; - in.read(bytes); - - ByteArrayInputStream inputStream = new ByteArrayInputStream(bytes); - XWPFDocument document = new XWPFDocument(inputStream); - return document; - } - } diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeadings.java b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeadings.java index 7edd4bd4e9..1cf309f71e 100644 --- a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeadings.java +++ b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeadings.java @@ -1,19 +1,12 @@ package org.apache.poi.xwpf.usermodel; -import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; -import java.io.OutputStream; import junit.framework.TestCase; -import org.apache.poi.util.TempFile; import org.apache.poi.xwpf.XWPFTestDataSamples; import org.apache.xmlbeans.XmlException; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTSdtBlock; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTStyle; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTStyles; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.STStyleType; /** * @author Paolo Mottadelli @@ -35,7 +28,7 @@ public final class TestXWPFHeadings extends TestCase{ assertEquals(HEADING1, p.getCTP().getPPr().getPStyle().getVal()); doc.createTOC(); - + /* // TODO - finish this test if (false) { CTStyles styles = doc.getStyle(); @@ -50,5 +43,6 @@ public final class TestXWPFHeadings extends TestCase{ doc.write(out); out.close(); } - } + */ + } } diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFRun.java b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFRun.java index ea758c88a7..b7d35fcfa2 100644 --- a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFRun.java +++ b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFRun.java @@ -187,7 +187,7 @@ public class TestXWPFRun extends TestCase { run.setText("TEXT1"); run.addBreak(); run.setText("TEXT2"); - run.addBreak(); + run.addBreak(BreakType.TEXT_WRAPPING); assertEquals(2, run.getCTR().sizeOfBrArray()); } diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTable.java b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTable.java index 4d877a9bc4..d7a831757e 100644 --- a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTable.java +++ b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTable.java @@ -33,85 +33,92 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTText; public class TestXWPFTable extends TestCase { protected void setUp() { - /* - XWPFDocument doc = new XWPFDocument(); - p = doc.createParagraph(); + /* + XWPFDocument doc = new XWPFDocument(); + p = doc.createParagraph(); - this.ctRun = CTR.Factory.newInstance(); - */ + this.ctRun = CTR.Factory.newInstance(); + */ } public void testConstructor() { - CTTbl ctTable=CTTbl.Factory.newInstance(); - XWPFTable xtab=new XWPFTable(null, ctTable); - assertNotNull(xtab); - assertEquals(1,ctTable.sizeOfTrArray()); - assertEquals(1,ctTable.getTrArray(0).sizeOfTcArray()); - assertNotNull(ctTable.getTrArray(0).getTcArray(0).getPArray(0)); - - ctTable=CTTbl.Factory.newInstance(); - xtab=new XWPFTable(null, ctTable, 3,2); - assertNotNull(xtab); - assertEquals(3,ctTable.sizeOfTrArray()); - assertEquals(2,ctTable.getTrArray(0).sizeOfTcArray()); - assertNotNull(ctTable.getTrArray(0).getTcArray(0).getPArray(0)); - } - - - public void testGetText(){ - CTTbl table = CTTbl.Factory.newInstance(); - CTRow row=table.addNewTr(); - CTTc cell=row.addNewTc(); - CTP paragraph=cell.addNewP(); - CTR run=paragraph.addNewR(); - CTText text=run.addNewT(); - text.setStringValue("finally I can write!"); - - XWPFTable xtab=new XWPFTable(null, table); - assertEquals("finally I can write!\n",xtab.getText()); + CTTbl ctTable = CTTbl.Factory.newInstance(); + XWPFTable xtab = new XWPFTable(null, ctTable); + assertNotNull(xtab); + assertEquals(1, ctTable.sizeOfTrArray()); + assertEquals(1, ctTable.getTrArray(0).sizeOfTcArray()); + assertNotNull(ctTable.getTrArray(0).getTcArray(0).getPArray(0)); + + ctTable = CTTbl.Factory.newInstance(); + xtab = new XWPFTable(null, ctTable, 3, 2); + assertNotNull(xtab); + assertEquals(3, ctTable.sizeOfTrArray()); + assertEquals(2, ctTable.getTrArray(0).sizeOfTcArray()); + assertNotNull(ctTable.getTrArray(0).getTcArray(0).getPArray(0)); } - - - public void testCreateRow(){ - CTTbl table = CTTbl.Factory.newInstance(); - CTRow r1=table.addNewTr(); - r1.addNewTc().addNewP(); - r1.addNewTc().addNewP(); - CTRow r2=table.addNewTr(); - r2.addNewTc().addNewP(); - r2.addNewTc().addNewP(); - CTRow r3=table.addNewTr(); - r3.addNewTc().addNewP(); - r3.addNewTc().addNewP(); - - XWPFTable xtab=new XWPFTable(null, table); - assertEquals(3,xtab.getNumberOfRows()); - assertNotNull(xtab.getRow(2)); - - //add a new row - xtab.createRow(); - - //check number of cols - assertEquals(2,table.getTrArray(0).sizeOfTcArray()); - - //check creation of first row - xtab=new XWPFTable(null, CTTbl.Factory.newInstance()); - assertEquals(1,xtab.getCTTbl().getTrArray(0).sizeOfTcArray()); + + + public void testGetText() { + CTTbl table = CTTbl.Factory.newInstance(); + CTRow row = table.addNewTr(); + CTTc cell = row.addNewTc(); + CTP paragraph = cell.addNewP(); + CTR run = paragraph.addNewR(); + CTText text = run.addNewT(); + text.setStringValue("finally I can write!"); + + XWPFTable xtab = new XWPFTable(null, table); + assertEquals("finally I can write!\n", xtab.getText()); } - - - public void testSetGetWidth(){ - CTTbl table = CTTbl.Factory.newInstance(); - table.addNewTblPr().addNewTblW().setW(new BigInteger("1000")); - - XWPFTable xtab=new XWPFTable(null, table); - - assertEquals(1000,xtab.getWidth()); - - xtab.setWidth(100); - assertEquals(100,table.getTblPr().getTblW().getW().intValue()); + + + public void testCreateRow() { + CTTbl table = CTTbl.Factory.newInstance(); + CTRow r1 = table.addNewTr(); + r1.addNewTc().addNewP(); + r1.addNewTc().addNewP(); + CTRow r2 = table.addNewTr(); + r2.addNewTc().addNewP(); + r2.addNewTc().addNewP(); + CTRow r3 = table.addNewTr(); + r3.addNewTc().addNewP(); + r3.addNewTc().addNewP(); + + XWPFTable xtab = new XWPFTable(null, table); + assertEquals(3, xtab.getNumberOfRows()); + assertNotNull(xtab.getRow(2)); + + //add a new row + xtab.createRow(); + + //check number of cols + assertEquals(2, table.getTrArray(0).sizeOfTcArray()); + + //check creation of first row + xtab = new XWPFTable(null, CTTbl.Factory.newInstance()); + assertEquals(1, xtab.getCTTbl().getTrArray(0).sizeOfTcArray()); + } + + + public void testSetGetWidth() { + CTTbl table = CTTbl.Factory.newInstance(); + table.addNewTblPr().addNewTblW().setW(new BigInteger("1000")); + + XWPFTable xtab = new XWPFTable(null, table); + + assertEquals(1000, xtab.getWidth()); + + xtab.setWidth(100); + assertEquals(100, table.getTblPr().getTblW().getW().intValue()); + } + + public void testSetGetHeight() { + CTTbl table = CTTbl.Factory.newInstance(); + + XWPFTable xtab = new XWPFTable(null, table); + XWPFTableRow row = xtab.createRow(); + row.setHeight(20); + assertEquals(20, row.getHeight()); } - - } \ No newline at end of file -- 2.39.5