svn commit: r1886644 - /poi/site/src/documentation/content/xdocs/changes.xml
Author: abearez Date: Wed Feb 17 22:06:30 2021 New Revision: 1886644 URL: http://svn.apache.org/viewvc?rev=1886644=rev Log: Manipulate individual data point properties Modified: poi/site/src/documentation/content/xdocs/changes.xml Modified: poi/site/src/documentation/content/xdocs/changes.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/changes.xml?rev=1886644=1886643=1886644=diff == --- poi/site/src/documentation/content/xdocs/changes.xml (original) +++ poi/site/src/documentation/content/xdocs/changes.xml Wed Feb 17 22:06:30 2021 @@ -89,6 +89,7 @@ XSSFWorkbook - reference cloned sheet in cloned chart data XSSFWorkbook - clone sheet with chart XSLFSlide - import slide notes when importing slide content +Manipulate individual data point properties - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1886643 - /poi/site/src/documentation/content/xdocs/changes.xml
Author: abearez Date: Wed Feb 17 22:06:26 2021 New Revision: 1886643 URL: http://svn.apache.org/viewvc?rev=1886643=rev Log: [bug-54470] clone sheet with chart Modified: poi/site/src/documentation/content/xdocs/changes.xml Modified: poi/site/src/documentation/content/xdocs/changes.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/changes.xml?rev=1886643=1886642=1886643=diff == --- poi/site/src/documentation/content/xdocs/changes.xml (original) +++ poi/site/src/documentation/content/xdocs/changes.xml Wed Feb 17 22:06:26 2021 @@ -86,7 +86,8 @@ Don't throw exception on empty data source Set hole size for doughnut chart XSSFDrawing - import chart from other drawing -XSSFWorkbook - clone sheet with chart +XSSFWorkbook - reference cloned sheet in cloned chart data +XSSFWorkbook - clone sheet with chart XSLFSlide - import slide notes when importing slide content - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1886642 - in /poi/trunk/src: examples/src/org/apache/poi/examples/xslf/ examples/src/org/apache/poi/examples/xssf/usermodel/ ooxml/java/org/apache/poi/xddf/usermodel/chart/ ooxml/testcase
Author: abearez Date: Wed Feb 17 22:05:18 2021 New Revision: 1886642 URL: http://svn.apache.org/viewvc?rev=1886642=rev Log: Manipulate individual data point properties Added: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataPoint.java Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xslf/PieChartDemo.java poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/BarAndLineChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFArea3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFAreaChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBar3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDoughnutChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFLine3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFLineChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFPie3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFPieChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFRadarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFScatterChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSurface3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSurfaceChartData.java poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/TestNecessaryOOXMLClasses.java Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xslf/PieChartDemo.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/xslf/PieChartDemo.java?rev=1886642=1886641=1886642=diff == --- poi/trunk/src/examples/src/org/apache/poi/examples/xslf/PieChartDemo.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/examples/xslf/PieChartDemo.java Wed Feb 17 22:05:18 2021 @@ -110,6 +110,7 @@ public final class PieChartDemo { firstSeries.replaceData(categoriesData, valuesData); firstSeries.setTitle(chartTitle, chart.setSheetTitle(chartTitle, 0)); firstSeries.setExplosion(25L); + firstSeries.getDataPoint(1).setExplosion(35L); chart.plot(pie); // save the result Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/BarAndLineChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/BarAndLineChart.java?rev=1886642=1886641=1886642=diff == --- poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/BarAndLineChart.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/BarAndLineChart.java Wed Feb 17 22:05:18 2021 @@ -166,10 +166,15 @@ public final class BarAndLineChart { // some colors XDDFFillProperties solidChartreuse = new XDDFSolidFillProperties(XDDFColor.from(PresetColor.CHARTREUSE)); XDDFFillProperties solidTurquoise = new XDDFSolidFillProperties(XDDFColor.from(PresetColor.TURQUOISE)); -XDDFLineProperties solidLines = new XDDFLineProperties(solidTurquoise); +XDDFLineProperties linesChartreuse = new XDDFLineProperties(solidChartreuse); +XDDFLineProperties linesTurquoise = new XDDFLineProperties(solidTurquoise); series1.setFillProperties(solidChartreuse); -series1.setLineProperties(solidLines); // bar border color different from fill -series2.setLineProperties(solidLines); +series1.setLineProperties(linesTurquoise); // bar border color different from fill +series1.getDataPoint(2).setFillProperties(solidTurquoise); // this specific bar has inverted colors +series1.getDataPoint(2).setLineProperties(linesChartreuse); +series2.setLineProperties(linesTurquoise); +series2.getDataPoint(2).setMarkerStyle(MarkerStyle.STAR); +series2.getDataPoint(2).setLineProperties(linesChartreuse); // legend XDDFChartLegend legend = chart.getOrAddLegend(); Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFArea3DChartData.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFArea3DChartData.java?rev=1886642=1886641=1886642=diff == --- poi/trunk/src/ooxml/java/org
svn commit: r1886606 - /poi/site/src/documentation/content/xdocs/changes.xml
Author: abearez Date: Tue Feb 16 23:40:09 2021 New Revision: 1886606 URL: http://svn.apache.org/viewvc?rev=1886606=rev Log: [bug-63902] reference cloned sheet in cloned chart data series Modified: poi/site/src/documentation/content/xdocs/changes.xml Modified: poi/site/src/documentation/content/xdocs/changes.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/changes.xml?rev=1886606=1886605=1886606=diff == --- poi/site/src/documentation/content/xdocs/changes.xml (original) +++ poi/site/src/documentation/content/xdocs/changes.xml Tue Feb 16 23:40:09 2021 @@ -86,6 +86,7 @@ Don't throw exception on empty data source Set hole size for doughnut chart XSSFDrawing - import chart from other drawing +XSSFWorkbook - clone sheet with chart XSLFSlide - import slide notes when importing slide content - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1886605 - in /poi/trunk/src/ooxml: java/org/apache/poi/xddf/usermodel/chart/ java/org/apache/poi/xslf/usermodel/ java/org/apache/poi/xssf/usermodel/ testcases/org/apache/poi/xssf/ testcas
Author: abearez Date: Tue Feb 16 23:39:19 2021 New Revision: 1886605 URL: http://svn.apache.org/viewvc?rev=1886605=rev Log: [bug-63902] reference cloned sheet in cloned chart data series Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryDataSource.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSourcesFactory.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/TestXSSFCloneSheet.java poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDrawing.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryDataSource.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryDataSource.java?rev=1886605=1886604=1886605=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryDataSource.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryDataSource.java Tue Feb 16 23:39:19 2021 @@ -42,9 +42,4 @@ public interface XDDFCategoryDataSource default boolean isReference() { return true; } - -@Override -default String getDataRangeReference() { -return getFormula(); -} } Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java?rev=1886605=1886604=1886605=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java Tue Feb 16 23:39:19 2021 @@ -124,10 +124,6 @@ public abstract class XDDFChart extends */ protected final CTChartSpace chartSpace; -/** - * Chart element in the chart space - */ -protected final CTChart chart; /** * Construct a chart. @@ -136,8 +132,7 @@ public abstract class XDDFChart extends super(); chartSpace = CTChartSpace.Factory.newInstance(); -chart = chartSpace.addNewChart(); -chart.addNewPlotArea(); +chartSpace.addNewChart().addNewPlotArea(); } /** @@ -153,7 +148,6 @@ public abstract class XDDFChart extends super(part); chartSpace = ChartSpaceDocument.Factory.parse(part.getInputStream(), DEFAULT_XML_OPTIONS).getChartSpace(); -chart = chartSpace.getChart(); } /** @@ -174,8 +168,7 @@ public abstract class XDDFChart extends */ @Internal public CTChart getCTChart() { -return chart; - +return chartSpace.getChart(); } /** @@ -185,7 +178,7 @@ public abstract class XDDFChart extends */ @Internal protected CTPlotArea getCTPlotArea() { -return chart.getPlotArea(); +return getCTChart().getPlotArea(); } /** @@ -199,8 +192,8 @@ public abstract class XDDFChart extends workbook.removeSheetAt(0); workbook.createSheet(); } -chart.set(CTChart.Factory.newInstance()); -chart.addNewPlotArea(); +getCTChart().set(CTChart.Factory.newInstance()); +getCTChart().addNewPlotArea(); } /** @@ -208,8 +201,8 @@ public abstract class XDDFChart extends * otherwise */ public boolean isPlotOnlyVisibleCells() { -if (chart.isSetPlotVisOnly()) { -return chart.getPlotVisOnly().getVal(); +if (getCTChart().isSetPlotVisOnly()) { +return getCTChart().getPlotVisOnly().getVal(); } else { return false; } @@ -221,40 +214,40 @@ public abstract class XDDFChart extends *the chart */ public void setPlotOnlyVisibleCells(boolean only) { -if (!chart.isSetPlotVisOnly()) { -chart.setPlotVisOnly(CTBoolean.Factory.newInstance()); +if (!getCTChart().isSetPlotVisOnly()) { +getCTChart().setPlotVisOnly(CTBoolean.Factory.newInstance()); } -chart.getPlotVisOnly().setVal(only); +getCTChart().getPlotVisOnly().setVal(only); } public void setFloor(int thickness) { -if (!chart.isSetFloor()) { -chart.setFloor
svn commit: r1886338 - in /poi/trunk/src/ooxml: java/org/apache/poi/xslf/usermodel/XSLFShape.java java/org/apache/poi/xslf/usermodel/XSLFSlide.java testcases/org/apache/poi/xslf/usermodel/TestXSLFNote
Author: abearez Date: Mon Feb 8 20:34:14 2021 New Revision: 1886338 URL: http://svn.apache.org/viewvc?rev=1886338=rev Log: Import slide notes when importing slide content Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFShape.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlide.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFNotes.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFShape.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFShape.java?rev=1886338=1886337=1886338=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFShape.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFShape.java Mon Feb 8 20:34:14 2021 @@ -143,7 +143,10 @@ public abstract class XSLFShape implemen if (this instanceof PlaceableShape) { PlaceableShape ps = (PlaceableShape)this; -ps.setAnchor(sh.getAnchor()); +Rectangle2D anchor = sh.getAnchor(); +if (anchor != null) { +ps.setAnchor(anchor); +} } @@ -485,4 +488,4 @@ public abstract class XSLFShape implemen protected XmlObject getShapeProperties() { return getChild(CTShapeProperties.class, PML_NS, "spPr"); } -} \ No newline at end of file +} Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlide.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlide.java?rev=1886338=1886337=1886338=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlide.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSlide.java Mon Feb 8 20:34:14 2021 @@ -295,6 +295,11 @@ implements Slidehttp://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFNotes.java?rev=1886338=1886337=1886338=diff == --- poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFNotes.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFNotes.java Mon Feb 8 20:34:14 2021 @@ -103,4 +103,25 @@ class TestXSLFNotes { ppt.close(); } + +@Test +void importNotes() throws IOException { + +XMLSlideShow ppt = XSLFTestDataSamples.openSampleDocument("sample.pptx"); +XMLSlideShow newShow = new XMLSlideShow(); + +for (XSLFSlide slide : ppt.getSlides()) { +XSLFNotes slideNotes = slide.getNotes(); +assertNotNull(slideNotes); +XSLFNotes notesSlide = ppt.getNotesSlide(slide); +assertNotNull(notesSlide); +assertEquals(notesSlide, slideNotes); + +XSLFSlide newSlide = newShow.createSlide().importContent(slide); +XSLFNotes newNotes = newSlide.getNotes(); +assertNotNull(newNotes); +} + +ppt.close(); +} } - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1886337 - /poi/site/src/documentation/content/xdocs/changes.xml
Author: abearez Date: Mon Feb 8 20:33:38 2021 New Revision: 1886337 URL: http://svn.apache.org/viewvc?rev=1886337=rev Log: Fix slide notes content import part from bug 57835 Modified: poi/site/src/documentation/content/xdocs/changes.xml Modified: poi/site/src/documentation/content/xdocs/changes.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/changes.xml?rev=1886337=1886336=1886337=diff == --- poi/site/src/documentation/content/xdocs/changes.xml (original) +++ poi/site/src/documentation/content/xdocs/changes.xml Mon Feb 8 20:33:38 2021 @@ -86,6 +86,7 @@ Don't throw exception on empty data source Set hole size for doughnut chart XSSFDrawing - import chart from other drawing +XSLFSlide - import slide notes when importing slide content - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1885886 - in /poi/trunk/src: examples/src/org/apache/poi/examples/xssf/usermodel/ examples/src/org/apache/poi/examples/xwpf/usermodel/ ooxml/testcases/org/apache/poi/xddf/usermodel/chart/
Author: abearez Date: Sun Jan 24 20:01:36 2021 New Revision: 1885886 URL: http://svn.apache.org/viewvc?rev=1885886=rev Log: Replace deprecated methods used in tests Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/ExcelChartWithTargetLine.java poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/BarChartExample.java poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/ChartFromScratch.java poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChartRemoveSeries.java poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFLineChartData.java poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFScatterChartData.java poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFChart.java Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/ExcelChartWithTargetLine.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/ExcelChartWithTargetLine.java?rev=1885886=1885885=1885886=diff == --- poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/ExcelChartWithTargetLine.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/examples/xssf/usermodel/ExcelChartWithTargetLine.java Sun Jan 24 20:01:36 2021 @@ -137,7 +137,7 @@ public final class ExcelChartWithTargetL } XDDFScatterChartData scatter = (XDDFScatterChartData) chart.createData(ChartTypes.SCATTER, scatterX, scatterY); -scatter.setVaryColors(true); +scatter.setVaryColors(false); // This only works for Excel since OpenOffice or LibreOffice Calc does not support literal numeric data series. XDDFNumericalDataSource targetDS = XDDFDataSourcesFactory.fromArray(new Double[] { target, target }); Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/BarChartExample.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/BarChartExample.java?rev=1885886=1885885=1885886=diff == --- poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/BarChartExample.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/BarChartExample.java Sun Jan 24 20:01:36 2021 @@ -63,7 +63,7 @@ public final class BarChartExample { } try (FileInputStream argIS = new FileInputStream(args[0]); -BufferedReader modelReader = Files.newBufferedReader(Paths.get(args[1]), StandardCharsets.ISO_8859_1)) { +BufferedReader modelReader = Files.newBufferedReader(Paths.get(args[1]), StandardCharsets.UTF_8)) { String chartTitle = modelReader.readLine(); // first line is chart title String[] series = modelReader.readLine().split(","); Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/ChartFromScratch.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/ChartFromScratch.java?rev=1885886=1885885=1885886=diff == --- poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/ChartFromScratch.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/ChartFromScratch.java Sun Jan 24 20:01:36 2021 @@ -67,7 +67,7 @@ public final class ChartFromScratch { return; } -try (BufferedReader modelReader = Files.newBufferedReader(Paths.get(args[0]), StandardCharsets.ISO_8859_1)) { +try (BufferedReader modelReader = Files.newBufferedReader(Paths.get(args[0]), StandardCharsets.UTF_8)) { String chartTitle = modelReader.readLine(); // first line is chart title String[] series = modelReader.readLine().split(","); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChartRemoveSeries.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChartRemoveSeries.java?rev=1885886=1885885=1885886=diff == --- poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChartRemoveSeries.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChartRemoveSeries.java Sun Jan 24 20:01:36 2021 @@ -117,7 +117,7 @@ class TestXDDFChartRemoveSeries { } /** - * Remove the first series by calling chartData.getSeries().remove(0). + * Attempt to remove the first series by calling chartData.getSeries().remove(0). * * This used to corrupt the workbook but the returned L
svn commit: r1885771 - in /poi/trunk/src: examples/src/org/apache/poi/examples/xslf/ ooxml/java/org/apache/poi/ooxml/util/ ooxml/java/org/apache/poi/xddf/usermodel/chart/ ooxml/testcases/org/apache/po
Author: abearez Date: Thu Jan 21 21:13:27 2021 New Revision: 1885771 URL: http://svn.apache.org/viewvc?rev=1885771=rev Log: Bug 64950: handle doughnut hole size Added: poi/trunk/src/examples/src/org/apache/poi/examples/xslf/DoughnutChartFromScratch.java - copied, changed from r1885770, poi/trunk/src/examples/src/org/apache/poi/examples/xslf/ChartFromScratch.java Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xslf/BarChartDemo.java poi/trunk/src/examples/src/org/apache/poi/examples/xslf/ChartFromScratch.java poi/trunk/src/examples/src/org/apache/poi/examples/xslf/PieChartDemo.java poi/trunk/src/ooxml/java/org/apache/poi/ooxml/util/POIXMLUnits.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDoughnutChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFPieChartData.java poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/TestNecessaryOOXMLClasses.java Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xslf/BarChartDemo.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/xslf/BarChartDemo.java?rev=1885771=1885770=1885771=diff == --- poi/trunk/src/examples/src/org/apache/poi/examples/xslf/BarChartDemo.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/examples/xslf/BarChartDemo.java Thu Jan 21 21:13:27 2021 @@ -64,7 +64,7 @@ public final class BarChartDemo { } try (FileInputStream argIS = new FileInputStream(args[0]); -BufferedReader modelReader = Files.newBufferedReader(Paths.get(args[1]), StandardCharsets.ISO_8859_1)) { +BufferedReader modelReader = Files.newBufferedReader(Paths.get(args[1]), StandardCharsets.UTF_8)) { String chartTitle = modelReader.readLine(); // first line is chart title String[] series = modelReader.readLine().split(","); Modified: poi/trunk/src/examples/src/org/apache/poi/examples/xslf/ChartFromScratch.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/xslf/ChartFromScratch.java?rev=1885771=1885770=1885771=diff == --- poi/trunk/src/examples/src/org/apache/poi/examples/xslf/ChartFromScratch.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/examples/xslf/ChartFromScratch.java Thu Jan 21 21:13:27 2021 @@ -72,7 +72,7 @@ public final class ChartFromScratch { return; } -try (BufferedReader modelReader = Files.newBufferedReader(Paths.get(args[0]), StandardCharsets.ISO_8859_1)) { +try (BufferedReader modelReader = Files.newBufferedReader(Paths.get(args[0]), StandardCharsets.UTF_8)) { String chartTitle = modelReader.readLine(); // first line is chart title String[] series = modelReader.readLine().split(","); @@ -163,10 +163,10 @@ public final class ChartFromScratch { bar.setBarGrouping(BarGrouping.CLUSTERED); XDDFBarChartData.Series series1 = (XDDFBarChartData.Series) bar.addSeries(categoriesData, valuesData); -series1.setTitle(series[0], chart.setSheetTitle(series[0], COLUMN_COUNTRIES)); +series1.setTitle(series[0], chart.setSheetTitle(series[COLUMN_COUNTRIES - 1], COLUMN_COUNTRIES)); XDDFBarChartData.Series series2 = (XDDFBarChartData.Series) bar.addSeries(categoriesData, valuesData2); -series2.setTitle(series[1], chart.setSheetTitle(series[1], COLUMN_SPEAKERS)); +series2.setTitle(series[1], chart.setSheetTitle(series[COLUMN_SPEAKERS - 1], COLUMN_SPEAKERS)); bar.setVaryColors(true); bar.setBarDirection(BarDirection.COL); Copied: poi/trunk/src/examples/src/org/apache/poi/examples/xslf/DoughnutChartFromScratch.java (from r1885770, poi/trunk/src/examples/src/org/apache/poi/examples/xslf/ChartFromScratch.java) URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/examples/xslf/DoughnutChartFromScratch.java?p2=poi/trunk/src/examples/src/org/apache/poi/examples/xslf/DoughnutChartFromScratch.java=poi/trunk/src/examples/src/org/apache/poi/examples/xslf/ChartFromScratch.java=1885770=1885771=1885771=diff == --- poi/trunk/src/examples/src/org/apache/poi/examples/xslf/ChartFromScratch.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/examples/xslf/DoughnutChartFromScratch.java Thu Jan 21 21:13:27 2021 @@ -19,32 +19,19 @@ package org.apache.poi.examples.xslf; -import java.awt.geom.Rectangle2D; -import java.io.BufferedReader; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.OutputStream; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.ArrayList; -i
svn commit: r1885700 - in /poi/trunk: src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChart.java test-data/spread
Author: abearez Date: Tue Jan 19 21:33:38 2021 New Revision: 1885700 URL: http://svn.apache.org/viewvc?rev=1885700=rev Log: Bug 65016 - Creating a chart throws exception Added: poi/trunk/test-data/spreadsheet/65016.xlsx Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChart.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java?rev=1885700=1885699=1885700=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java Tue Jan 19 21:33:38 2021 @@ -80,7 +80,9 @@ public interface XDDFDataSource { } } if (effectiveNumOfPoints == 0) { -cache.unsetPtCount(); +if (cache.isSetPtCount()) { +cache.unsetPtCount(); +} } else { if (cache.isSetPtCount()) { cache.getPtCount().setVal(numOfPoints); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChart.java?rev=1885700=1885699=1885700=diff == --- poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChart.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChart.java Tue Jan 19 21:33:38 2021 @@ -23,9 +23,17 @@ import static org.junit.jupiter.api.Asse import org.apache.poi.ooxml.POIXMLFactory; import org.apache.poi.ooxml.POIXMLRelation; +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.xssf.XSSFTestDataSamples; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.junit.jupiter.api.Test; import org.openxmlformats.schemas.drawingml.x2006.chart.CTChartSpace; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; + class TestXDDFChart { @Test void testConstruct() { @@ -48,6 +56,39 @@ class TestXDDFChart { assertEquals("rid2", ctChartSpace.getExternalData().getId()); } +@Test +public void test65016() throws IOException { +try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("65016.xlsx")) { +XSSFSheet splitSheet = wb.getSheet("Splits"); + +XDDFChart chart = newXDDFChart(); +XDDFChartLegend legend = chart.getOrAddLegend(); +legend.setPosition(LegendPosition.BOTTOM); + +// Use a category axis for the bottom axis. +XDDFCategoryAxis bottomAxis = chart.createCategoryAxis(AxisPosition.BOTTOM); +XDDFValueAxis leftAxis = chart.createValueAxis(AxisPosition.LEFT); +leftAxis.setCrosses(AxisCrosses.AUTO_ZERO); + +XDDFLineChartData data = (XDDFLineChartData) chart.createData(ChartTypes.LINE, bottomAxis, leftAxis); + +// starting row 1 to include description +XDDFNumericalDataSource xs = XDDFDataSourcesFactory.fromNumericCellRange(splitSheet, +new CellRangeAddress(2, 100, 0, 0)); +XDDFNumericalDataSource ys1 = XDDFDataSourcesFactory.fromNumericCellRange(splitSheet, +new CellRangeAddress(2, 100, 1, 1)); + +XDDFLineChartData.Series series = (XDDFLineChartData.Series) data.addSeries(xs, ys1); +assertEquals(series.categoryData.getPointCount(), xs.getPointCount()); + +chart.plot(data); + +try (OutputStream out = new FileOutputStream("/tmp/chart20201220.xlsx")) { +wb.write(out); +} +} +} + private XDDFChart newXDDFChart() { XDDFChart xddfChart = new XDDFChart() { @Override @@ -67,4 +108,4 @@ class TestXDDFChart { }; return xddfChart; } -} \ No newline at end of file +} Added: poi/trunk/test-data/spreadsheet/65016.xlsx URL: http://svn.apache.org/viewvc/poi/trunk/test-data/spreadsheet/65016.xlsx?rev=1885700=auto == Binary files poi/trunk/test-data/spreadsheet/65016.xlsx (added) and poi/trunk/test-data/spreadsheet/65016.xlsx Tue Jan 19 21:33:38 2021 differ - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1878148 - /poi/site/src/documentation/content/xdocs/changes.xml
Author: abearez Date: Wed May 27 01:35:50 2020 New Revision: 1878148 URL: http://svn.apache.org/viewvc?rev=1878148=rev Log: Bug 63290: retrieve default run properties from paragraph Modified: poi/site/src/documentation/content/xdocs/changes.xml Modified: poi/site/src/documentation/content/xdocs/changes.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/changes.xml?rev=1878148=1878147=1878148=diff == --- poi/site/src/documentation/content/xdocs/changes.xml (original) +++ poi/site/src/documentation/content/xdocs/changes.xml Wed May 27 01:35:50 2020 @@ -88,7 +88,7 @@ Picture.resize(double scale) scales width wrong for small pictures and when dx1 is set upgrading xmlsec causes junit tests to fail XSLF - Wrong scheme colors used when rendering -setText in XWPFTableCell updates the xml and also updates the runs and iruns +Method setText in XWPFTableCell updates the xml and also updates the runs and iruns XWPFTableCell does not process bodyElements when handle paragraph XWPFNumbering.addAbstractNum will definitely throw an exception Allow try-with-resources with OPCPackage.revert() @@ -98,9 +98,10 @@ CountryRecord not found Big POIFS stream result in OOM Provide JigSaw modules -synchronize code that initialises WorkbookFactory +Synchronize code that initialises WorkbookFactory Support DateValue function -add an option for RangeCopier.copyRange() also clone styles +Add an option for RangeCopier.copyRange() also clone styles +Retrieve default run properties from paragraph - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1878146 - in /poi/trunk/src/ooxml: java/org/apache/poi/xslf/usermodel/XSLFTextRun.java testcases/org/apache/poi/xslf/usermodel/TestXSLFTextShape.java
Author: abearez Date: Wed May 27 01:18:10 2020 New Revision: 1878146 URL: http://svn.apache.org/viewvc?rev=1878146=rev Log: Get rid of redundant getParentParagraph Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextShape.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java?rev=1878146=1878145=1878146=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java Wed May 27 01:18:10 2020 @@ -71,10 +71,6 @@ public class XSLFTextRun implements Text } } -XSLFTextParagraph getParentParagraph(){ -return _p; -} - @Override public String getRawText(){ if (_r instanceof CTTextField) { @@ -123,14 +119,14 @@ public class XSLFTextRun implements Text CTTextCharacterProperties rPr = getRPr(true); CTSolidColorFillProperties fill = rPr.isSetSolidFill() ? rPr.getSolidFill() : rPr.addNewSolidFill(); -XSLFSheet sheet = getParentParagraph().getParentShape().getSheet(); +XSLFSheet sheet = getParagraph().getParentShape().getSheet(); XSLFColor col = new XSLFColor(fill, sheet.getTheme(), fill.getSchemeClr(), sheet); col.setColor(c); } @Override public PaintStyle getFontColor(){ -final boolean hasPlaceholder = getParentParagraph().getParentShape().getPlaceholder() != null; +final boolean hasPlaceholder = getParagraph().getParentShape().getPlaceholder() != null; CharacterPropertyFetcher fetcher = new CharacterPropertyFetcher(_p.getIndentLevel()){ @Override public boolean fetch(CTTextCharacterProperties props){ @@ -182,7 +178,7 @@ public class XSLFTextRun implements Text @Override public Double getFontSize(){ double scale = 1; -final XSLFTextShape ps = getParentParagraph().getParentShape(); +final XSLFTextShape ps = getParagraph().getParentShape(); if (ps != null) { final CTTextBodyProperties tbp = ps.getTextBodyPr(); if (tbp != null) { Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextShape.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextShape.java?rev=1878146=1878145=1878146=diff == --- poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextShape.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextShape.java Wed May 27 01:18:10 2020 @@ -231,49 +231,49 @@ public class TestXSLFTextShape { assertEquals(VerticalAlignment.TOP, shape2.getVerticalAlignment()); XSLFTextRun pr1 = shape2.getTextParagraphs().get(0).getTextRuns().get(0); -assertEquals(0, pr1.getParentParagraph().getIndentLevel()); +assertEquals(0, pr1.getParagraph().getIndentLevel()); assertEquals("Content", pr1.getRawText()); assertEquals("Calibri", pr1.getFontFamily()); assertEquals(32.0, pr1.getFontSize(), 0); -assertEquals(27.0, pr1.getParentParagraph().getLeftMargin(), 0); -assertEquals("\u2022", pr1.getParentParagraph().getBulletCharacter()); -assertEquals("Arial", pr1.getParentParagraph().getBulletFont()); +assertEquals(27.0, pr1.getParagraph().getLeftMargin(), 0); +assertEquals("\u2022", pr1.getParagraph().getBulletCharacter()); +assertEquals("Arial", pr1.getParagraph().getBulletFont()); XSLFTextRun pr2 = shape2.getTextParagraphs().get(1).getTextRuns().get(0); -assertEquals(1, pr2.getParentParagraph().getIndentLevel()); +assertEquals(1, pr2.getParagraph().getIndentLevel()); assertEquals("Level 2", pr2.getRawText()); assertEquals("Calibri", pr2.getFontFamily()); assertEquals(28.0, pr2.getFontSize(), 0); -assertEquals(58.5, pr2.getParentParagraph().getLeftMargin(), 0); -assertEquals("\u2013", pr2.getParentParagraph().getBulletCharacter()); -assertEquals("Arial", pr2.getParentParagraph().getBulletFont()); +assertEquals(58.5, pr2.getParagraph().getLeftMargin(), 0); +assertEquals("\u2013", pr2.getParagraph().getBulletCharacter()); +assertEquals("Arial", pr2.getParagraph().getBulletFont()); XSLFTextRun pr3 = shape2.getTextParagraphs().get(2).getTextRuns().get(0); -assertEquals(2, pr3.getParentParagraph().getIndent
svn commit: r1878147 - in /poi/trunk: src/ooxml/java/org/apache/poi/xddf/usermodel/text/ src/ooxml/java/org/apache/poi/xslf/usermodel/ src/ooxml/testcases/org/apache/poi/xddf/usermodel/text/ src/ooxml
Author: abearez Date: Wed May 27 01:18:15 2020 New Revision: 1878147 URL: http://svn.apache.org/viewvc?rev=1878147=rev Log: Bug 63290: retrieve default run properties from paragraph Added: poi/trunk/test-data/slideshow/bug63290.pptx Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextRun.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/text/TestXDDFTextRun.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextRun.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextRun.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextRun.java?rev=1878147=1878146=1878147=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextRun.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextRun.java Wed May 27 01:18:15 2020 @@ -612,7 +612,8 @@ public class XDDFTextRun { } else if (isRegularRun() && _rtr.isSetRPr()) { return _rtr.getRPr(); } -return null; +XDDFRunProperties defaultProperties = _parent.getDefaultRunProperties(); +return (defaultProperties == null) ? null : defaultProperties.getXmlObject(); } private XDDFRunProperties getOrCreateProperties() { Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java?rev=1878147=1878146=1878147=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java Wed May 27 01:18:15 2020 @@ -492,6 +492,9 @@ public class XSLFTextRun implements Text return tr.addNewRPr(); } } +if (_p.getXmlObject().isSetPPr() && _p.getXmlObject().getPPr().isSetDefRPr()) { +return _p.getXmlObject().getPPr().getDefRPr(); +} return null; } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/text/TestXDDFTextRun.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/text/TestXDDFTextRun.java?rev=1878147=1878146=1878147=diff == --- poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/text/TestXDDFTextRun.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/text/TestXDDFTextRun.java Wed May 27 01:18:15 2020 @@ -18,16 +18,22 @@ package org.apache.poi.xddf.usermodel.te import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.io.IOException; +import java.io.InputStream; import java.util.List; +import org.apache.poi.POIDataSamples; import org.apache.poi.util.LocaleUtil; import org.apache.poi.xslf.usermodel.XMLSlideShow; +import org.apache.poi.xslf.usermodel.XSLFShape; import org.apache.poi.xslf.usermodel.XSLFSlide; +import org.apache.poi.xslf.usermodel.XSLFTextParagraph; +import org.apache.poi.xslf.usermodel.XSLFTextRun; import org.apache.poi.xslf.usermodel.XSLFTextShape; import org.apache.poi.xssf.usermodel.XSSFClientAnchor; import org.apache.poi.xssf.usermodel.XSSFDrawing; @@ -133,4 +139,29 @@ public class TestXDDFTextRun { assertNotNull(run.getText()); } } + +@Test +public void testDefaultRunProperties() throws IOException { +// bug #63290 +POIDataSamples pds = POIDataSamples.getSlideShowInstance(); +try (InputStream is = pds.openResourceAsStream("bug63290.pptx"); + XMLSlideShow ppt = new XMLSlideShow(is)) { +XSLFSlide slide = ppt.getSlides().get(0); +for (XSLFShape shape : slide.getShapes()) { +if (shape instanceof XSLFTextShape) { +XSLFTextShape text = (XSLFTextShape) shape; +XDDFTextParagraph paragraph = text.getTextBody().getParagraph(0); +XDDFTextRun defaultRun = paragraph.getTextRuns().get(0); +assertEquals("DefaultRunProperties", defaultRun.getText().trim()); +XDDFTextRun explicitRun = paragraph.getTextRuns().get(1); +assertEquals("ExplicitRunProperties", explicitRun.getText().trim()); +assertEquals(defaultRun.getDirty(), explicitRun.
svn commit: r1876430 - in /poi/site: .gitignore src/documentation/content/xdocs/changes.xml
Author: abearez Date: Sun Apr 12 18:23:16 2020 New Revision: 1876430 URL: http://svn.apache.org/viewvc?rev=1876430=rev Log: Improvements for paragraphs in XSLF and XWPF Added: poi/site/.gitignore Modified: poi/site/src/documentation/content/xdocs/changes.xml Added: poi/site/.gitignore URL: http://svn.apache.org/viewvc/poi/site/.gitignore?rev=1876430=auto == --- poi/site/.gitignore (added) +++ poi/site/.gitignore Sun Apr 12 18:23:16 2020 @@ -0,0 +1,3 @@ +*.iml +.idea/ +.project/ \ No newline at end of file Modified: poi/site/src/documentation/content/xdocs/changes.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/changes.xml?rev=1876430=1876429=1876430=diff == --- poi/site/src/documentation/content/xdocs/changes.xml (original) +++ poi/site/src/documentation/content/xdocs/changes.xml Sun Apr 12 18:23:16 2020 @@ -74,6 +74,8 @@ Upgrade to XMLSec 2.1.5 updated dependencies to Bouncycastle 1.65, Commons-Codec 1.14, Commons-Compress 1.20 +XWPF - improvements in table and paragraph +XSLF - improvements for paragraph HSMF enhancements - NamedIdChunk, MultiValueChunks, ByteChunkDeferred - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1876409 - /poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java
Author: abearez Date: Sun Apr 12 00:26:12 2020 New Revision: 1876409 URL: http://svn.apache.org/viewvc?rev=1876409=rev Log: Add table row at correct index Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java?rev=1876409=1876408=1876409=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java Sun Apr 12 00:26:12 2020 @@ -153,14 +153,15 @@ public class XSLFTable extends XSLFGraph public XSLFTableRow addRow(){ CTTableRow tr = _table.addNewTr(); -return initializeRow(tr); +XSLFTableRow row = initializeRow(tr); +_rows.add(row); +return row; } private XSLFTableRow initializeRow(CTTableRow tr) { XSLFTableRow row = new XSLFTableRow(tr, this); // default height is 20 points row.setHeight(20.0); -_rows.add(row); for (int i = 0; i < getNumberOfColumns(); i++) { row.addCell(); } @@ -177,7 +178,9 @@ public class XSLFTable extends XSLFGraph throw new IndexOutOfBoundsException("Cannot insert row at " + rowIdx + "; table has only " + getNumberOfRows() + "rows."); } CTTableRow tr = _table.insertNewTr(rowIdx); -return initializeRow(tr); +XSLFTableRow row = initializeRow(tr); +_rows.add(rowIdx, row); +return row; } /** - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1876406 - /poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java
Author: abearez Date: Sat Apr 11 21:43:18 2020 New Revision: 1876406 URL: http://svn.apache.org/viewvc?rev=1876406=rev Log: Return and set paragraph indentation level Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java?rev=1876406=1876405=1876406=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java Sat Apr 11 21:43:18 2020 @@ -172,6 +172,32 @@ public class XDDFTextParagraph { } /** + * Returns the paragraph indentation level. + * + * @return indentation level of the paragraph. + */ +public int getIndentationLevel() { +if (_p.isSetPPr()) { +return getProperties().getLevel(); +} else { +return 0; +} +} + +/** + * Specifies the paragraph indentation level, between 1 and 9. + * + * @param level + *new indentation level for the paragraph. + *Use null to unset the indentation level. + */ +public void setIndentationLevel(Integer level) { +if (_p.isSetPPr()) { +getProperties().setLevel(level); +} +} + +/** * Returns the alignment that is applied to the paragraph. * * If this attribute is omitted, then a value of left is implied. - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1875977 - /poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java
Author: abearez Date: Wed Apr 1 01:40:49 2020 New Revision: 1875977 URL: http://svn.apache.org/viewvc?rev=1875977=rev Log: Keep last run properties when resetting paragraph text Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java?rev=1875977=1875976=1875977=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java Wed Apr 1 01:40:49 2020 @@ -60,7 +60,7 @@ public class XDDFTextParagraph { final int count = paragraph.sizeOfBrArray() + paragraph.sizeOfFldArray() + paragraph.sizeOfRArray(); this._runs = new ArrayList<>(count); -for (XmlObject xo : _p.selectChildren(QNameSet.ALL)) { +for (XmlObject xo : paragraph.selectChildren(QNameSet.ALL)) { if (xo instanceof CTTextLineBreak) { _runs.add(new XDDFTextRun((CTTextLineBreak) xo, this)); } else if (xo instanceof CTTextField) { @@ -75,6 +75,11 @@ public class XDDFTextParagraph { } public void setText(String text) { +// keep the properties of current last run +XmlObject existing = null; +if (_runs.size() > 0) { +existing = _runs.get(_runs.size() - 1).getProperties().copy(); +} // remove all runs for (int i = _p.sizeOfBrArray() - 1; i >= 0; i--) { _p.removeBr(i); @@ -86,7 +91,10 @@ public class XDDFTextParagraph { _p.removeR(i); } _runs.clear(); -appendRegularRun(text); +XDDFTextRun run = appendRegularRun(text); +if (existing != null) { +run.getProperties().set(existing); +} } public String getText() { @@ -119,7 +127,7 @@ public class XDDFTextParagraph { // by default, line break has the font properties of the last text run for (XDDFTextRun tr : new IteratorIterable<>(new ReverseListIterator<>(_runs))) { CTTextCharacterProperties prevProps = tr.getProperties(); -// let's find one that is not undefined +// let's find one which is not undefined if (prevProps != null) { br.setRPr((CTTextCharacterProperties) prevProps.copy()); break; - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1875979 - in /poi/trunk/src/ooxml/java/org/apache/poi: xddf/usermodel/chart/ xddf/usermodel/text/ xslf/usermodel/ xssf/usermodel/
Author: abearez Date: Wed Apr 1 01:40:57 2020 New Revision: 1875979 URL: http://svn.apache.org/viewvc?rev=1875979=rev Log: Sonar Fixes - code smells Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartAxis.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartLegend.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFLegendEntry.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/TextContainer.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextRun.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextShape.java poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSimpleShape.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java?rev=1875979=1875978=1875979=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java Wed Apr 1 01:40:57 2020 @@ -31,6 +31,7 @@ import java.util.List; import java.util.Map; import java.util.Optional; import java.util.function.Function; +import java.util.function.Predicate; import javax.xml.namespace.QName; @@ -115,8 +116,6 @@ public abstract class XDDFChart extends private int chartIndex = 0; -private POIXMLDocumentPart documentPart = null; - protected List axes = new ArrayList<>(); /** @@ -362,14 +361,14 @@ public abstract class XDDFChart extends } @Override -public Optional findDefinedParagraphProperty(Function isSet, +public Optional findDefinedParagraphProperty(Predicate isSet, Function getter) { // TODO Auto-generated method stub return Optional.empty(); } @Override -public Optional findDefinedRunProperty(Function isSet, +public Optional findDefinedRunProperty(Predicate isSet, Function getter) { // TODO Auto-generated method stub return Optional.empty(); @@ -578,23 +577,23 @@ public abstract class XDDFChart extends private Map getCategoryAxes() { CTPlotArea plotArea = getCTPlotArea(); int sizeOfArray = plotArea.sizeOfCatAxArray(); -Map axes = new HashMap<>(sizeOfArray); +Map axesMap = new HashMap<>(sizeOfArray); for (int i = 0; i < sizeOfArray; i++) { CTCatAx category = plotArea.getCatAxArray(i); -axes.put(category.getAxId().getVal(), new XDDFCategoryAxis(category)); +axesMap.put(category.getAxId().getVal(), new XDDFCategoryAxis(category)); } -return axes; +return axesMap; } private Map getValueAxes() { CTPlotArea plotArea = getCTPlotArea(); int sizeOfArray = plotArea.sizeOfValAxArray(); -Map axes = new HashMap<>(sizeOfArray); +Map axesMap = new HashMap<>(sizeOfArray); for (int i = 0; i < sizeOfArray; i++) { CTValAx values = plotArea.getValAxArray(i); -axes.put(values.getAxId().getVal(), new XDDFValueAxis(values)); +axesMap.put(values.getAxId().getVal(), new XDDFValueAxis(values)); } -return axes; +return axesMap; } public XDDFValueAxis createValueAxis(AxisPosition pos) { @@ -767,15 +766,14 @@ public abstract class XDDFChart extends */ public PackageRelationship createRelationshipInChart(POIXMLRelation chartRelation, POIXMLFactory chartFactory, int chartIndex) { -documentPart = createRelationship(chartRelation, chartFactory, chartIndex, true).getDocumentPart(); +POIXMLDocumentPart documentPart = +createRelationship(chartRelation, chartFactory, chartIndex, true).getDocumentPart(); return addRelation(null, chartRelation, documentPart).getRelationship(); } /** * if embedded part was null then create new part * - * @param chartRelation - *chart relation object * @param chartWorkbookRelation *chart workbook relation object * @param chartFactory @@ -784,8 +782,8 @@ public abstract class XDDFChart extends * @throws InvalidFormatException * @since POI 4.0.0 */ -private PackagePart createWorksheetPart(POIXMLRelation chartRelation, POIXMLRelation chartWorkbookRelation, -POIXMLFactory chartFactory) throws InvalidFormatException { +private PackagePar
svn commit: r1875978 - in /poi/trunk/src/ooxml: java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartTitle.java
Author: abearez Date: Wed Apr 1 01:40:52 2020 New Revision: 1875978 URL: http://svn.apache.org/viewvc?rev=1875978=rev Log: Remove chart title Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartTitle.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java?rev=1875978=1875977=1875978=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java Wed Apr 1 01:40:52 2020 @@ -253,6 +253,9 @@ public abstract class XDDFChart extends chart.setAutoTitleDeleted(CTBoolean.Factory.newInstance()); } chart.getAutoTitleDeleted().setVal(deleted); +if (deleted && chart.isSetTitle()) { +chart.unsetTitle(); +} } /** @@ -321,7 +324,15 @@ public abstract class XDDFChart extends } } - /** +/** + * Remove the chart title. + * @since POI 4.1.3 + */ +public void removeTitle() { +setAutoTitleDeleted(true); +} + +/** * Get or Add chart 3D view into chart * * @return this method will add 3D view Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartTitle.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartTitle.java?rev=1875978=1875977=1875978=diff == --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartTitle.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartTitle.java Wed Apr 1 01:40:52 2020 @@ -137,6 +137,7 @@ public class TestXSSFChartTitle { XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("chartTitle_withTitle.xlsx"); XSSFChart chart = getChartFromWorkbook(wb, "Sheet1"); assertNotNull(chart); +assertNotNull(chart.getTitle()); XSSFRichTextString originalTitle = chart.getTitleText(); assertNotNull(originalTitle); final String myTitle = "My chart title"; @@ -154,6 +155,7 @@ public class TestXSSFChartTitle { XSSFChart chart = getChartFromWorkbook(wb, "Sheet1"); assertNotNull(chart); assertNull(chart.getTitleText()); +assertNull(chart.getTitle()); final String myTitle = "My chart title"; chart.setTitleText(myTitle); XSSFRichTextString queryTitle = chart.getTitleText(); @@ -176,4 +178,30 @@ public class TestXSSFChartTitle { wb.close(); } +@Test +public void testRemovingFromExistingChartNoTitle() throws IOException { +XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("chartTitle_noTitle.xlsx"); +XSSFChart chart = getChartFromWorkbook(wb, "Sheet1"); +assertNotNull(chart); +assertNull(chart.getTitleText()); +assertNull(chart.getTitle()); +chart.removeTitle(); +assertNull(chart.getTitleText()); +assertNull(chart.getTitle()); +wb.close(); +} + +@Test +public void testRemovingFromExistingChartWithTitle() throws IOException { +XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("chartTitle_withTitle.xlsx"); +XSSFChart chart = getChartFromWorkbook(wb, "Sheet1"); +assertNotNull(chart); +assertNotNull(chart.getTitleText()); +assertNotNull(chart.getTitle()); +chart.removeTitle(); +assertNull(chart.getTitleText()); +assertNull(chart.getTitle()); +wb.close(); +} + } - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1875902 - in /poi/trunk/src/examples/src/org/apache/poi: xslf/usermodel/ xslf/usermodel/tutorial/ xssf/usermodel/examples/ xwpf/usermodel/examples/
Author: abearez Date: Tue Mar 31 01:16:39 2020 New Revision: 1875902 URL: http://svn.apache.org/viewvc?rev=1875902=rev Log: Sonar Fixes - public final class with private constructor for examples Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/DataExtraction.java poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/MergePresentations.java poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/PieChartDemo.java poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial1.java poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial2.java poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial3.java poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial4.java poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial5.java poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial6.java poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial7.java poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/tutorial/Step1.java poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/tutorial/Step2.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/ExcelChartWithTargetLine.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/LineChart.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/ScatterChart.java poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/BarChartExample.java Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/DataExtraction.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/DataExtraction.java?rev=1875902=1875901=1875902=diff == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/DataExtraction.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/DataExtraction.java Tue Mar 31 01:16:39 2020 @@ -32,6 +32,7 @@ import org.apache.poi.openxml4j.opc.Pack * Demonstrates how you can extract data from a .pptx file */ public final class DataExtraction { +private DataExtraction() {} public static void main(String[] args) throws IOException, OpenXML4JException { Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/MergePresentations.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/MergePresentations.java?rev=1875902=1875901=1875902=diff == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/MergePresentations.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/MergePresentations.java Tue Mar 31 01:16:39 2020 @@ -26,6 +26,7 @@ import java.io.FileOutputStream; * Merge multiple pptx presentations together */ public final class MergePresentations { +private MergePresentations() {} public static void main(String[] args) throws Exception { try (XMLSlideShow ppt = new XMLSlideShow()) { Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/PieChartDemo.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/PieChartDemo.java?rev=1875902=1875901=1875902=diff == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/PieChartDemo.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/PieChartDemo.java Tue Mar 31 01:16:39 2020 @@ -38,7 +38,9 @@ import org.apache.poi.xddf.usermodel.cha /** * Build a pie chart from a template pptx */ -public class PieChartDemo { +public final class PieChartDemo { +private PieChartDemo() {} + private static void usage(){ System.out.println("Usage: PieChartDemo "); System.out.println("pie-chart-template.pptx template with a pie chart"); Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial1.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial1.java?rev=1875902=1875901=1875902=diff == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial1.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial1.java Tue Mar 31 01:16:39 2020 @@ -26,7 +26,8 @@ import java.io.IOException; * Demonstrates how to create slides with predefined layout * and fill the placeholder shapes */ -public class Tutorial1 { +public final class Tutorial1 { +private Tutorial1() {} public static void main(String[] args) throws IOException{ try (XMLSlideShow ppt = new XMLSlideShow()) { Modi
svn commit: r1875901 - in /poi/trunk/src/ooxml: java/org/apache/poi/xslf/usermodel/XSLFTable.java java/org/apache/poi/xslf/usermodel/XSLFTableRow.java testcases/org/apache/poi/xslf/usermodel/TestXSLFT
Author: abearez Date: Tue Mar 31 00:47:45 2020 New Revision: 1875901 URL: http://svn.apache.org/viewvc?rev=1875901=rev Log: Insert a new row in XSLFTable Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableRow.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java?rev=1875901=1875900=1875901=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java Tue Mar 31 00:47:45 2020 @@ -153,19 +153,41 @@ public class XSLFTable extends XSLFGraph public XSLFTableRow addRow(){ CTTableRow tr = _table.addNewTr(); +return initializeRow(tr); +} + +private XSLFTableRow initializeRow(CTTableRow tr) { XSLFTableRow row = new XSLFTableRow(tr, this); // default height is 20 points row.setHeight(20.0); _rows.add(row); -updateRowColIndexes(); +for (int i = 0; i < getNumberOfColumns(); i++) { +row.addCell(); +} return row; } /** + * Insert a new row at the given index. + * @param rowIdx the row index. + * @since POI 4.1.3 + */ +public XSLFTableRow insertRow(int rowIdx) { +if (getNumberOfRows() < rowIdx) { +throw new IndexOutOfBoundsException("Cannot insert row at " + rowIdx + "; table has only " + getNumberOfRows() + "rows."); +} +CTTableRow tr = _table.insertNewTr(rowIdx); +return initializeRow(tr); +} + +/** * Remove the row on the given index * @param rowIdx the row index */ public void removeRow(int rowIdx) { +if (getNumberOfRows() < rowIdx) { +throw new IndexOutOfBoundsException("Cannot remove row at " + rowIdx + "; table has only " + getNumberOfRows() + "rows."); +} _table.removeTr(rowIdx); _rows.remove(rowIdx); updateRowColIndexes(); @@ -176,14 +198,13 @@ public class XSLFTable extends XSLFGraph * @since POI 4.1.2 */ public void addColumn() { -long width = _table.getTblGrid().getGridColArray(_table.getTblGrid().sizeOfGridColArray() - 1).getW(); +long width = _table.getTblGrid().getGridColArray(getNumberOfColumns() - 1).getW(); CTTableCol col = _table.getTblGrid().addNewGridCol(); col.setW(width); -for(XSLFTableRow row : _rows) { +for (XSLFTableRow row : _rows) { XSLFTableCell cell = row.addCell(); new XDDFTextBody(cell, cell.getTextBody(true)).initialize(); } -updateRowColIndexes(); } /** @@ -192,17 +213,16 @@ public class XSLFTable extends XSLFGraph * @since POI 4.1.2 */ public void insertColumn(int colIdx) { -if (_table.getTblGrid().sizeOfGridColArray() < colIdx) { -throw new IndexOutOfBoundsException("Cannot insert column at " + colIdx + "; table has only " + _table.getTblGrid().sizeOfGridColArray() + "columns."); +if (getNumberOfColumns() < colIdx) { +throw new IndexOutOfBoundsException("Cannot insert column at " + colIdx + "; table has only " + getNumberOfColumns() + "columns."); } long width = _table.getTblGrid().getGridColArray(colIdx).getW(); CTTableCol col = _table.getTblGrid().insertNewGridCol(colIdx); col.setW(width); -for(XSLFTableRow row : _rows) { +for (XSLFTableRow row : _rows) { XSLFTableCell cell = row.insertCell(colIdx); new XDDFTextBody(cell, cell.getTextBody(true)).initialize(); } -updateRowColIndexes(); } /** @@ -211,11 +231,13 @@ public class XSLFTable extends XSLFGraph * @since POI 4.1.2 */ public void removeColumn(int colIdx) { +if (getNumberOfColumns() < colIdx) { +throw new IndexOutOfBoundsException("Cannot remove column at " + colIdx + "; table has only " + getNumberOfColumns() + "columns."); +} _table.getTblGrid().removeGridCol(colIdx); -for(XSLFTableRow row : _rows) { +for (XSLFTableRow row : _rows) { row.removeCell(colIdx); } -updateRowColIndexes(); } static CTGraphicalObjectFrame prototype(int shapeId){ Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableRow.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apach
svn commit: r1875862 - in /poi/trunk/src: examples/src/org/apache/poi/xwpf/usermodel/examples/SimpleDocument.java ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java ooxml/testcases/org/apache
Author: abearez Date: Sun Mar 29 22:21:35 2020 New Revision: 1875862 URL: http://svn.apache.org/viewvc?rev=1875862=rev Log: allow add and remove a HyperlinkRun or a FieldRun Modified: poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/SimpleDocument.java poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java Modified: poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/SimpleDocument.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/SimpleDocument.java?rev=1875862=1875861=1875862=diff == --- poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/SimpleDocument.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/SimpleDocument.java Sun Mar 29 22:21:35 2020 @@ -27,6 +27,7 @@ import org.apache.poi.xwpf.usermodel.Tex import org.apache.poi.xwpf.usermodel.UnderlinePatterns; import org.apache.poi.xwpf.usermodel.VerticalAlign; import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.apache.poi.xwpf.usermodel.XWPFHyperlinkRun; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFRun; @@ -78,6 +79,11 @@ public class SimpleDocument { r3.setFontSize(20); r3.setSubscript(VerticalAlign.SUPERSCRIPT); +// hyperlink +XWPFHyperlinkRun hyperlink = p2.insertNewHyperlinkRun(0, "http://poi.apache.org/;); +hyperlink.setUnderline(UnderlinePatterns.SINGLE); +hyperlink.setColor("ff"); +hyperlink.setText("Apache POI"); XWPFParagraph p3 = doc.createParagraph(); p3.setWordWrapped(true); Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java?rev=1875862=1875861=1875862=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java Sun Mar 29 22:21:35 2020 @@ -20,6 +20,7 @@ import java.math.BigInteger; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.function.Function; import org.apache.poi.ooxml.POIXMLDocumentPart; import org.apache.poi.util.Internal; @@ -1478,50 +1479,144 @@ public class XWPFParagraph implements IB } /** - * insert a new Run in RunArray + * Appends a new field run to this paragraph + * + * @return a new field run + */ +public XWPFFieldRun createFieldRun() { +CTSimpleField ctSimpleField = paragraph.addNewFldSimple(); +XWPFFieldRun newRun = new XWPFFieldRun(ctSimpleField, ctSimpleField.addNewR(), this); +runs.add(newRun); +iruns.add(newRun); +return newRun; +} + +/** + * insert a new Run in all runs * * @param pos The position at which the new run should be added. * * @return the inserted run or null if the given pos is out of bounds. */ public XWPFRun insertNewRun(int pos) { -if (pos >= 0 && pos <= runs.size()) { -// calculate the correct pos as our run/irun list contains -// hyperlinks -// and fields so it is different to the paragraph R array. -int rPos = 0; -for (int i = 0; i < pos; i++) { -XWPFRun currRun = runs.get(i); -if (!(currRun instanceof XWPFHyperlinkRun -|| currRun instanceof XWPFFieldRun)) { -rPos++; -} -} +if (pos == runs.size()) { +return createRun(); +} +return insertNewProvidedRun(pos, newCursor -> { +String uri = CTR.type.getName().getNamespaceURI(); +String localPart = "r"; +// creates a new run, cursor is positioned inside the new +// element +newCursor.beginElement(localPart, uri); +// move the cursor to the START token to the run just created +newCursor.toParent(); +CTR r = (CTR) newCursor.getObject(); +return new XWPFRun(r, (IRunBody)this); +}); +} + +/** + * insert a new hyperlink Run in all runs + * + * @param pos The position at which the new run should be added. + * @param uri hyperlink uri + * + * @return the inserted run or null if the given pos is out of bounds. + */ +public XWPFHyperlinkRun insertNewHyperlinkRun(int pos, String uri) { +if (pos == ru
svn commit: r1875749 - /poi/site/src/documentation/content/xdocs/changes.xml
Author: abearez Date: Fri Mar 27 03:34:56 2020 New Revision: 1875749 URL: http://svn.apache.org/viewvc?rev=1875749=rev Log: Merged three pull requests from Sayi Modified: poi/site/src/documentation/content/xdocs/changes.xml Modified: poi/site/src/documentation/content/xdocs/changes.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/changes.xml?rev=1875749=1875748=1875749=diff == --- poi/site/src/documentation/content/xdocs/changes.xml (original) +++ poi/site/src/documentation/content/xdocs/changes.xml Fri Mar 27 03:34:56 2020 @@ -82,6 +82,9 @@ Picture.resize(double scale) scales width wrong for small pictures and when dx1 is set upgrading xmlsec causes junit tests to fail XSLF - Wrong scheme colors used when rendering +setText in XWPFTableCell updates the xml and also updates the runs and iruns +XWPFTableCell does not process bodyElements when handle paragraph +XWPFNumbering.addAbstractNum will definitely throw an exception - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1875747 - in /poi/trunk/src/ooxml: java/org/apache/poi/xwpf/usermodel/XWPFAbstractNum.java java/org/apache/poi/xwpf/usermodel/XWPFNumbering.java testcases/org/apache/poi/xwpf/usermodel/Te
Author: abearez Date: Fri Mar 27 03:13:40 2020 New Revision: 1875747 URL: http://svn.apache.org/viewvc?rev=1875747=rev Log: XWPFNumbering.addAbstractNum will definitely throw an exception Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFAbstractNum.java poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFNumbering.java poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFNumbering.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFAbstractNum.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFAbstractNum.java?rev=1875747=1875746=1875747=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFAbstractNum.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFAbstractNum.java Fri Mar 27 03:13:40 2020 @@ -57,4 +57,8 @@ public class XWPFAbstractNum { return ctAbstractNum; } +public void setCtAbstractNum(CTAbstractNum ctAbstractNum) { +this.ctAbstractNum = ctAbstractNum; +} + } Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFNumbering.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFNumbering.java?rev=1875747=1875746=1875747=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFNumbering.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFNumbering.java Fri Mar 27 03:13:40 2020 @@ -23,6 +23,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.math.BigInteger; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import javax.xml.namespace.QName; @@ -237,7 +238,7 @@ public class XWPFNumbering extends POIXM if (abstractNum.getAbstractNum() != null) { // Use the current CTAbstractNum if it exists ctNumbering.addNewAbstractNum().set(abstractNum.getAbstractNum()); } else { -ctNumbering.addNewAbstractNum(); +abstractNum.setCtAbstractNum(ctNumbering.addNewAbstractNum()); abstractNum.getAbstractNum().setAbstractNumId(BigInteger.valueOf(pos)); ctNumbering.setAbstractNumArray(pos, abstractNum.getAbstractNum()); } @@ -283,5 +284,20 @@ public class XWPFNumbering extends POIXM return null; return num.getCTNum().getAbstractNumId().getVal(); } + +/** + * @return all abstractNums + */ +public List getAbstractNums() { +return Collections.unmodifiableList(abstractNums); +} + +/** + * @return all nums + */ +public List getNums() { +return Collections.unmodifiableList(nums); +} + } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFNumbering.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFNumbering.java?rev=1875747=1875746=1875747=diff == --- poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFNumbering.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFNumbering.java Fri Mar 27 03:13:40 2020 @@ -26,6 +26,7 @@ import java.math.BigInteger; import org.apache.poi.xwpf.XWPFTestDataSamples; import org.junit.Test; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTAbstractNum; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTNum; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTNumLvl; @@ -61,6 +62,45 @@ public class TestXWPFNumbering { XWPFNum num = numbering.getNum(numId); BigInteger compareAbstractNum = num.getCTNum().getAbstractNumId().getVal(); +assertEquals(abstractNumId, compareAbstractNum); +} + +@Test +public void testAddAbstractNumIfAbstractNumNotEqualNull() throws IOException { +BigInteger abstractNumId = BigInteger.valueOf(1); +XWPFDocument docOut = new XWPFDocument(); +XWPFNumbering numbering = docOut.createNumbering(); + +CTAbstractNum cTAbstractNum = CTAbstractNum.Factory.newInstance(); +// must set the AbstractNumId, Otherwise fail +cTAbstractNum.setAbstractNumId(abstractNumId); +XWPFAbstractNum abstractNum = new XWPFAbstractNum(cTAbstractNum); +abstractNumId = numbering.addAbstractNum(abstractNum); +BigInteger numId = numbering.addNum(abstractNumId); + +XWPFDocument docIn = XWPFTestDataSamples.writeOutAndReadBack(docOut); + +numbering = docIn.getNumbering(); +XWPFNum num = numbering.getNum(numId); +BigInteger compareAbstractNum = num.getCTNum().getAbstractNumId().getVal(); +assertEquals(abstractNumId
svn commit: r1875748 - in /poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel: XSLFTable.java XSLFTableCell.java
Author: abearez Date: Fri Mar 27 03:13:43 2020 New Revision: 1875748 URL: http://svn.apache.org/viewvc?rev=1875748=rev Log: Access table cell border style as line properties Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableCell.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java?rev=1875748=1875747=1875748=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java Fri Mar 27 03:13:43 2020 @@ -90,11 +90,10 @@ public class XSLFTable extends XSLFGraph @Override public XSLFTableCell getCell(int row, int col) { -List rows = getRows(); -if (row < 0 || rows.size() <= row) { +if (row < 0 || _rows.size() <= row) { return null; } -XSLFTableRow r = rows.get(row); +XSLFTableRow r = _rows.get(row); if (r == null) { // empty row return null; Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableCell.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableCell.java?rev=1875748=1875747=1875748=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableCell.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableCell.java Fri Mar 27 03:13:43 2020 @@ -33,6 +33,7 @@ import org.apache.poi.sl.usermodel.Strok import org.apache.poi.sl.usermodel.TableCell; import org.apache.poi.sl.usermodel.VerticalAlignment; import org.apache.poi.util.Units; +import org.apache.poi.xddf.usermodel.XDDFLineProperties; import org.apache.poi.xddf.usermodel.text.XDDFTextBody; import org.apache.poi.xslf.usermodel.XSLFPropertiesDelegate.XSLFFillProperties; import org.apache.poi.xslf.usermodel.XSLFTableStyle.TablePartStyle; @@ -139,6 +140,18 @@ public class XSLFTableCell extends XSLFT } } +public XDDFLineProperties getBorderProperties(BorderEdge edge) { +CTLineProperties props = getCTLine(edge, false); +return (props == null) ? null : new XDDFLineProperties(props); +} + +public void setBorderProperties(BorderEdge edge, XDDFLineProperties properties) { +CTLineProperties props = getCTLine(edge, true); +if (props != null) { +props.set(properties.getXmlObject().copy()); +} +} + @Override public void removeBorder(BorderEdge edge) { CTTableCellProperties pr = getCellProperties(false); - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1875745 - /poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java
Author: abearez Date: Fri Mar 27 03:13:34 2020 New Revision: 1875745 URL: http://svn.apache.org/viewvc?rev=1875745=rev Log: like getTables, returns a collection that cannot be modified Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java?rev=1875745=1875744=1875745=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java Fri Mar 27 03:13:34 2020 @@ -139,7 +139,7 @@ public class XWPFTableCell implements IB * returns a list of paragraphs */ public List getParagraphs() { -return paragraphs; +return Collections.unmodifiableList(paragraphs); } /** - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1875746 - in /poi/trunk/src/ooxml: java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java
Author: abearez Date: Fri Mar 27 03:13:37 2020 New Revision: 1875746 URL: http://svn.apache.org/viewvc?rev=1875746=rev Log: XWPFTableCell does not process bodyElements when handle paragraph Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java?rev=1875746=1875745=1875746=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java Fri Mar 27 03:13:37 2020 @@ -160,6 +160,7 @@ public class XWPFTableCell implements IB */ public void addParagraph(XWPFParagraph p) { paragraphs.add(p); +bodyElements.add(p); } /** @@ -168,8 +169,10 @@ public class XWPFTableCell implements IB * @param pos The position in the list of paragraphs, 0-based */ public void removeParagraph(int pos) { +XWPFParagraph removedParagraph = paragraphs.get(pos); paragraphs.remove(pos); ctTc.removeP(pos); +bodyElements.remove(removedParagraph); } /** Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java?rev=1875746=1875745=1875746=diff == --- poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java Fri Mar 27 03:13:37 2020 @@ -151,6 +151,58 @@ public class TestXWPFTableCell { } @Test +public void testAddParagraph() throws Exception { +XWPFDocument doc = new XWPFDocument(); +XWPFTable table = doc.createTable(); +XWPFTableRow tr = table.createRow(); +XWPFTableCell cell = tr.addNewTableCell(); + +// cell have at least one paragraph by default +assertEquals(1, cell.getParagraphs().size()); +assertEquals(1, cell.getBodyElements().size()); +assertEquals(cell.getParagraphArray(0), cell.getBodyElements().get(0)); + +XWPFParagraph p = cell.addParagraph(); +assertEquals(2, cell.getParagraphs().size()); +assertEquals(2, cell.getBodyElements().size()); +assertEquals(p, cell.getParagraphArray(1)); +assertEquals(cell.getParagraphArray(1), cell.getBodyElements().get(1)); + +doc.close(); +} + +@Test +public void testRemoveParagraph() throws Exception { +XWPFDocument doc = new XWPFDocument(); +XWPFTable table = doc.createTable(); +XWPFTableRow tr = table.createRow(); +XWPFTableCell cell = tr.addNewTableCell(); + +// cell have at least one paragraph by default +XWPFParagraph p0 = cell.getParagraphArray(0); +XWPFParagraph p1 = cell.addParagraph(); +cell.addParagraph(); + +// remove 3rd +cell.removeParagraph(2); +assertEquals(2, cell.getParagraphs().size()); +assertEquals(2, cell.getBodyElements().size()); +assertEquals(p0, cell.getParagraphArray(0)); +assertEquals(p1, cell.getParagraphArray(1)); +assertEquals(p0, cell.getBodyElements().get(0)); +assertEquals(p1, cell.getBodyElements().get(1)); + +// remove 2nd +cell.removeParagraph(1); +assertEquals(1, cell.getParagraphs().size()); +assertEquals(1, cell.getBodyElements().size()); +assertEquals(p0, cell.getParagraphArray(0)); +assertEquals(p0, cell.getBodyElements().get(0)); + +doc.close(); +} + +@Test public void testBug63624() throws Exception { XWPFDocument doc = new XWPFDocument(); XWPFTable table = doc.createTable(1, 1); - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1875744 - in /poi/trunk/src/ooxml: java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java
Author: abearez Date: Fri Mar 27 03:13:31 2020 New Revision: 1875744 URL: http://svn.apache.org/viewvc?rev=1875744=rev Log: #63624: setText in XWPFTableCell updates the xml and also updates the runs and iruns Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java?rev=1875744=1875743=1875744=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java Fri Mar 27 03:13:31 2020 @@ -427,8 +427,7 @@ public class XWPFTableCell implements IB } public void setText(String text) { -CTP ctP = (ctTc.sizeOfPArray() == 0) ? ctTc.addNewP() : ctTc.getPArray(0); -XWPFParagraph par = new XWPFParagraph(ctP, this); +XWPFParagraph par = (paragraphs.size() == 0) ? addParagraph() : paragraphs.get(0); par.createRun().setText(text); } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java?rev=1875744=1875743=1875744=diff == --- poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTableCell.java Fri Mar 27 03:13:31 2020 @@ -149,4 +149,18 @@ public class TestXWPFTableCell { assertEquals(2500, cell.getWidth()); doc.close(); } + +@Test +public void testBug63624() throws Exception { +XWPFDocument doc = new XWPFDocument(); +XWPFTable table = doc.createTable(1, 1); +XWPFTableRow row = table.getRow(0); +XWPFTableCell cell = row.getCell(0); + +String expected = "this must not be empty"; +cell.setText(expected); +String actual = cell.getText(); +assertEquals(expected, actual); +doc.close(); +} } - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1874705 - in /poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart: XDDFChartData.java XDDFDataSource.java XDDFDataSourcesFactory.java XDDFNumericalDataSource.java
Author: abearez Date: Mon Mar 2 23:57:05 2020 New Revision: 1874705 URL: http://svn.apache.org/viewvc?rev=1874705=rev Log: Allow for numerical category in charts Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSourcesFactory.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFNumericalDataSource.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java?rev=1874705=1874704=1874705=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java Mon Mar 2 23:57:05 2020 @@ -211,7 +211,7 @@ public abstract class XDDFChartData { public void plot() { if (categoryData.isNumeric()) { CTNumData cache = retrieveNumCache(getAxDS(), categoryData); -((XDDFNumericalDataSource) categoryData).fillNumericalCache(cache); +categoryData.fillNumericalCache(cache); } else { CTStrData cache = retrieveStrCache(getAxDS(), categoryData); categoryData.fillStringCache(cache); Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java?rev=1874705=1874704=1874705=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java Mon Mar 2 23:57:05 2020 @@ -21,6 +21,8 @@ package org.apache.poi.xddf.usermodel.ch import org.apache.poi.util.Beta; import org.apache.poi.util.Internal; +import org.openxmlformats.schemas.drawingml.x2006.chart.CTNumData; +import org.openxmlformats.schemas.drawingml.x2006.chart.CTNumVal; import org.openxmlformats.schemas.drawingml.x2006.chart.CTStrData; import org.openxmlformats.schemas.drawingml.x2006.chart.CTStrVal; @@ -50,6 +52,44 @@ public interface XDDFDataSource { String getFormula(); +String getFormatCode(); + +/** + * @since POI 4.1.3 + */ +@Internal +default void fillNumericalCache(CTNumData cache) { +String formatCode = getFormatCode(); +if (formatCode == null) { +if (cache.isSetFormatCode()) { +cache.unsetFormatCode(); +} +} else { +cache.setFormatCode(formatCode); +} +cache.setPtArray(null); // unset old values +final int numOfPoints = getPointCount(); +int effectiveNumOfPoints = 0; +for (int i = 0; i < numOfPoints; ++i) { +Object value = getPointAt(i); +if (value != null) { +CTNumVal ctNumVal = cache.addNewPt(); +ctNumVal.setIdx(i); +ctNumVal.setV(value.toString()); +effectiveNumOfPoints++; +} +} +if (effectiveNumOfPoints == 0) { +cache.unsetPtCount(); +} else { +if (cache.isSetPtCount()) { +cache.getPtCount().setVal(numOfPoints); +} else { +cache.addNewPtCount().setVal(numOfPoints); +} +} +} + /** * @since POI 4.1.2 */ Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSourcesFactory.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSourcesFactory.java?rev=1874705=1874704=1874705=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSourcesFactory.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSourcesFactory.java Mon Mar 2 23:57:05 2020 @@ -45,6 +45,7 @@ public class XDDFDataSourcesFactory { if (categoryDS.getStrRef() == null) { return new XDDFCategoryDataSource() { private CTNumData category = (CTNumData) categoryDS.getNumRef().getNumCache().copy(); +private String formatCode = category.isSetFormatCode() ? category.getFormatCode() : null; @Override public boolean isCellRange() { @@ -70,6 +71,9 @@ public class XDDFDataSourcesFactory { public String getPointAt(int index) { return category.getPtArray(index).g
svn commit: r1874704 - /poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFTitle.java
Author: abearez Date: Mon Mar 2 23:57:01 2020 New Revision: 1874704 URL: http://svn.apache.org/viewvc?rev=1874704=rev Log: Remove chart title when given text is null Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFTitle.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFTitle.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFTitle.java?rev=1874704=1874703=1874704=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFTitle.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFTitle.java Mon Mar 2 23:57:01 2020 @@ -58,10 +58,16 @@ public class XDDFTitle { } public void setText(String text) { -if (!title.isSetLayout()) { -title.addNewLayout(); +if (text == null) { +if (title.isSetTx()) { +title.unsetTx(); +} +} else{ +if (!title.isSetLayout()) { +title.addNewLayout(); +} +getBody().setText(text); } -getBody().setText(text); } public void setOverlay(Boolean overlay) { - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1873283 - /poi/site/src/documentation/content/xdocs/changes.xml
Author: abearez Date: Wed Jan 29 06:42:17 2020 New Revision: 1873283 URL: http://svn.apache.org/viewvc?rev=1873283=rev Log: Invert bar chart if negative by Niklas Mollenhauer Modified: poi/site/src/documentation/content/xdocs/changes.xml Modified: poi/site/src/documentation/content/xdocs/changes.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/changes.xml?rev=1873283=1873282=1873283=diff == --- poi/site/src/documentation/content/xdocs/changes.xml (original) +++ poi/site/src/documentation/content/xdocs/changes.xml Wed Jan 29 06:42:17 2020 @@ -113,6 +113,7 @@ Fix issue with setCellValue(LocalDate) not supporting nulls properly SlideShow rendering fixes XWPFRun: Whitespace in text not preserved if starting with tab character. +Expose invert if negative on bar charts - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1873282 - in /poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart: XDDFBar3DChartData.java XDDFBarChartData.java
Author: abearez Date: Wed Jan 29 06:38:22 2020 New Revision: 1873282 URL: http://svn.apache.org/viewvc?rev=1873282=rev Log: Invert bar chart if negative by Niklas Mollenhauer Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBar3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBar3DChartData.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBar3DChartData.java?rev=1873282=1873281=1873282=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBar3DChartData.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBar3DChartData.java Wed Jan 29 06:38:22 2020 @@ -251,6 +251,27 @@ public class XDDFBar3DChartData extends } } +/** + * @since 4.1.2 + */ +public boolean getInvertIfNegative() { +if (series.isSetInvertIfNegative()) { +return series.getInvertIfNegative().getVal(); +} +return false; +} + +/** + * @since 4.1.2 + */ +public void setInvertIfNegative(boolean invertIfNegative) { +if (series.isSetInvertIfNegative()) { +series.getInvertIfNegative().setVal(invertIfNegative); +} else { +series.addNewInvertIfNegative().setVal(invertIfNegative); +} +} + @Override public void setShowLeaderLines(boolean showLeaderLines) { if (!series.isSetDLbls()) { Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java?rev=1873282=1873281=1873282=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java Wed Jan 29 06:38:22 2020 @@ -241,6 +241,27 @@ public class XDDFBarChartData extends XD } } +/** + * @since 4.1.2 + */ +public boolean getInvertIfNegative() { +if (series.isSetInvertIfNegative()) { +return series.getInvertIfNegative().getVal(); +} +return false; +} + +/** + * @since 4.1.2 + */ +public void setInvertIfNegative(boolean invertIfNegative) { +if (series.isSetInvertIfNegative()) { +series.getInvertIfNegative().setVal(invertIfNegative); +} else { +series.addNewInvertIfNegative().setVal(invertIfNegative); +} +} + @Override public void setShowLeaderLines(boolean showLeaderLines) { if (!series.isSetDLbls()) { - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1872690 - in /poi/trunk/src/ooxml: java/org/apache/poi/xddf/usermodel/chart/ testcases/org/apache/poi/xddf/usermodel/
Author: abearez Date: Mon Jan 13 00:26:59 2020 New Revision: 1872690 URL: http://svn.apache.org/viewvc?rev=1872690=rev Log: Implement error bars for bar and line charts Added: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ErrorBarType.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ErrorDirection.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ErrorValueType.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFErrorBars.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBar3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFLine3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFLineChartData.java poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/TestNecessaryOOXMLClasses.java Added: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ErrorBarType.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ErrorBarType.java?rev=1872690=auto == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ErrorBarType.java (added) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ErrorBarType.java Mon Jan 13 00:26:59 2020 @@ -0,0 +1,45 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You under the Apache License, Version 2.0 +(the "License"); you may not use this file except in compliance with +the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ + +package org.apache.poi.xddf.usermodel.chart; + +import java.util.HashMap; + +import org.openxmlformats.schemas.drawingml.x2006.chart.STErrBarType;; + +public enum ErrorBarType { +BOTH(STErrBarType.BOTH), +MINUS(STErrBarType.MINUS), +PLUS(STErrBarType.PLUS); + +final STErrBarType.Enum underlying; + +ErrorBarType(STErrBarType.Enum barType) { +this.underlying = barType; +} + +private final static HashMap reverse = new HashMap<>(); +static { +for (ErrorBarType value : values()) { +reverse.put(value.underlying, value); +} +} + +static ErrorBarType valueOf(STErrBarType.Enum barType) { +return reverse.get(barType); +} +} Added: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ErrorDirection.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ErrorDirection.java?rev=1872690=auto == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ErrorDirection.java (added) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ErrorDirection.java Mon Jan 13 00:26:59 2020 @@ -0,0 +1,44 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You under the Apache License, Version 2.0 +(the "License"); you may not use this file except in compliance with +the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + */ + +package org.apache.poi.xddf.usermodel.chart; + +import java.util.HashMap; + +import org.openxmlformats.schemas.drawingml.x2006.chart.STErrDir;; + +public enum ErrorDirection { +X(STErrDir.X), +Y(STErrDir.Y); + +final STErrDir.Enum underlying; + +ErrorDirection(STErrDir.Enum direction) { +this.underlying = direction; +} + +private final static H
svn commit: r1872691 - /poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFScatterChartData.java
Author: abearez Date: Mon Jan 13 00:27:03 2020 New Revision: 1872691 URL: http://svn.apache.org/viewvc?rev=1872691=rev Log: Implement error bars on scatter chart data series Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFScatterChartData.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFScatterChartData.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFScatterChartData.java?rev=1872691=1872690=1872691=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFScatterChartData.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFScatterChartData.java Mon Jan 13 00:27:03 2020 @@ -202,6 +202,41 @@ public class XDDFScatterChartData extend } } +/** + * @since POI 4.1.2 + */ +public int getErrorBarsCount() { +return series.sizeOfErrBarsArray(); +} + +/** + * @since POI 4.1.2 + */ +public XDDFErrorBars getErrorBars(int index) { +return new XDDFErrorBars(series.getErrBarsArray(index)); +} + +/** + * @since POI 4.1.2 + */ +public XDDFErrorBars addNewErrorBars() { +return new XDDFErrorBars(series.addNewErrBars()); +} + +/** + * @since POI 4.1.2 + */ +public XDDFErrorBars insertNewErrorBars(int index) { +return new XDDFErrorBars(series.insertNewErrBars(index)); +} + +/** + * @since POI 4.1.2 + */ +public void removeErrorBars(int index) { +series.removeErrBars(index); +} + @Override public void setShowLeaderLines(boolean showLeaderLines) { if (!series.isSetDLbls()) { - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1872692 - in /poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart: XDDFChartData.java XDDFDataSource.java XDDFErrorBars.java XDDFNumericalDataSource.java
Author: abearez Date: Mon Jan 13 00:27:06 2020 New Revision: 1872692 URL: http://svn.apache.org/viewvc?rev=1872692=rev Log: Error bar minus and plus as numerical data sources Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFErrorBars.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFNumericalDataSource.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java?rev=1872692=1872691=1872692=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java Mon Jan 13 00:27:06 2020 @@ -33,11 +33,9 @@ import org.openxmlformats.schemas.drawin import org.openxmlformats.schemas.drawingml.x2006.chart.CTNumData; import org.openxmlformats.schemas.drawingml.x2006.chart.CTNumDataSource; import org.openxmlformats.schemas.drawingml.x2006.chart.CTNumRef; -import org.openxmlformats.schemas.drawingml.x2006.chart.CTNumVal; import org.openxmlformats.schemas.drawingml.x2006.chart.CTSerTx; import org.openxmlformats.schemas.drawingml.x2006.chart.CTStrData; import org.openxmlformats.schemas.drawingml.x2006.chart.CTStrRef; -import org.openxmlformats.schemas.drawingml.x2006.chart.CTStrVal; import org.openxmlformats.schemas.drawingml.x2006.chart.CTUnsignedInt; /** @@ -211,16 +209,15 @@ public abstract class XDDFChartData { } public void plot() { -int numOfPoints = categoryData.getPointCount(); if (categoryData.isNumeric()) { CTNumData cache = retrieveNumCache(getAxDS(), categoryData); -fillNumCache(cache, numOfPoints, (XDDFNumericalDataSource) categoryData); +((XDDFNumericalDataSource) categoryData).fillNumericalCache(cache); } else { CTStrData cache = retrieveStrCache(getAxDS(), categoryData); -fillStringCache(cache, numOfPoints, categoryData); +categoryData.fillStringCache(cache); } CTNumData cache = retrieveNumCache(getNumDS(), valuesData); -fillNumCache(cache, numOfPoints, valuesData); +valuesData.fillNumericalCache(cache); } /** @@ -343,61 +340,5 @@ public abstract class XDDFChartData { } return numCache; } - -private void fillStringCache(CTStrData cache, int numOfPoints, XDDFDataSource data) { -cache.setPtArray(null); // unset old values -int effectiveNumOfPoints = 0; -for (int i = 0; i < numOfPoints; ++i) { -Object value = data.getPointAt(i); -if (value != null) { -CTStrVal ctStrVal = cache.addNewPt(); -ctStrVal.setIdx(i); -ctStrVal.setV(value.toString()); -effectiveNumOfPoints++; -} -} -if (effectiveNumOfPoints == 0) { -if (cache.isSetPtCount()) { -cache.unsetPtCount(); -} -} else { -if (cache.isSetPtCount()) { -cache.getPtCount().setVal(numOfPoints); -} else { -cache.addNewPtCount().setVal(numOfPoints); -} -} -} - -private void fillNumCache(CTNumData cache, int numOfPoints, XDDFNumericalDataSource data) { -String formatCode = data.getFormatCode(); -if (formatCode == null) { -if (cache.isSetFormatCode()) { -cache.unsetFormatCode(); -} -} else { -cache.setFormatCode(formatCode); -} -cache.setPtArray(null); // unset old values -int effectiveNumOfPoints = 0; -for (int i = 0; i < numOfPoints; ++i) { -Object value = data.getPointAt(i); -if (value != null) { -CTNumVal ctNumVal = cache.addNewPt(); -ctNumVal.setIdx(i); -ctNumVal.setV(value.toString()); -effectiveNumOfPoints++; -} -} -if (effectiveNumOfPoints == 0) { -cache.unsetPtCount(); -} else { -if (cache.isSetPtCount()) { -cache.getPtCount().setVal(numOfPoints); -} else { -cache.addNewPtCount().setVal(numOf
svn commit: r1872362 - /poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java
Author: abearez Date: Sun Jan 5 23:54:09 2020 New Revision: 1872362 URL: http://svn.apache.org/viewvc?rev=1872362=rev Log: Complete test with cell in newly added column Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java?rev=1872362=1872361=1872362=diff == --- poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java Sun Jan 5 23:54:09 2020 @@ -72,7 +72,9 @@ public class TestXSLFTable { assertEquals(tab.getColumnWidth(1), tab.getColumnWidth(0), 0.1); assertNotNull(tab.getCell(0, 0).getTextBody()); tab.addColumn(); -tab.getCell(0, data[0].length + 1); +XSLFTableCell cell = tab.getCell(0, data[0].length + 1); +assertEquals(1, cell.getTextBody().getParagraphs().size()); +assertEquals("", cell.getTextBody().getParagraph(0).getText()); assertEquals(tab.getColumnWidth(tab.getNumberOfColumns() - 2), tab.getColumnWidth(tab.getNumberOfColumns() - 1), 0.1); assertNotNull(tab.getCell(0, tab.getNumberOfColumns() - 1).getTextBody()); tab.removeColumn(0); - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1872361 - in /poi/trunk/src/ooxml/java/org/apache/poi: xddf/usermodel/chart/XDDFBarChartData.java xddf/usermodel/text/XDDFTextRun.java xslf/usermodel/XSLFTextParagraph.java
Author: abearez Date: Sun Jan 5 23:54:06 2020 New Revision: 1872361 URL: http://svn.apache.org/viewvc?rev=1872361=rev Log: Fix JavaDoc warnings Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextRun.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java?rev=1872361=1872360=1872361=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java Sun Jan 5 23:54:06 2020 @@ -143,10 +143,13 @@ public class XDDFBarChartData extends XD } /** - * Minimum inclusive: -100 - * - * Maximum inclusive: 100 * @param overlap + * + *Minimum inclusive = + *-100 + *Maximum inclusive = + *100 + * */ public void setOverlap(Byte overlap) { if (overlap == null) { Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextRun.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextRun.java?rev=1872361=1872360=1872361=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextRun.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextRun.java Sun Jan 5 23:54:06 2020 @@ -376,8 +376,8 @@ public class XDDFTextRun { *Minimum inclusive = *1 *Maximum inclusive = - *400 - * + *400 + * */ public void setFontSize(Double size) { getOrCreateProperties().setFontSize(size); @@ -402,7 +402,8 @@ public class XDDFTextRun { *Minimum inclusive = *0 *Maximum inclusive = - *4000 + *4000 + * */ public void setCharacterKerning(Double kerning) { getOrCreateProperties().setCharacterKerning(kerning); @@ -435,7 +436,8 @@ public class XDDFTextRun { *Minimum inclusive = *-4000 *Maximum inclusive = - *4000 + *4000 + * */ public void setCharacterSpacing(Double spacing) { getOrCreateProperties().setCharacterSpacing(spacing); Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java?rev=1872361=1872360=1872361=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java Sun Jan 5 23:54:06 2020 @@ -93,6 +93,7 @@ public class XSLFTextParagraph implement return _p; } +@Override public XSLFTextShape getParentShape() { return _shape; @@ -103,6 +104,7 @@ public class XSLFTextParagraph implement return _runs; } +@Override public Iterator iterator(){ return _runs.iterator(); } @@ -149,6 +151,7 @@ public class XSLFTextParagraph implement @Override public TextAlign getTextAlign(){ ParagraphPropertyFetcher fetcher = new ParagraphPropertyFetcher(getIndentLevel()){ +@Override public boolean fetch(CTTextParagraphProperties props){ if(props.isSetAlgn()){ TextAlign val = TextAlign.values()[props.getAlgn().intValue() - 1]; @@ -166,7 +169,9 @@ public class XSLFTextParagraph implement public void setTextAlign(TextAlign align) { CTTextParagraphProperties pr = _p.isSetPPr() ? _p.getPPr() : _p.addNewPPr(); if(align == null) { -if(pr.isSetAlgn()) pr.unsetAlgn(); +if(pr.isSetAlgn()) { +pr.unsetAlgn(); +} } else { pr.setAlgn(STTextAlignType.Enum.forInt(align.ordinal() + 1)); } @@ -175,6 +180,7 @@ public class XSLFTextParagraph implement @Override public FontAlign getFontAlign(){ ParagraphPropertyFetcher fetcher = new ParagraphPropertyFetcher(getIndentLevel()){ +@Override public boolean fetch(CTTextParagraphProperties props
svn commit: r1872363 - /poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java
Author: abearez Date: Sun Jan 5 23:54:12 2020 New Revision: 1872363 URL: http://svn.apache.org/viewvc?rev=1872363=rev Log: Clear all chart's properties as if newly created Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java?rev=1872363=1872362=1872363=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java Sun Jan 5 23:54:12 2020 @@ -189,6 +189,21 @@ public abstract class XDDFChart extends } /** + * Clear all properties, as if a new instance had just been created. + * @since POI 4.1.2 + */ +public void clear() { +axes.clear(); +seriesCount = 0; +if (workbook != null) { +workbook.removeSheetAt(0); +workbook.createSheet(); +} +chart.set(CTChart.Factory.newInstance()); +chart.addNewPlotArea(); +} + +/** * @return true if only visible cells will be present on the chart, false * otherwise */ @@ -477,6 +492,78 @@ public abstract class XDDFChart extends return series; } +/** + * Clear all chart series, as if a new instance had just been created. + * @since POI 4.1.2 + */ +public void clearChartSeries() { +CTPlotArea plotArea = getCTPlotArea(); + +for (int i = plotArea.sizeOfAreaChartArray(); i > 0; i--) { +plotArea.removeAreaChart(i - 1); +} + +for (int i = plotArea.sizeOfArea3DChartArray(); i > 0; i--) { +plotArea.removeArea3DChart(i - 1); +} + +for (int i = plotArea.sizeOfBarChartArray(); i > 0; i--) { +plotArea.removeBarChart(i - 1); +} + +for (int i = plotArea.sizeOfBar3DChartArray(); i > 0; i--) { +plotArea.removeBar3DChart(i - 1); +} + +for (int i = plotArea.sizeOfBubbleChartArray(); i > 0; i--) { +plotArea.removeBubbleChart(i - 1); +} + +for (int i = plotArea.sizeOfDoughnutChartArray(); i > 0; i--) { +plotArea.removeDoughnutChart(i - 1); +} + +for (int i = plotArea.sizeOfLineChartArray(); i > 0; i--) { +plotArea.removeLineChart(i - 1); +} + +for (int i = plotArea.sizeOfLine3DChartArray(); i > 0; i--) { +plotArea.removeLine3DChart(i - 1); +} + +for (int i = plotArea.sizeOfOfPieChartArray(); i > 0; i--) { +plotArea.removeOfPieChart(i - 1); +} + +for (int i = plotArea.sizeOfPieChartArray(); i > 0; i--) { +plotArea.removePieChart(i - 1); +} + +for (int i = plotArea.sizeOfPie3DChartArray(); i > 0; i--) { +plotArea.removePie3DChart(i - 1); +} + +for (int i = plotArea.sizeOfRadarChartArray(); i > 0; i--) { +plotArea.removeRadarChart(i - 1); +} + +for (int i = plotArea.sizeOfScatterChartArray(); i > 0; i--) { +plotArea.removeScatterChart(i - 1); +} + +for (int i = plotArea.sizeOfStockChartArray(); i > 0; i--) { +plotArea.removeStockChart(i - 1); +} + +for (int i = plotArea.sizeOfSurfaceChartArray(); i > 0; i--) { +plotArea.removeSurfaceChart(i - 1); +} + +for (int i = plotArea.sizeOfSurface3DChartArray(); i > 0; i--) { +plotArea.removeSurface3DChart(i - 1); +} +} + private Map getCategoryAxes() { CTPlotArea plotArea = getCTPlotArea(); int sizeOfArray = plotArea.sizeOfCatAxArray(); - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1871150 - in /poi/trunk/src/ooxml: java/org/apache/poi/xddf/usermodel/text/ java/org/apache/poi/xslf/usermodel/ testcases/org/apache/poi/sl/draw/ testcases/org/apache/poi/xddf/usermodel/t
Author: abearez Date: Wed Dec 11 00:10:09 2019 New Revision: 1871150 URL: http://svn.apache.org/viewvc?rev=1871150=rev Log: Fix initialization of text body when used in XSLF Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFAutoShape.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableCell.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextBox.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextShape.java poi/trunk/src/ooxml/testcases/org/apache/poi/sl/draw/TestDrawPictureShape.java poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/text/TestXDDFTextBodyProperties.java poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/text/TestXDDFTextRun.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/TestXSLFBugs.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestPPTX2PNG.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXMLSlideShow.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFAutoShape.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFPictureShape.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java?rev=1871150=1871149=1871150=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java Wed Dec 11 00:10:09 2019 @@ -38,7 +38,6 @@ public class XDDFTextBody { public XDDFTextBody(TextContainer parent) { this(parent, CTTextBody.Factory.newInstance()); -initialize(); } @Internal @@ -64,6 +63,7 @@ public class XDDFTextBody { bp.setRightToLeft(false); XDDFTextParagraph p = addNewParagraph(); p.setTextAlignment(TextAlignment.LEFT); +p.appendRegularRun(""); XDDFRunProperties end = p.addAfterLastRunProperties(); end.setLanguage(Locale.US); end.setFontSize(11.0); Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFAutoShape.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFAutoShape.java?rev=1871150=1871149=1871150=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFAutoShape.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFAutoShape.java Wed Dec 11 00:10:09 2019 @@ -78,10 +78,8 @@ public class XSLFAutoShape extends XSLFT CTTextBody txBody = shape.getTxBody(); if (txBody == null && create) { XDDFTextBody body = new XDDFTextBody(this); -initTextBody(body); shape.setTxBody(body.getXmlObject()); txBody = shape.getTxBody(); -getTextParagraphs().add(newTextParagraph(txBody.getPArray(0))); } return txBody; } Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java?rev=1871150=1871149=1871150=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java Wed Dec 11 00:10:09 2019 @@ -33,6 +33,7 @@ import org.apache.poi.sl.draw.DrawTextSh import org.apache.poi.sl.usermodel.TableShape; import org.apache.poi.util.Internal; import org.apache.poi.util.Units; +import org.apache.poi.xddf.usermodel.text.XDDFTextBody; import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.impl.values.XmlAnyTypeImpl; @@ -181,7 +182,7 @@ public class XSLFTable extends XSLFGraph col.setW(width); for(XSLFTableRow row : _rows) { XSLFTableCell cell = row.addCell(); -cell.getTextBody(true); +new XDDFTextBody(cell, cell.getTextBody(true)).initialize(); } updateRowColIndexes(); } @@ -200,7 +201,7 @@ public class XSLFTable extends XSLFGraph col.setW(width); for(XSLFTableRow row : _rows) { XSLFTableCell cell = row.insertCell(colIdx); -cell.getTextBody(true); +new XDDFTextBody(cell, cell.getTextBody(true)).initialize(); } updateRowColIndexes()
svn commit: r1871112 - in /poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel: XSLFAutoShape.java XSLFTableCell.java
Author: abearez Date: Tue Dec 10 00:10:52 2019 New Revision: 1871112 URL: http://svn.apache.org/viewvc?rev=1871112=rev Log: Correctly initialize text shapes' first paragraph Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFAutoShape.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableCell.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFAutoShape.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFAutoShape.java?rev=1871112=187=1871112=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFAutoShape.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFAutoShape.java Tue Dec 10 00:10:52 2019 @@ -81,6 +81,7 @@ public class XSLFAutoShape extends XSLFT initTextBody(body); shape.setTxBody(body.getXmlObject()); txBody = shape.getTxBody(); +getTextParagraphs().add(newTextParagraph(txBody.getPArray(0))); } return txBody; } Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableCell.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableCell.java?rev=1871112=187=1871112=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableCell.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableCell.java Tue Dec 10 00:10:52 2019 @@ -92,6 +92,7 @@ public class XSLFTableCell extends XSLFT initTextBody(body); cell.setTxBody(body.getXmlObject()); txBody = cell.getTxBody(); +getTextParagraphs().add(newTextParagraph(txBody.getPArray(0))); } return txBody; } - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1871063 - in /poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel: XSSFDrawing.java XSSFWorkbook.java
Author: abearez Date: Sun Dec 8 23:18:31 2019 New Revision: 1871063 URL: http://svn.apache.org/viewvc?rev=1871063=rev Log: Attempt to fix bug 63901 Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java?rev=1871063=1871062=1871063=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java Sun Dec 8 23:18:31 2019 @@ -273,7 +273,7 @@ public final class XSSFDrawing extends P destAnchor.setAnchorType(ClientAnchor.AnchorType.MOVE_AND_RESIZE); XSSFChart destChart = createChart(destAnchor); destChart.getCTChartSpace().set(srcChart.getCTChartSpace().copy()); -destChart.getCTChart().set(srcChart.getCTChart().copy()); +destChart.getCTChart().set(destChart.getCTChartSpace().getChart()); return destChart; } Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java?rev=1871063=1871062=1871063=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java Sun Dec 8 23:18:31 2019 @@ -43,11 +43,12 @@ import javax.xml.namespace.QName; import org.apache.commons.collections4.ListValuedMap; import org.apache.commons.collections4.multimap.ArrayListValuedHashMap; +import org.apache.poi.hpsf.ClassIDPredefined; import org.apache.poi.ooxml.POIXMLDocument; import org.apache.poi.ooxml.POIXMLDocumentPart; import org.apache.poi.ooxml.POIXMLException; import org.apache.poi.ooxml.POIXMLProperties; -import org.apache.poi.hpsf.ClassIDPredefined; +import org.apache.poi.ooxml.util.PackageHelper; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.openxml4j.exceptions.OpenXML4JException; import org.apache.poi.openxml4j.opc.OPCPackage; @@ -67,8 +68,13 @@ import org.apache.poi.ss.formula.SheetNa import org.apache.poi.ss.formula.udf.AggregatingUDFFinder; import org.apache.poi.ss.formula.udf.IndexedUDFFinder; import org.apache.poi.ss.formula.udf.UDFFinder; -import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.usermodel.Date1904Support; +import org.apache.poi.ss.usermodel.Name; +import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Row.MissingCellPolicy; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.SheetVisibility; +import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.util.CellReference; import org.apache.poi.ss.util.WorkbookUtil; import org.apache.poi.util.Beta; @@ -77,7 +83,6 @@ import org.apache.poi.util.Internal; import org.apache.poi.util.NotImplemented; import org.apache.poi.util.POILogFactory; import org.apache.poi.util.POILogger; -import org.apache.poi.ooxml.util.PackageHelper; import org.apache.poi.util.Removal; import org.apache.poi.util.Units; import org.apache.poi.xssf.XLSBUnsupportedException; @@ -123,6 +128,7 @@ public class XSSFWorkbook extends POIXML * @deprecated POI 3.17 beta 1 * @see Units#DEFAULT_CHARACTER_WIDTH */ +@Deprecated @Removal(version="4.1") public static final float DEFAULT_CHARACTER_WIDTH = Units.DEFAULT_CHARACTER_WIDTH; @@ -668,9 +674,7 @@ public class XSSFWorkbook extends POIXML } XSSFDrawing clonedDg = clonedSheet.createDrawingPatriarch(); // copy drawing contents -clonedDg.getCTDrawing().set(dg.getCTDrawing()); - -clonedDg = clonedSheet.createDrawingPatriarch(); +clonedDg.getCTDrawing().set(dg.getCTDrawing().copy()); // Clone drawing relations List srcRels = srcSheet.createDrawingPatriarch().getRelationParts(); - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1871061 - in /poi/trunk/src/ooxml: java/org/apache/poi/xslf/usermodel/XSLFTable.java java/org/apache/poi/xslf/usermodel/XSLFTableRow.java testcases/org/apache/poi/xslf/usermodel/TestXSLFT
Author: abearez Date: Sun Dec 8 22:23:17 2019 New Revision: 1871061 URL: http://svn.apache.org/viewvc?rev=1871061=rev Log: Fix column addition and removal in XSLFTable Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableRow.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java?rev=1871061=1871060=1871061=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java Sun Dec 8 22:23:17 2019 @@ -179,8 +179,9 @@ public class XSLFTable extends XSLFGraph long width = _table.getTblGrid().getGridColArray(_table.getTblGrid().sizeOfGridColArray() - 1).getW(); CTTableCol col = _table.getTblGrid().addNewGridCol(); col.setW(width); -for(CTTableRow row : _table.getTrList()) { -row.addNewTc(); +for(XSLFTableRow row : _rows) { +XSLFTableCell cell = row.addCell(); +cell.getTextBody(true); } updateRowColIndexes(); } @@ -197,8 +198,9 @@ public class XSLFTable extends XSLFGraph long width = _table.getTblGrid().getGridColArray(colIdx).getW(); CTTableCol col = _table.getTblGrid().insertNewGridCol(colIdx); col.setW(width); -for(CTTableRow row : _table.getTrList()) { -row.insertNewTc(colIdx); +for(XSLFTableRow row : _rows) { +XSLFTableCell cell = row.insertCell(colIdx); +cell.getTextBody(true); } updateRowColIndexes(); } @@ -210,8 +212,8 @@ public class XSLFTable extends XSLFGraph */ public void removeColumn(int colIdx) { _table.getTblGrid().removeGridCol(colIdx); -for(CTTableRow row : _table.getTrList()) { -row.removeTc(colIdx); +for(XSLFTableRow row : _rows) { +row.removeCell(colIdx); } updateRowColIndexes(); } Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableRow.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableRow.java?rev=1871061=1871060=1871061=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableRow.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableRow.java Sun Dec 8 22:23:17 2019 @@ -51,6 +51,7 @@ public class XSLFTableRow implements Ite return _row; } +@Override public Iterator iterator(){ return _cells.iterator(); } @@ -74,12 +75,41 @@ public class XSLFTableRow implements Ite _cells.add(cell); if(_table.getNumberOfColumns() < _row.sizeOfTcArray()) { - _table.getCTTable().getTblGrid().addNewGridCol().setW(Units.toEMU(100.0)); + _table.getCTTable().getTblGrid().addNewGridCol().setW(Units.toEMU(100.0)); } _table.updateRowColIndexes(); return cell; } - + +/** + * Insert a new cell at the given index. + * @param colIdx the column index. + * @since POI 4.1.2 + */ +public XSLFTableCell insertCell(int colIdx){ +CTTableCell c = _row.insertNewTc(colIdx); +c.set(XSLFTableCell.prototype()); +XSLFTableCell cell = new XSLFTableCell(c, _table); +_cells.add(colIdx, cell); + +if(_table.getNumberOfColumns() < _row.sizeOfTcArray()) { + _table.getCTTable().getTblGrid().insertNewGridCol(colIdx).setW(Units.toEMU(100.0)); +} +_table.updateRowColIndexes(); +return cell; +} + +/** + * Remove the cell at the given index. + * @param colIdx the column index. + * @since POI 4.1.2 + */ +public void removeCell(int colIdx){ +_row.removeTc(colIdx); +_cells.remove(colIdx); +_table.updateRowColIndexes(); +} + /** * Merge cells of a table row, inclusive. * Indices are 0-based. Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java?rev=1871061=1871060=1871061=diff == --- poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java Sun Dec 8 22:23:17 2019 @@ -70,9 +70,11 @@ public class TestXSLFTable { tab.insertCo
svn commit: r1871012 - in /poi/trunk/src: examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java ooxml/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java
Author: abearez Date: Sat Dec 7 23:39:20 2019 New Revision: 1871012 URL: http://svn.apache.org/viewvc?rev=1871012=rev Log: Retrieve chart from graphical frame Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java?rev=1871012=1871011=1871012=diff == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java Sat Dec 7 23:39:20 2019 @@ -21,6 +21,7 @@ package org.apache.poi.xslf.usermodel; import java.awt.geom.Rectangle2D; import java.io.BufferedReader; +import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.OutputStream; @@ -95,6 +96,20 @@ public class ChartFromScratch { ppt.write(out); } } +try (FileInputStream is = new FileInputStream("chart-from-scratch.pptx")) { +try (XMLSlideShow ppt = new XMLSlideShow(is)) { +for (XSLFSlide slide : ppt.getSlides()) { +for (XSLFShape shape : slide.getShapes()) { +if (shape instanceof XSLFGraphicFrame) { +XSLFGraphicFrame frame = (XSLFGraphicFrame) shape; +if (frame.hasChart()) { + System.out.println(frame.getChart().getTitleShape().getText()); +} +} +} +} +} +} } System.out.println("Done"); } Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java?rev=1871012=1871011=1871012=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java Sat Dec 7 23:39:20 2019 @@ -47,6 +47,7 @@ import org.openxmlformats.schemas.presen @Beta public class XSLFGraphicFrame extends XSLFShape implements GraphicalFrame { +private static final String DRAWINGML_CHART_URI = "http://schemas.openxmlformats.org/drawingml/2006/chart;; private static final POILogger LOG = POILogFactory.getLogger(XSLFGraphicFrame.class); /*package*/ XSLFGraphicFrame(CTGraphicalObjectFrame shape, XSLFSheet sheet){ @@ -97,7 +98,7 @@ public class XSLFGraphicFrame extends XS return new XSLFGraphicFrame(shape, sheet); } } - + private static String getUri(CTGraphicalObjectFrame shape) { final CTGraphicalObject g = shape.getGraphic(); if (g == null) { @@ -160,15 +161,45 @@ public class XSLFGraphicFrame extends XS return false; } +public boolean hasChart() { +String uri = getGraphicalData().getUri(); +return uri.equals(DRAWINGML_CHART_URI); +} + +private CTGraphicalObjectData getGraphicalData() { +return ((CTGraphicalObjectFrame)getXmlObject()).getGraphic().getGraphicData(); +} + +public XSLFChart getChart() { +if (hasChart()) { +String id = null; +String xpath = "declare namespace c='" + DRAWINGML_CHART_URI + "' c:chart"; +XmlObject[] obj = getGraphicalData().selectPath(xpath); +if (obj != null && obj.length == 1) { +XmlCursor c = obj[0].newCursor(); +QName idQualifiedName = new QName("http://schemas.openxmlformats.org/officeDocument/2006/relationships;, "id"); +id = c.getAttributeText(idQualifiedName); +c.dispose(); +} +if (id == null) { +return null; +} else { +return (XSLFChart) getSheet().getRelationById(id); +} +} else { +return null; +} +} + @Override void copy(XSLFShape sh){ super.copy(sh); -CTGraphicalObjectData data = ((CTGraphicalObjectFrame)getXmlObject()).getGraphic().getGraphicData(); +CTGraphicalObjectData data = getGraphicalData(); String uri = data.getUri(); if(uri.equals("http://schemas.openxmlformats.org/drawingml/2006/diagram;)){ copyDiagram(data, (XSLFGraphicFrame)sh); -
svn commit: r1871010 - in /poi/trunk/src: examples/src/org/apache/poi/xslf/usermodel/ ooxml/java/org/apache/poi/xddf/usermodel/chart/ ooxml/java/org/apache/poi/xwpf/usermodel/
Author: abearez Date: Sat Dec 7 23:10:32 2019 New Revision: 1871010 URL: http://svn.apache.org/viewvc?rev=1871010=rev Log: Miscellaneous fixes for chart functionalities Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDateAxis.java poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java?rev=1871010=1871009=1871010=diff == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java Sat Dec 7 23:10:32 2019 @@ -87,11 +87,9 @@ public class ChartFromScratch { Double[] values2 = listSpeakers.toArray(new Double[0]); try (XMLSlideShow ppt = new XMLSlideShow()) { -XSLFSlide slide = ppt.createSlide(); -XSLFChart chart = ppt.createChart(); -Rectangle2D rect2D = new java.awt.Rectangle(fromCM(1.5), fromCM(4), fromCM(22), fromCM(14)); -slide.addChart(chart, rect2D); -setBarData(chart, chartTitle, series, categories, values1, values2); +createSlideWithChart(ppt, chartTitle, series, categories, values1, values2); +createSlideWithChart(ppt, chartTitle, series, categories, values1, values2); +createSlideWithChart(ppt, chartTitle, series, categories, values1, values2); // save the result try (OutputStream out = new FileOutputStream("chart-from-scratch.pptx")) { ppt.write(out); @@ -101,6 +99,15 @@ public class ChartFromScratch { System.out.println("Done"); } +private static void createSlideWithChart(XMLSlideShow ppt, String chartTitle, String[] series, String[] categories, +Double[] values1, Double[] values2) { +XSLFSlide slide = ppt.createSlide(); +XSLFChart chart = ppt.createChart(); +Rectangle2D rect2D = new java.awt.Rectangle(fromCM(1.5), fromCM(4), fromCM(22), fromCM(14)); +slide.addChart(chart, rect2D); +setBarData(chart, chartTitle, series, categories, values1, values2); +} + private static int fromCM(double cm) { return (int) (Math.rint(cm * Units.EMU_PER_CENTIMETER)); } Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java?rev=1871010=1871009=1871010=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java Sat Dec 7 23:10:32 2019 @@ -212,6 +212,7 @@ public class XDDFCategoryAxis extends XD final long id = getNextAxId(plotArea); ctCatAx = plotArea.addNewCatAx(); ctCatAx.addNewAxId().setVal(id); +ctCatAx.addNewAuto().setVal(false); ctCatAx.addNewAxPos(); ctCatAx.addNewScaling(); ctCatAx.addNewCrosses(); @@ -220,6 +221,8 @@ public class XDDFCategoryAxis extends XD ctCatAx.addNewDelete(); ctCatAx.addNewMajorTickMark(); ctCatAx.addNewMinorTickMark(); +ctCatAx.addNewNumFmt().setSourceLinked(true); +ctCatAx.getNumFmt().setFormatCode(""); setPosition(position); setOrientation(AxisOrientation.MIN_MAX); Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDateAxis.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDateAxis.java?rev=1871010=1871009=1871010=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDateAxis.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDateAxis.java Sat Dec 7 23:10:32 2019 @@ -236,6 +236,7 @@ public class XDDFDateAxis extends XDDFCh final long id = getNextAxId(plotArea); ctDateAx = plotArea.addNewDateAx(); ctDateAx.addNewAxId().setVal(id); +ctDateAx.addNewAuto().setVal(false); ctDateAx.addNewAxPos(); ctDateAx.addNewScaling(); ctDateAx.addNewCrosses(); @@ -244,6 +245,8 @@ public class XDDFDateAxis extends XDDFCh ctDateAx.addNewDelete();
svn commit: r1870696 - in /poi/trunk/src: examples/src/org/apache/poi/xslf/usermodel/ examples/src/org/apache/poi/xwpf/usermodel/examples/ ooxml/java/org/apache/poi/xddf/usermodel/chart/
Author: abearez Date: Mon Dec 2 00:15:34 2019 New Revision: 1870696 URL: http://svn.apache.org/viewvc?rev=1870696=rev Log: Fix examples to build chart from scratch Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/ChartFromScratch.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSourcesFactory.java Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java?rev=1870696=1870695=1870696=diff == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java Mon Dec 2 00:15:34 2019 @@ -105,7 +105,7 @@ public class BarChartDemo { final String valuesDataRange2 = chart.formatRange(new CellRangeAddress(1, numOfPoints, columnSpeakers, columnSpeakers)); final XDDFDataSource categoriesData = XDDFDataSourcesFactory.fromArray(categories, categoryDataRange, columnLanguages); final XDDFNumericalDataSource valuesData = XDDFDataSourcesFactory.fromArray(values1, valuesDataRange, columnCountries); -values1[6] = 16.0; // if you ever want to change the underlying data +values1[6] = 16.0; // if you ever want to change the underlying data, it has to be done before building the data source final XDDFNumericalDataSource valuesData2 = XDDFDataSourcesFactory.fromArray(values2, valuesDataRange2, columnSpeakers); XDDFChartData.Series series1 = bar.getSeries(0); Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java?rev=1870696=1870695=1870696=diff == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java Mon Dec 2 00:15:34 2019 @@ -28,13 +28,16 @@ import java.util.ArrayList; import java.util.List; import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.util.Units; +import org.apache.poi.xddf.usermodel.chart.AxisCrossBetween; import org.apache.poi.xddf.usermodel.chart.AxisCrosses; import org.apache.poi.xddf.usermodel.chart.AxisPosition; +import org.apache.poi.xddf.usermodel.chart.AxisTickMark; import org.apache.poi.xddf.usermodel.chart.BarDirection; +import org.apache.poi.xddf.usermodel.chart.BarGrouping; import org.apache.poi.xddf.usermodel.chart.ChartTypes; import org.apache.poi.xddf.usermodel.chart.LegendPosition; import org.apache.poi.xddf.usermodel.chart.XDDFBarChartData; -import org.apache.poi.xddf.usermodel.chart.XDDFChart; import org.apache.poi.xddf.usermodel.chart.XDDFChartAxis; import org.apache.poi.xddf.usermodel.chart.XDDFChartLegend; import org.apache.poi.xddf.usermodel.chart.XDDFDataSource; @@ -47,7 +50,7 @@ import org.apache.poi.xddf.usermodel.cha */ public class ChartFromScratch { private static void usage(){ -System.out.println("Usage: BarChartExample "); +System.out.println("Usage: ChartFromScratch "); System.out.println("bar-chart-data.txt the model to set. First line is chart title, " + "then go pairs {axis-label value}"); } @@ -86,8 +89,7 @@ public class ChartFromScratch { try (XMLSlideShow ppt = new XMLSlideShow()) { XSLFSlide slide = ppt.createSlide(); XSLFChart chart = ppt.createChart(); -Rectangle2D rect2D = new java.awt.Rectangle(XDDFChart.DEFAULT_X, XDDFChart.DEFAULT_Y, -XDDFChart.DEFAULT_WIDTH, XDDFChart.DEFAULT_HEIGHT); +Rectangle2D rect2D = new java.awt.Rectangle(fromCM(1.5), fromCM(4), fromCM(22), fromCM(14)); slide.addChart(chart, rect2D); setBarData(chart, chartTitle, series, categories, values1, values2); // save the result @@ -99,6 +101,10 @@ public class ChartFromScratch { System.out.println("Done"); } +private static int fromCM(double cm) { +return (int) (Math.rint(cm * Units.EMU_PER_CENTIMETER)); +} + private static void setBarData(XSLFChart chart, String chartTitle, String[] series, String[] categories, Double[] values1, Double[] values2) {
svn commit: r1870627 - /poi/site/src/documentation/content/xdocs/changes.xml
Author: abearez Date: Sat Nov 30 15:46:24 2019 New Revision: 1870627 URL: http://svn.apache.org/viewvc?rev=1870627=rev Log: Add Doughnut chart data series support Modified: poi/site/src/documentation/content/xdocs/changes.xml Modified: poi/site/src/documentation/content/xdocs/changes.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/changes.xml?rev=1870627=1870626=1870627=diff == --- poi/site/src/documentation/content/xdocs/changes.xml (original) +++ poi/site/src/documentation/content/xdocs/changes.xml Sat Nov 30 15:46:24 2019 @@ -91,6 +91,7 @@ Fix texture fill - scale stretched images correctly Add, insert and remove columns on XSLFTable Produce valid PPTX file with several chart series +Add Doughnut chart data series support - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1870628 - in /poi/trunk/src/ooxml: java/org/apache/poi/xddf/usermodel/chart/ testcases/org/apache/poi/xddf/usermodel/
Author: abearez Date: Sat Nov 30 15:46:48 2019 New Revision: 1870628 URL: http://svn.apache.org/viewvc?rev=1870628=rev Log: Add Doughnut chart data series to XDDF Added: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDoughnutChartData.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ChartTypes.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/TestNecessaryOOXMLClasses.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ChartTypes.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ChartTypes.java?rev=1870628=1870627=1870628=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ChartTypes.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ChartTypes.java Sat Nov 30 15:46:48 2019 @@ -21,6 +21,7 @@ public enum ChartTypes { AREA3D, BAR, BAR3D, +DOUGHNUT, LINE, LINE3D, PIE, Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java?rev=1870628=1870627=1870628=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java Sat Nov 30 15:46:48 2019 @@ -65,6 +65,7 @@ import org.openxmlformats.schemas.drawin import org.openxmlformats.schemas.drawingml.x2006.chart.CTChart; import org.openxmlformats.schemas.drawingml.x2006.chart.CTChartSpace; import org.openxmlformats.schemas.drawingml.x2006.chart.CTDateAx; +import org.openxmlformats.schemas.drawingml.x2006.chart.CTDoughnutChart; import org.openxmlformats.schemas.drawingml.x2006.chart.CTLine3DChart; import org.openxmlformats.schemas.drawingml.x2006.chart.CTLineChart; import org.openxmlformats.schemas.drawingml.x2006.chart.CTPie3DChart; @@ -426,6 +427,11 @@ public abstract class XDDFChart extends series.add(new XDDFBar3DChartData(this, barChart, categories, values)); } +for (int i = 0; i < plotArea.sizeOfDoughnutChartArray(); i++) { +CTDoughnutChart doughnutChart = plotArea.getDoughnutChartArray(i); +series.add(new XDDFDoughnutChartData(this, doughnutChart)); +} + for (int i = 0; i < plotArea.sizeOfLineChartArray(); i++) { CTLineChart lineChart = plotArea.getLineChartArray(i); series.add(new XDDFLineChartData(this, lineChart, categories, values)); @@ -465,7 +471,7 @@ public abstract class XDDFChart extends CTSurface3DChart surfaceChart = plotArea.getSurface3DChartArray(i); series.add(new XDDFSurface3DChartData(this, surfaceChart, categories, values)); } -// TODO repeat above code for missing charts: Bubble, Doughnut, OfPie and Stock +// TODO repeat above code for missing charts: Bubble, OfPie and Stock seriesCount = series.size(); return series; @@ -578,6 +584,8 @@ public abstract class XDDFChart extends return new XDDFBarChartData(this, plotArea.addNewBarChart(), categories, mapValues); case BAR3D: return new XDDFBar3DChartData(this, plotArea.addNewBar3DChart(), categories, mapValues); +case DOUGHNUT: +return new XDDFDoughnutChartData(this, plotArea.addNewDoughnutChart()); case LINE: return new XDDFLineChartData(this, plotArea.addNewLineChart(), categories, mapValues); case LINE3D: @@ -594,7 +602,7 @@ public abstract class XDDFChart extends return new XDDFSurfaceChartData(this, plotArea.addNewSurfaceChart(), categories, mapValues); case SURFACE3D: return new XDDFSurface3DChartData(this, plotArea.addNewSurface3DChart(), categories, mapValues); -// TODO repeat above code for missing charts: Bubble, Doughnut, OfPie and Stock +// TODO repeat above code for missing charts: Bubble, OfPie and Stock default: return null; } Added: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDoughnutChartData.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDoughnutChartData.java?rev=1870628=auto == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDoughnutChartData.java (added) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDoughnutChartData.java Sat Nov 30 15:46:48 2019 @@ -0,0
svn commit: r1870617 - /poi/site/src/documentation/content/xdocs/changes.xml
Author: abearez Date: Sat Nov 30 10:51:33 2019 New Revision: 1870617 URL: http://svn.apache.org/viewvc?rev=1870617=rev Log: Fix 63889 for valid PPTX file with various series Modified: poi/site/src/documentation/content/xdocs/changes.xml Modified: poi/site/src/documentation/content/xdocs/changes.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/changes.xml?rev=1870617=1870616=1870617=diff == --- poi/site/src/documentation/content/xdocs/changes.xml (original) +++ poi/site/src/documentation/content/xdocs/changes.xml Sat Nov 30 10:51:33 2019 @@ -90,6 +90,7 @@ Fix texture fill - scale stretched images correctly Add, insert and remove columns on XSLFTable +Produce valid PPTX file with several chart series - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1870604 - in /poi/trunk/src: examples/src/org/apache/poi/xslf/usermodel/ ooxml/java/org/apache/poi/xddf/usermodel/chart/
Author: abearez Date: Sat Nov 30 01:20:23 2019 New Revision: 1870604 URL: http://svn.apache.org/viewvc?rev=1870604=rev Log: Bug 63889: BarChartDemo now produces a valid file Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFTitle.java Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java?rev=1870604=1870603=1870604=diff == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java Sat Nov 30 01:20:23 2019 @@ -100,23 +100,27 @@ public class BarChartDemo { final XDDFBarChartData bar = (XDDFBarChartData) data.get(0); final int numOfPoints = categories.length; -final String categoryDataRange = chart.formatRange(new CellRangeAddress(1, numOfPoints, 0, 0)); -final String valuesDataRange = chart.formatRange(new CellRangeAddress(1, numOfPoints, 1, 1)); -final String valuesDataRange2 = chart.formatRange(new CellRangeAddress(1, numOfPoints, 2, 2)); -final XDDFDataSource categoriesData = XDDFDataSourcesFactory.fromArray(categories, categoryDataRange, 0); -final XDDFNumericalDataSource valuesData = XDDFDataSourcesFactory.fromArray(values1, valuesDataRange, 1); +final String categoryDataRange = chart.formatRange(new CellRangeAddress(1, numOfPoints, columnLanguages, columnLanguages)); +final String valuesDataRange = chart.formatRange(new CellRangeAddress(1, numOfPoints, columnCountries, columnCountries)); +final String valuesDataRange2 = chart.formatRange(new CellRangeAddress(1, numOfPoints, columnSpeakers, columnSpeakers)); +final XDDFDataSource categoriesData = XDDFDataSourcesFactory.fromArray(categories, categoryDataRange, columnLanguages); +final XDDFNumericalDataSource valuesData = XDDFDataSourcesFactory.fromArray(values1, valuesDataRange, columnCountries); values1[6] = 16.0; // if you ever want to change the underlying data -final XDDFNumericalDataSource valuesData2 = XDDFDataSourcesFactory.fromArray(values2, valuesDataRange2, 2); +final XDDFNumericalDataSource valuesData2 = XDDFDataSourcesFactory.fromArray(values2, valuesDataRange2, columnSpeakers); XDDFChartData.Series series1 = bar.getSeries(0); series1.replaceData(categoriesData, valuesData); -series1.setTitle(series[0], chart.setSheetTitle(series[0], 0)); +series1.setTitle(series[0], chart.setSheetTitle(series[0], columnCountries)); XDDFChartData.Series series2 = bar.addSeries(categoriesData, valuesData2); -series2.setTitle(series[1], chart.setSheetTitle(series[1], 1)); +series2.setTitle(series[1], chart.setSheetTitle(series[1], columnSpeakers)); chart.plot(bar); chart.setTitleText(chartTitle); // https://stackoverflow.com/questions/30532612 // chart.setTitleOverlay(overlay); + +// adjust font size for readability +bar.getCategoryAxis().getOrAddTextProperties().setFontSize(11.5); +chart.getTitle().getOrAddTextProperties().setFontSize(18.2); } private static void setColumnData(XSLFChart chart, String chartTitle) { @@ -150,4 +154,8 @@ public class BarChartDemo { } return chart; } + +private static final int columnLanguages = 0; +private static final int columnCountries = 1; +private static final int columnSpeakers = 2; } Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java?rev=1870604=1870603=1870604=diff == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java Sat Nov 30 01:20:23 2019 @@ -93,7 +93,7 @@ public class ChartFromScratch { slide.addChart(chart, rect2D); setBarData(chart, chartTitle, series, categories, values1, values2); // save the result -try (OutputStream out = new FileOutputStream("bar-chart-demo-output.pptx")) { +try (OutputStream out = new FileOutputStream("chart-from-scratch.pptx")) { ppt.write(out); } } @@ -114,21 +114,21 @@ public cl
svn commit: r1870603 - /poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/
Author: abearez Date: Sat Nov 30 01:20:20 2019 New Revision: 1870603 URL: http://svn.apache.org/viewvc?rev=1870603=rev Log: Clean-up code for more recent chart types Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFArea3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFAreaChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBar3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFLine3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFPie3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSurface3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSurfaceChartData.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFArea3DChartData.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFArea3DChartData.java?rev=1870603=1870602=1870603=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFArea3DChartData.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFArea3DChartData.java Sat Nov 30 01:20:20 2019 @@ -126,7 +126,7 @@ public class XDDFArea3DChartData extends @Override public XDDFChartData.Series addSeries(XDDFDataSource category, XDDFNumericalDataSource values) { -final int index = this.series.size(); +final long index = this.parent.incrementSeriesCount(); final CTAreaSer ctSer = this.chart.addNewSer(); ctSer.addNewCat(); ctSer.addNewVal(); Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFAreaChartData.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFAreaChartData.java?rev=1870603=1870602=1870603=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFAreaChartData.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFAreaChartData.java Sat Nov 30 01:20:20 2019 @@ -104,7 +104,7 @@ public class XDDFAreaChartData extends X @Override public XDDFChartData.Series addSeries(XDDFDataSource category, XDDFNumericalDataSource values) { -final int index = this.series.size(); +final long index = this.parent.incrementSeriesCount(); final CTAreaSer ctSer = this.chart.addNewSer(); ctSer.addNewCat(); ctSer.addNewVal(); Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBar3DChartData.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBar3DChartData.java?rev=1870603=1870602=1870603=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBar3DChartData.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBar3DChartData.java Sat Nov 30 01:20:20 2019 @@ -181,7 +181,7 @@ public class XDDFBar3DChartData extends @Override public XDDFChartData.Series addSeries(XDDFDataSource category, XDDFNumericalDataSource values) { -final int index = this.series.size(); +final long index = this.parent.incrementSeriesCount(); final CTBarSer ctSer = this.chart.addNewSer(); ctSer.addNewTx(); ctSer.addNewCat(); Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java?rev=1870603=1870602=1870603=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java Sat Nov 30 01:20:20 2019 @@ -380,7 +380,7 @@ public abstract class XDDFChart extends } public XDDFManualLayout getOrAddManualLayout() { -return new XDDFManualLayout(chart.getPlotArea()); +return new XDDFManualLayout(getCTPlotArea()); } private long seriesCount = 0; @@ -390,7 +390,8 @@ public abstract class XDDFChart extends public void plot(XDDFChartData data) { XSSFSheet sheet = getSheet(); -for (XDDFChartData.Series series : data.getSeries()) { +for (int idx = 0; idx < data.getSeriesCount(); idx++) { +XDDFChartData.Series series = data.getSeries(
svn commit: r1870602 - in /poi/trunk/src/ooxml: java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChartRemoveSeries.java
Author: abearez Date: Sat Nov 30 01:20:16 2019 New Revision: 1870602 URL: http://svn.apache.org/viewvc?rev=1870602=rev Log: Add test to remove chart data series Added: poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChartRemoveSeries.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java?rev=1870602=1870601=1870602=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java Sat Nov 30 01:20:16 2019 @@ -99,7 +99,7 @@ public abstract class XDDFChartData { */ @Deprecated public List getSeries() { -return series; +return Collections.unmodifiableList(series); } public final int getSeriesCount() { Added: poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChartRemoveSeries.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChartRemoveSeries.java?rev=1870602=auto == --- poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChartRemoveSeries.java (added) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChartRemoveSeries.java Sat Nov 30 01:20:16 2019 @@ -0,0 +1,191 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ +package org.apache.poi.xddf.usermodel.chart; + +import static org.junit.Assert.assertEquals; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.Locale; + +import org.apache.poi.xssf.usermodel.XSSFClientAnchor; +import org.apache.poi.xssf.usermodel.XSSFDrawing; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/** + * Test case for bug 63153 + */ +public class TestXDDFChartRemoveSeries { +final File resultDir = new File("build/custom-reports-test"); +String procName = null; +String fileName = null; +XSSFWorkbook workbook = null; +XSSFSheet sheet = null; +XDDFScatterChartData chartData = null; +XDDFChart chart = null; +final int MAX_NUM_SERIES = 1; + +public TestXDDFChartRemoveSeries() { +resultDir.mkdirs(); +} + +/** + * This creates a workbook with one worksheet, which contains a single + * scatter chart. + */ +@Before +public void setup() { +final boolean bDebug = false; +workbook = new XSSFWorkbook(); +sheet = workbook.createSheet(); + +final XSSFDrawing xssfDrawing = sheet.createDrawingPatriarch(); +final XSSFClientAnchor anchor = xssfDrawing.createAnchor(0, 0, 0, 0, 1, 5, 20, 20); +if (bDebug) { +return; +} +chart = xssfDrawing.createChart(anchor); +final XDDFValueAxis bottomAxis = chart.createValueAxis(AxisPosition.BOTTOM); +final XDDFValueAxis leftAxis = chart.createValueAxis(AxisPosition.LEFT); + +// Initialize data data sources + +final Double dX[] = new Double[5]; +final Double dY1[] = new Double[5]; +final Double dY2[] = new Double[5]; + +for (int n = 0; n < 5; ++n) { +dX[n] = (double) n; +dY1[n] = 2.0 * n; +dY2[n] = (double) (n * n); + +} + +final XDDFNumericalDataSource xData = XDDFDataSourcesFactory.fromArray(dX, null); +final XDDFNumericalDataSource yData1 = XDDFDataSourcesFactory.fromArray(dY1, null); +final XDDFNumericalDataSource yData2 = XDDFDataS
svn commit: r1870523 - in /poi/trunk/src/ooxml: java/org/apache/poi/xslf/usermodel/XSLFTable.java testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java
Author: abearez Date: Thu Nov 28 00:51:43 2019 New Revision: 1870523 URL: http://svn.apache.org/viewvc?rev=1870523=rev Log: Fix addition and removal of columns in XSLTTable Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java?rev=1870523=1870522=1870523=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java Thu Nov 28 00:51:43 2019 @@ -179,6 +179,9 @@ public class XSLFTable extends XSLFGraph long width = _table.getTblGrid().getGridColArray(_table.getTblGrid().sizeOfGridColArray() - 1).getW(); CTTableCol col = _table.getTblGrid().addNewGridCol(); col.setW(width); +for(CTTableRow row : _table.getTrList()) { +row.addNewTc(); +} updateRowColIndexes(); } @@ -194,6 +197,9 @@ public class XSLFTable extends XSLFGraph long width = _table.getTblGrid().getGridColArray(colIdx).getW(); CTTableCol col = _table.getTblGrid().insertNewGridCol(colIdx); col.setW(width); +for(CTTableRow row : _table.getTrList()) { +row.insertNewTc(colIdx); +} updateRowColIndexes(); } @@ -204,6 +210,9 @@ public class XSLFTable extends XSLFGraph */ public void removeColumn(int colIdx) { _table.getTblGrid().removeGridCol(colIdx); +for(CTTableRow row : _table.getTrList()) { +row.removeTc(colIdx); +} updateRowColIndexes(); } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java?rev=1870523=1870522=1870523=diff == --- poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java Thu Nov 28 00:51:43 2019 @@ -71,6 +71,7 @@ public class TestXSLFTable { tab.insertColumn(0); assertEquals(tab.getColumnWidth(1), tab.getColumnWidth(0), 0.1); tab.addColumn(); +tab.getCell(0, data[0].length + 1); assertEquals(tab.getColumnWidth(tab.getNumberOfColumns() - 2), tab.getColumnWidth(tab.getNumberOfColumns() - 1), 0.1); tab.removeColumn(0); tab.removeColumn(tab.getNumberOfColumns() - 1); - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1870487 - /poi/site/src/documentation/content/xdocs/changes.xml
Author: abearez Date: Wed Nov 27 04:55:31 2019 New Revision: 1870487 URL: http://svn.apache.org/viewvc?rev=1870487=rev Log: Add, insert and remove columns on XSLFTable Modified: poi/site/src/documentation/content/xdocs/changes.xml Modified: poi/site/src/documentation/content/xdocs/changes.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/changes.xml?rev=1870487=1870486=1870487=diff == --- poi/site/src/documentation/content/xdocs/changes.xml (original) +++ poi/site/src/documentation/content/xdocs/changes.xml Wed Nov 27 04:55:31 2019 @@ -89,6 +89,7 @@ Fix texture fill - scale stretched images correctly +Add, insert and remove columns on XSLFTable - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1870486 - in /poi/trunk/src/ooxml: java/org/apache/poi/xslf/usermodel/XSLFTable.java testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java
Author: abearez Date: Wed Nov 27 04:54:34 2019 New Revision: 1870486 URL: http://svn.apache.org/viewvc?rev=1870486=rev Log: Add, insert and remove columns on XSLFTable Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTable.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java?rev=1870486=1870485=1870486=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java Wed Nov 27 04:54:34 2019 @@ -39,6 +39,7 @@ import org.apache.xmlbeans.impl.values.X import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObjectData; import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; import org.openxmlformats.schemas.drawingml.x2006.main.CTTable; +import org.openxmlformats.schemas.drawingml.x2006.main.CTTableCol; import org.openxmlformats.schemas.drawingml.x2006.main.CTTableRow; import org.openxmlformats.schemas.presentationml.x2006.main.CTGraphicalObjectFrame; import org.openxmlformats.schemas.presentationml.x2006.main.CTGraphicalObjectFrameNonVisual; @@ -62,7 +63,7 @@ public class XSLFTable extends XSLFGraph if (!xc.toChild(XSLFRelation.NS_DRAWINGML, "tbl")) { throw new IllegalStateException("a:tbl element was not found in\n " + god); } - + XmlObject xo = xc.getObject(); // Pesky XmlBeans bug - see Bugzilla #49934 // it never happens when using the full ooxml-schemas jar but may happen with the abridged poi-ooxml-schemas @@ -104,7 +105,7 @@ public class XSLFTable extends XSLFGraph // cell can be potentially empty ... return cells.get(col); } - + @Internal public CTTable getCTTable(){ return _table; @@ -135,12 +136,13 @@ public class XSLFTable extends XSLFGraph public double getRowHeight(int row) { return Units.toPoints(_table.getTrArray(row).getH()); } - + @Override public void setRowHeight(int row, double height) { _table.getTrArray(row).setH(Units.toEMU(height)); } - + +@Override public Iterator iterator(){ return _rows.iterator(); } @@ -153,7 +155,7 @@ public class XSLFTable extends XSLFGraph CTTableRow tr = _table.addNewTr(); XSLFTableRow row = new XSLFTableRow(tr, this); // default height is 20 points -row.setHeight(20.0); +row.setHeight(20.0); _rows.add(row); updateRowColIndexes(); return row; @@ -169,6 +171,42 @@ public class XSLFTable extends XSLFGraph updateRowColIndexes(); } +/** + * Add a new column at the end of the table. + * @since POI 4.1.2 + */ +public void addColumn() { +long width = _table.getTblGrid().getGridColArray(_table.getTblGrid().sizeOfGridColArray() - 1).getW(); +CTTableCol col = _table.getTblGrid().addNewGridCol(); +col.setW(width); +updateRowColIndexes(); +} + +/** + * Insert a new column at the given index. + * @param colIdx the column index. + * @since POI 4.1.2 + */ +public void insertColumn(int colIdx) { +if (_table.getTblGrid().sizeOfGridColArray() < colIdx) { +throw new IndexOutOfBoundsException("Cannot insert column at " + colIdx + "; table has only " + _table.getTblGrid().sizeOfGridColArray() + "columns."); +} +long width = _table.getTblGrid().getGridColArray(colIdx).getW(); +CTTableCol col = _table.getTblGrid().insertNewGridCol(colIdx); +col.setW(width); +updateRowColIndexes(); +} + +/** + * Remove the column at the given index. + * @param colIdx the column index. + * @since POI 4.1.2 + */ +public void removeColumn(int colIdx) { +_table.getTblGrid().removeGridCol(colIdx); +updateRowColIndexes(); +} + static CTGraphicalObjectFrame prototype(int shapeId){ CTGraphicalObjectFrame frame = CTGraphicalObjectFrame.Factory.newInstance(); CTGraphicalObjectFrameNonVisual nvGr = frame.addNewNvGraphicFramePr(); @@ -184,12 +222,12 @@ public class XSLFTable extends XSLFGraph XmlCursor grCur = gr.newCursor(); grCur.toNextToken(); grCur.beginElement(new QName(XSLFRelation.NS_DRAWINGML, "tbl")); - + CTTable tbl = CTTable.Factory.newInstance(); tbl.addNewTblPr(); tbl.addNewTblGrid(); XmlCursor tblCur = tbl.newCursor(); - + tblCur.moveXmlContents(grCur); tblCur.dispose(
svn commit: r1860311 - in /poi/trunk/src: examples/src/org/apache/poi/xssf/usermodel/examples/ExcelChartWithTargetLine.java ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java
Author: abearez Date: Wed May 29 01:05:26 2019 New Revision: 1860311 URL: http://svn.apache.org/viewvc?rev=1860311=rev Log: remove code smells Modified: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/ExcelChartWithTargetLine.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java Modified: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/ExcelChartWithTargetLine.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/ExcelChartWithTargetLine.java?rev=1860311=1860310=1860311=diff == --- poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/ExcelChartWithTargetLine.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/ExcelChartWithTargetLine.java Wed May 29 01:05:26 2019 @@ -183,48 +183,51 @@ class ExcelChartWithTargetLine { barCategories.getOrAddShapeProperties().setLineProperties(categoriesProps); } -public static void main(String[] args) throws Exception { - -XSSFWorkbook workbook = new XSSFWorkbook(); -XSSFSheet sheet = workbook.createSheet("targetline"); -final int NUM_OF_COLUMNS = 4; - -// create some data -XSSFRow row; -XSSFCell cell; -String[] headings = new String[] { "Year", "Male", "Female", "Other" }; -int rowIndex = 0; -row = sheet.createRow(rowIndex); -for (int colIndex = 0; colIndex < NUM_OF_COLUMNS; colIndex++) { -cell = row.createCell(colIndex); -cell.setCellValue(headings[colIndex]); +private static XSSFClientAnchor createAnchor(XSSFDrawing drawing, int[] chartedCols) { +if (chartedCols.length > 1) { +return drawing.createAnchor(0, 0, 0, 0, 0, 8, 10, 23); +} else { +return drawing.createAnchor(0, 0, 0, 0, 0, 8, 5, 23); } -double[][] values = new double[][] { new double[] { 1980, 56.0, 44.1, 12.2 }, -new double[] { 1985, 34.5, 41.0, 4 }, new double[] { 1990, 65.0, 68.5, 9.1 }, -new double[] { 1995, 34.7, 47.6, 4.9 }, new double[] { 2000, 23.0, 64.5, 11.1 }, -new double[] { 2005, 56.3, 69.8, 9.5 } }; -for (; rowIndex < NUM_OF_ROWS; rowIndex++) { -row = sheet.createRow(rowIndex + 1); +} + +public static void main(String[] args) throws Exception { +try (XSSFWorkbook workbook = new XSSFWorkbook()) { +XSSFSheet sheet = workbook.createSheet("targetline"); +final int NUM_OF_COLUMNS = 4; + +// create some data +XSSFRow row; +XSSFCell cell; +String[] headings = new String[] { "Year", "Male", "Female", "Other" }; +int rowIndex = 0; +row = sheet.createRow(rowIndex); for (int colIndex = 0; colIndex < NUM_OF_COLUMNS; colIndex++) { cell = row.createCell(colIndex); -cell.setCellValue(values[rowIndex][colIndex]); +cell.setCellValue(headings[colIndex]); +} +double[][] values = new double[][] { new double[] { 1980, 56.0, 44.1, 12.2 }, +new double[] { 1985, 34.5, 41.0, 4 }, new double[] { 1990, 65.0, 68.5, 9.1 }, +new double[] { 1995, 34.7, 47.6, 4.9 }, new double[] { 2000, 23.0, 64.5, 11.1 }, +new double[] { 2005, 56.3, 69.8, 9.5 } }; +for (; rowIndex < NUM_OF_ROWS; rowIndex++) { +row = sheet.createRow(rowIndex + 1); +for (int colIndex = 0; colIndex < NUM_OF_COLUMNS; colIndex++) { +cell = row.createCell(colIndex); +cell.setCellValue(values[rowIndex][colIndex]); +} } -} -int[] chartedCols = new int[] { 1, 2 , 3 }; +int[] chartedCols = new int[] { 1, 2 , 3 }; -XSSFDrawing drawing = sheet.createDrawingPatriarch(); -XSSFClientAnchor anchor = null; -if (chartedCols.length > 1) { -anchor = drawing.createAnchor(0, 0, 0, 0, 0, 8, 10, 23); -} else { -anchor = drawing.createAnchor(0, 0, 0, 0, 0, 8, 5, 23); -} -XSSFChart chart = drawing.createChart(anchor); -createChart(chart, sheet, chartedCols, 42.0); - -workbook.write(new FileOutputStream("ExcelChartWithTargetLine.xlsx")); -workbook.close(); +XSSFDrawing drawing = sheet.createDrawingPatriarch(); +XSSFClientAnchor anchor = createAnchor(drawing, chartedCols); +XSSFChart chart = drawing.createChart(anchor); +createChart(chart, sheet, chartedCols, 42.0); +
svn commit: r1859676 - in /poi/trunk/src: examples/src/org/apache/poi/xssf/usermodel/examples/ ooxml/java/org/apache/poi/xddf/usermodel/ ooxml/java/org/apache/poi/xddf/usermodel/chart/ ooxml/java/org/
Author: abearez Date: Tue May 21 23:28:15 2019 New Revision: 1859676 URL: http://svn.apache.org/viewvc?rev=1859676=rev Log: code inspired from Axel Richter on StackOverflow closes #139 closes #144 Added: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/ExcelChartWithTargetLine.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/Angles.java Modified: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/XDDFLineProperties.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/XDDFLinearShadeProperties.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/XDDFTransform2D.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFArea3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFAreaChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBar3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryDataSource.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartAxis.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSourcesFactory.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDateAxis.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFLegendEntry.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFLine3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFLineChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFNumericalDataSource.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFPie3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFPieChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFRadarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFScatterChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSeriesAxis.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSurface3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSurfaceChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFValueAxis.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFRunProperties.java Modified: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java?rev=1859676=1859675=1859676=diff == --- poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java Tue May 21 23:28:15 2019 @@ -27,8 +27,8 @@ import org.apache.poi.ss.util.CellRangeA import org.apache.poi.ss.util.CellReference; import org.apache.poi.xddf.usermodel.PresetColor; import org.apache.poi.xddf.usermodel.XDDFColor; +import org.apache.poi.xddf.usermodel.XDDFFillProperties; import org.apache.poi.xddf.usermodel.XDDFLineProperties; -import org.apache.poi.xddf.usermodel.XDDFShapeProperties; import org.apache.poi.xddf.usermodel.XDDFSolidFillProperties; import org.apache.poi.xddf.usermodel.chart.AxisCrosses; import org.apache.poi.xddf.usermodel.chart.AxisPosition; @@ -36,10 +36,10 @@ import org.apache.poi.xddf.usermodel.cha import org.apache.poi.xddf.usermodel.chart.ChartTypes; import org.apache.poi.xddf.usermodel.chart.LayoutMode; import org.apache.poi.xddf.usermodel.chart.LegendPosition; +import org.apache.poi.xddf.usermodel.chart.MarkerStyle; import org.apache.poi.xddf.usermodel.chart.XDDFBarChartData; import org.apache.poi.xddf.usermodel.chart.XDDFCategoryAxis; import org.apache.poi.xddf.usermodel.chart.XDDFCategoryDataSource; -import org.apache.poi.xddf.usermodel.chart.XDDFChartData; import org.apache.poi.xddf.usermodel.chart.XDDFChartLegend; import org.apache.poi.xddf.usermodel.chart.XDDFDataSourcesFactory; import org.apache.poi.xddf.usermodel.chart.XDDFLineChartData; @@ -97,12 +97,13 @@ public class BarAndLineChart { properties.setItalic(true); properties.setUnderline(UnderlineType.DOT_DOT_DASH_HEAVY
svn commit: r1859677 - /poi/site/src/documentation/content/xdocs/changes.xml
Author: abearez Date: Tue May 21 23:28:50 2019 New Revision: 1859677 URL: http://svn.apache.org/viewvc?rev=1859677=rev Log: Some XDDF improvements and seven new chart types Modified: poi/site/src/documentation/content/xdocs/changes.xml Modified: poi/site/src/documentation/content/xdocs/changes.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/changes.xml?rev=1859677=1859676=1859677=diff == --- poi/site/src/documentation/content/xdocs/changes.xml (original) +++ poi/site/src/documentation/content/xdocs/changes.xml Tue May 21 23:28:50 2019 @@ -87,6 +87,9 @@ --> + +Improved chart support: more types and some API changes around angles and width units + HSLF rendering - adjust values for presetShapeDefinition differs in HSLF/XSLF Don't fallback to master shape properties, if master shape is not assigned @@ -95,6 +98,10 @@ Return value of XSSFSheet.addMergedRegion is off by one Error opening XLSX after saving with a Drawing using POI MAPIType.isFixedLength: not true in case of length > 8 +Support to create new chart without reading template +Support for seven new chart types +Enable safe removal of data series from charts +Provide example of threshold line in bar chart - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1859596 - /poi/trunk/src/java/org/apache/poi/hpsf/CodePageString.java
Author: abearez Date: Tue May 21 00:14:15 2019 New Revision: 1859596 URL: http://svn.apache.org/viewvc?rev=1859596=rev Log: fix missing space in string literal (LGTM) Modified: poi/trunk/src/java/org/apache/poi/hpsf/CodePageString.java Modified: poi/trunk/src/java/org/apache/poi/hpsf/CodePageString.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hpsf/CodePageString.java?rev=1859596=1859595=1859596=diff == --- poi/trunk/src/java/org/apache/poi/hpsf/CodePageString.java (original) +++ poi/trunk/src/java/org/apache/poi/hpsf/CodePageString.java Tue May 21 00:14:15 2019 @@ -54,8 +54,8 @@ public class CodePageString { // CodePage property has any other value, it MUST be a null-terminated array of 8-bit characters // from the code page identified by the CodePage property, followed by zero padding to a // multiple of 4 bytes. The string represented by this field MAY contain embedded or additional -// trailing null characters and an OLEPS implementation MUST be able to handle such strings. - +// trailing null characters and an OLEPS implementation MUST be able to handle such strings. + lei.readFully(_value); if (_value[size - 1] != 0 ) { // TODO Some files, such as TestVisioWithCodepage.vsd, are currently @@ -72,17 +72,17 @@ public class CodePageString { int cp = ( codepage == -1 ) ? Property.DEFAULT_CODEPAGE : codepage; String result = CodePageUtil.getStringFromCodePage(_value, cp); - + final int terminator = result.indexOf( '\0' ); if ( terminator == -1 ) { -String msg = -"String terminator (\\0) for CodePageString property value not found." + +String msg = +"String terminator (\\0) for CodePageString property value not found. " + "Continue without trimming and hope for the best."; LOG.log(POILogger.WARN, msg); return result; } if ( terminator != result.length() - 1 ) { -String msg = +String msg = "String terminator (\\0) for CodePageString property value occured before the end of string. "+ "Trimming and hope for the best."; LOG.log(POILogger.WARN, msg ); - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1859592 - in /poi/trunk/src/java/org/apache/poi: hssf/record/FilePassRecord.java hssf/record/ObjRecord.java hssf/record/StandardRecord.java hssf/record/cont/ContinuableRecord.java ss/util
Author: abearez Date: Tue May 21 00:13:51 2019 New Revision: 1859592 URL: http://svn.apache.org/viewvc?rev=1859592=rev Log: fix potential output resource leaks (LGTM) Modified: poi/trunk/src/java/org/apache/poi/hssf/record/FilePassRecord.java poi/trunk/src/java/org/apache/poi/hssf/record/ObjRecord.java poi/trunk/src/java/org/apache/poi/hssf/record/StandardRecord.java poi/trunk/src/java/org/apache/poi/hssf/record/cont/ContinuableRecord.java poi/trunk/src/java/org/apache/poi/ss/util/CellRangeAddressList.java Modified: poi/trunk/src/java/org/apache/poi/hssf/record/FilePassRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/FilePassRecord.java?rev=1859592=1859591=1859592=diff == --- poi/trunk/src/java/org/apache/poi/hssf/record/FilePassRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/FilePassRecord.java Tue May 21 00:13:51 2019 @@ -43,10 +43,10 @@ public final class FilePassRecord extend public static final short sid = 0x002F; private static final int ENCRYPTION_XOR = 0; private static final int ENCRYPTION_OTHER = 1; - + private final int encryptionType; private EncryptionInfo encryptionInfo; - + private FilePassRecord(FilePassRecord other) { encryptionType = other.encryptionType; try { @@ -55,15 +55,15 @@ public final class FilePassRecord extend throw new EncryptedDocumentException(e); } } - + public FilePassRecord(EncryptionMode encryptionMode) { encryptionType = (encryptionMode == EncryptionMode.xor) ? ENCRYPTION_XOR : ENCRYPTION_OTHER; encryptionInfo = new EncryptionInfo(encryptionMode); } - + public FilePassRecord(RecordInputStream in) { encryptionType = in.readUShort(); - + EncryptionMode preferredMode; switch (encryptionType) { case ENCRYPTION_XOR: @@ -75,7 +75,7 @@ public final class FilePassRecord extend default: throw new EncryptedDocumentException("invalid encryption type"); } - + try { encryptionInfo = new EncryptionInfo(in, preferredMode); } catch (IOException e) { @@ -88,32 +88,37 @@ public final class FilePassRecord extend public void serialize(LittleEndianOutput out) { out.writeShort(encryptionType); -byte[] data = new byte[1024]; -LittleEndianByteArrayOutputStream bos = new LittleEndianByteArrayOutputStream(data, 0); // NOSONAR - -switch (encryptionInfo.getEncryptionMode()) { -case xor: -((XOREncryptionHeader)encryptionInfo.getHeader()).write(bos); - ((XOREncryptionVerifier)encryptionInfo.getVerifier()).write(bos); -break; -case binaryRC4: -out.writeShort(encryptionInfo.getVersionMajor()); -out.writeShort(encryptionInfo.getVersionMinor()); - ((BinaryRC4EncryptionHeader)encryptionInfo.getHeader()).write(bos); - ((BinaryRC4EncryptionVerifier)encryptionInfo.getVerifier()).write(bos); -break; -case cryptoAPI: -out.writeShort(encryptionInfo.getVersionMajor()); -out.writeShort(encryptionInfo.getVersionMinor()); -out.writeInt(encryptionInfo.getEncryptionFlags()); - ((CryptoAPIEncryptionHeader)encryptionInfo.getHeader()).write(bos); - ((CryptoAPIEncryptionVerifier)encryptionInfo.getVerifier()).write(bos); -break; -default: -throw new EncryptedDocumentException("not supported"); +byte data[] = new byte[1024]; +try (LittleEndianByteArrayOutputStream bos = +new LittleEndianByteArrayOutputStream(data, 0)) { // NOSONAR + +switch (encryptionInfo.getEncryptionMode()) { +case xor: + ((XOREncryptionHeader)encryptionInfo.getHeader()).write(bos); + ((XOREncryptionVerifier)encryptionInfo.getVerifier()).write(bos); +break; +case binaryRC4: +out.writeShort(encryptionInfo.getVersionMajor()); +out.writeShort(encryptionInfo.getVersionMinor()); + ((BinaryRC4EncryptionHeader)encryptionInfo.getHeader()).write(bos); + ((BinaryRC4EncryptionVerifier)encryptionInfo.getVerifier()).write(bos); +break; +case cryptoAPI: +out.writeShort(encryptionInfo.getVersionMajor()); +out.writeShort(encryptionInfo.getVersionMinor()); +out.writeInt(encryptionInf
svn commit: r1859595 - in /poi/trunk/src: examples/src/org/apache/poi/hssf/usermodel/examples/ java/org/apache/poi/poifs/filesystem/ java/org/apache/poi/ss/formula/atp/ java/org/apache/poi/ss/formula/
Author: abearez Date: Tue May 21 00:14:12 2019 New Revision: 1859595 URL: http://svn.apache.org/viewvc?rev=1859595=rev Log: fix result of multiplication cast to wider type Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/BigExample.java poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/HSSFReadWrite.java poi/trunk/src/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java poi/trunk/src/java/org/apache/poi/ss/formula/atp/YearFracCalculator.java poi/trunk/src/java/org/apache/poi/ss/formula/functions/Days360.java poi/trunk/src/java/org/apache/poi/ss/usermodel/DateUtil.java poi/trunk/src/java/org/apache/poi/ss/usermodel/ExcelStyleDateFormatter.java poi/trunk/src/java/org/apache/poi/ss/util/ImageUtils.java poi/trunk/src/java/org/apache/poi/ss/util/cellwalk/CellWalk.java poi/trunk/src/java/org/apache/poi/util/StringUtil.java poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfComment.java poi/trunk/src/scratchpad/src/org/apache/poi/hpbf/model/qcbits/QCTextBit.java poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/CurrentUserAtom.java poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/MasterTextPropAtom.java poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/TextCharsAtom.java poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/TextSpecInfoRun.java poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/record/HwmfDraw.java poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToHtmlConverter.java poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/sprm/SprmUtils.java poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/sprm/TableSprmCompressor.java Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/BigExample.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/BigExample.java?rev=1859595=1859594=1859595=diff == --- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/BigExample.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/BigExample.java Tue May 21 00:14:12 2019 @@ -102,9 +102,9 @@ public class BigExample { // create a numeric cell c = r.createCell(cellnum); // do some goofy math to demonstrate decimals -c.setCellValue(rownum * 1 + cellnum -+ (((double) rownum / 1000) -+ ((double) cellnum / 1))); +c.setCellValue((rownum * 1.0) + cellnum ++ (rownum / 1000.0) ++ (cellnum / 1.0)); // on every other row if ((rownum % 2) == 0) { Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/HSSFReadWrite.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/HSSFReadWrite.java?rev=1859595=1859594=1859595=diff == --- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/HSSFReadWrite.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/HSSFReadWrite.java Tue May 21 00:14:12 2019 @@ -87,8 +87,8 @@ public final class HSSFReadWrite { for (int cellnum = 0; cellnum < 50; cellnum += 2) { HSSFCell c = r.createCell(cellnum); - c.setCellValue(rownum * 1 + cellnum - + (((double) rownum / 1000) + ((double) cellnum / 1))); + c.setCellValue((rownum * 1.0) + cellnum + + (rownum / 1000.0) + (cellnum / 1.0)); if ((rownum % 2) == 0) { c.setCellStyle(cs); } Modified: poi/trunk/src/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java?rev=1859595=1859594=1859595=diff == --- poi/trunk/src/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java (original) +++ poi/trunk/src/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java Tue May 21 00:14:12 2019 @@ -759,6 +759,7 @@ public class POIFSFileSystem extends Blo * and buffers. After this, you will be unable to read or * write from the FileSystem. */ +@Override public void close() throws IOException { _data.close(); } @@ -834,6 +83
svn commit: r1859593 - in /poi/trunk/src: java/org/apache/poi/hssf/usermodel/HSSFRow.java java/org/apache/poi/ss/formula/functions/Rank.java java/org/apache/poi/util/StringUtil.java scratchpad/src/org
Author: abearez Date: Tue May 21 00:13:56 2019 New Revision: 1859593 URL: http://svn.apache.org/viewvc?rev=1859593=rev Log: fix boxed variable is never null Modified: poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java poi/trunk/src/java/org/apache/poi/ss/formula/functions/Rank.java poi/trunk/src/java/org/apache/poi/util/StringUtil.java poi/trunk/src/scratchpad/src/org/apache/poi/hslf/dev/SlideIdListing.java Modified: poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java?rev=1859593=1859592=1859593=diff == --- poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFRow.java Tue May 21 00:13:56 2019 @@ -85,12 +85,12 @@ public final class HSSFRow implements Ro this.sheet = sheet; row = record; setRowNum(record.getRowNumber()); - + // Size the initial cell list such that a read only case won't waste // lots of memory, and a create/read followed by adding new cells can // add a bit without needing a resize cells = new HSSFCell[record.getLastCol()+INITIAL_CAPACITY]; - + // Don't trust colIx boundaries as read by other apps // set the RowRecord empty for the moment record.setEmpty(); @@ -119,7 +119,7 @@ public final class HSSFRow implements Ro * Use this to create new cells within the row and return it. * * The cell that is returned will be of the requested type. - * The type can be changed either through calling setCellValue + * The type can be changed either through calling setCellValue * or setCellType, but there is a small overhead to doing this, * so it is best to create the required type up front. * @@ -429,7 +429,9 @@ public final class HSSFRow implements Ro { int count = 0; for (HSSFCell cell : cells) { -if (cell != null) count++; +if (cell != null) { +count++; +} } return count; } @@ -499,8 +501,11 @@ public final class HSSFRow implements Ro //The low-order 15 bits contain the row height. //The 0x8000 bit indicates that the row is standard height (optional) -if ((height & 0x8000) != 0) height = sheet.getSheet().getDefaultRowHeight(); -else height &= 0x7FFF; +if ((height & 0x8000) != 0) { +height = sheet.getSheet().getDefaultRowHeight(); +} else { +height &= 0x7FFF; +} return height; } @@ -627,45 +632,46 @@ public final class HSSFRow implements Ro int thisId=-1; int nextId=-1; - public CellIterator() - { -findNext(); + public CellIterator() { + findNext(); } @Override -public boolean hasNext() { -return nextIdHSSFRow objects. Two rows are equal if they belong to the same worksheet and * their row indexes are equal. @@ -688,22 +694,19 @@ public final class HSSFRow implements Ro * @throws IllegalArgumentException if the argument row belongs to a different worksheet */ @Override -public int compareTo(HSSFRow other) -{ +public int compareTo(HSSFRow other) { if (this.getSheet() != other.getSheet()) { throw new IllegalArgumentException("The compared rows must belong to the same sheet"); } -Integer thisRow = this.getRowNum(); -Integer otherRow = other.getRowNum(); -return thisRow.compareTo(otherRow); +int thisRow = this.getRowNum(); +int otherRow = other.getRowNum(); +return Integer.compare(thisRow, otherRow); } @Override -public boolean equals(Object obj) -{ -if (!(obj instanceof HSSFRow)) -{ +public boolean equals(Object obj) { +if (!(obj instanceof HSSFRow)) { return false; } HSSFRow other = (HSSFRow) obj; @@ -716,7 +719,7 @@ public final class HSSFRow implements Ro public int hashCode() { return row.hashCode(); } - + /** * Shifts column range [firstShiftColumnIndex-lastShiftColumnIndex] step places to the right. * @param firstShiftColumnIndex the column to start shifting @@ -727,20 +730,25 @@ public final class HSSFRow implements Ro public void shiftCellsRight(int firstShiftColumnIndex, int lastShiftColumnIndex, int step) { RowShifter.validateShiftParameters(firstShiftColumnIndex, lastShiftColumnIndex, step); -if(lastShiftColumnIndex + step + 1> cells.length) +if (lastShiftColumnIndex + step + 1 > cells.length) { extend(lastShiftColumnIndex + step + 1); -for (int columnIndex = l
svn commit: r1859594 - in /poi/trunk/src/java/org/apache/poi/ss/util: CellAddress.java NumberToTextConverter.java
Author: abearez Date: Tue May 21 00:13:59 2019 New Revision: 1859594 URL: http://svn.apache.org/viewvc?rev=1859594=rev Log: fix whitespace contradicts operator precedence Modified: poi/trunk/src/java/org/apache/poi/ss/util/CellAddress.java poi/trunk/src/java/org/apache/poi/ss/util/NumberToTextConverter.java Modified: poi/trunk/src/java/org/apache/poi/ss/util/CellAddress.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/util/CellAddress.java?rev=1859594=1859593=1859594=diff == --- poi/trunk/src/java/org/apache/poi/ss/util/CellAddress.java (original) +++ poi/trunk/src/java/org/apache/poi/ss/util/CellAddress.java Tue May 21 00:13:59 2019 @@ -25,9 +25,9 @@ import org.apache.poi.ss.usermodel.Cell; * This class is a container for POI usermodel row=0 column=0 cell references. * It is barely a container for these two coordinates. The implementation * of the Comparable interface sorts by "natural" order top left to bottom right. - * + * * Use CellAddress when you want to refer to the location of a cell in a sheet - * when the concept of relative/absolute does not apply (such as the anchor location + * when the concept of relative/absolute does not apply (such as the anchor location * of a cell comment). Use {@link CellReference} when the concept of * relative/absolute does apply (such as a cell reference in a formula). * CellAddresses do not have a concept of "sheet", while CellReferences do. @@ -35,10 +35,10 @@ import org.apache.poi.ss.usermodel.Cell; public class CellAddress implements Comparable { /** A constant for references to the first cell in a sheet. */ public static final CellAddress A1 = new CellAddress(0, 0); - + private final int _row; private final int _col; - + /** * Create a new CellAddress object. * @@ -50,7 +50,7 @@ public class CellAddress implements Comp this._row = row; this._col = column; } - + /** * Create a new CellAddress object. * @@ -77,7 +77,7 @@ public class CellAddress implements Comp this._row = Integer.parseInt(sRow)-1; this._col = CellReference.convertColStringToIndex(sCol); } - + /** * Create a new CellAddress object. * @@ -86,16 +86,16 @@ public class CellAddress implements Comp public CellAddress(CellReference reference) { this(reference.getRow(), reference.getCol()); } - + /** * Create a new CellAddress object - * + * * @param address a CellAddress */ public CellAddress(CellAddress address) { this(address.getRow(), address.getColumn()); } - + /** * Create a new CellAddress object. * @@ -104,7 +104,7 @@ public class CellAddress implements Comp public CellAddress(Cell cell) { this(cell.getRowIndex(), cell.getColumnIndex()); } - + /** * Get the cell address row * @@ -126,7 +126,7 @@ public class CellAddress implements Comp /** * Compare this CellAddress using the "natural" row-major, column-minor ordering. * That is, top-left to bottom-right ordering. - * + * * @param other * @return * -1 if this CellAddress is before (above/left) of other @@ -137,10 +137,14 @@ public class CellAddress implements Comp @Override public int compareTo(CellAddress other) { int r = this._row-other._row; -if (r!=0) return r; +if (r!=0) { +return r; +} r = this._col-other._col; -if (r!=0) return r; +if (r!=0) { +return r; +} return 0; } @@ -153,7 +157,7 @@ public class CellAddress implements Comp if(!(o instanceof CellAddress)) { return false; } - + CellAddress other = (CellAddress) o; return _row == other._row && _col == other._col; @@ -161,14 +165,14 @@ public class CellAddress implements Comp @Override public int hashCode() { -return this._row + this._col<<16; +return (this._row + this._col) << 16; } @Override public String toString() { return formatAsString(); } - + /** * Same as {@link #toString()} * @return A1-style cell address string representation Modified: poi/trunk/src/java/org/apache/poi/ss/util/NumberToTextConverter.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/util/NumberToTextConverter.java?rev=1859594=1859593=1859594=diff == --- poi/trunk/src/java/org/apache/poi/ss/util/NumberToTextConverter.java (original) +++ poi/trunk/src/java/org/apache/poi/ss/util/NumberToTextConverter.java Tue May 21 00:13:59 2019 @@ -220,7
svn commit: r1859591 - in /poi/trunk/src: examples/src/org/apache/poi/hssf/usermodel/examples/ java/org/apache/poi/poifs/dev/ scratchpad/src/org/apache/poi/hdgf/extractor/ scratchpad/src/org/apache/po
Author: abearez Date: Tue May 21 00:13:47 2019 New Revision: 1859591 URL: http://svn.apache.org/viewvc?rev=1859591=rev Log: fix potential input resource leaks (LGTM) Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/EmbeddedObjects.java poi/trunk/src/java/org/apache/poi/poifs/dev/POIFSLister.java poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/extractor/VisioTextExtractor.java poi/trunk/src/scratchpad/src/org/apache/poi/hpbf/dev/PLCDumper.java Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/EmbeddedObjects.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/EmbeddedObjects.java?rev=1859591=1859590=1859591=diff == --- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/EmbeddedObjects.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/EmbeddedObjects.java Tue May 21 00:13:47 2019 @@ -33,8 +33,11 @@ import org.apache.poi.poifs.filesystem.P public class EmbeddedObjects { @SuppressWarnings("unused") public static void main(String[] args) throws Exception { -POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(args[0])); -try (HSSFWorkbook workbook = new HSSFWorkbook(fs)) { +try ( +FileInputStream fis = new FileInputStream(args[0]); +POIFSFileSystem fs = new POIFSFileSystem(fis); +HSSFWorkbook workbook = new HSSFWorkbook(fs) +) { for (HSSFObjectData obj : workbook.getAllEmbeddedObjects()) { //the OLE2 Class Name of the object String oleName = obj.getOLE2ClassName(); Modified: poi/trunk/src/java/org/apache/poi/poifs/dev/POIFSLister.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/poifs/dev/POIFSLister.java?rev=1859591=1859590=1859591=diff == --- poi/trunk/src/java/org/apache/poi/poifs/dev/POIFSLister.java (original) +++ poi/trunk/src/java/org/apache/poi/poifs/dev/POIFSLister.java Tue May 21 00:13:47 2019 @@ -68,9 +68,11 @@ public class POIFSLister { } public static void viewFileOld(final String filename, boolean withSizes) throws IOException { - POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(filename)); - displayDirectory(fs.getRoot(), "", withSizes); - fs.close(); + try (FileInputStream fis = new FileInputStream(filename)) { + POIFSFileSystem fs = new POIFSFileSystem(fis); + displayDirectory(fs.getRoot(), "", withSizes); + fs.close(); + } } public static void displayDirectory(DirectoryNode dir, String indent, boolean withSizes) { @@ -92,7 +94,7 @@ public class POIFSLister { name = name.substring(1) + " <" + altname + ">"; } if (withSizes) { - size = " [" + doc.getSize() + " / 0x" + + size = " [" + doc.getSize() + " / 0x" + Integer.toHexString(doc.getSize()) + "]"; } System.out.println(newIndent + name + size); Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/extractor/VisioTextExtractor.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/extractor/VisioTextExtractor.java?rev=1859591=1859590=1859591=diff == --- poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/extractor/VisioTextExtractor.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/extractor/VisioTextExtractor.java Tue May 21 00:13:47 2019 @@ -60,7 +60,7 @@ public final class VisioTextExtractor ex /** * Locates all the text entries in the file, and returns their * contents. -* +* * @return An array of each Text item in the document */ public String[] getAllText() { @@ -106,7 +106,7 @@ public final class VisioTextExtractor ex * Returns the textual contents of the file. * Each textual object's text will be separated * by a newline -* +* * @return All text contained in this document, separated by \n */ @Override @@ -128,12 +128,14 @@ public final class VisioTextExtractor ex System.exit(1); } - VisioTextExtractor extractor = - new VisioTextExtractor(new FileInputStream(args[0])); + try (FileInputStream fis = new FileInputStream(args[0])) { + VisioTextExtractor extractor = + new VisioTextExtractor(fis); -
svn commit: r1859590 - in /poi/trunk/src: examples/src/org/apache/poi/xslf/usermodel/ examples/src/org/apache/poi/xssf/usermodel/examples/ examples/src/org/apache/poi/xwpf/usermodel/examples/ ooxml/ja
Author: abearez Date: Tue May 21 00:13:40 2019 New Revision: 1859590 URL: http://svn.apache.org/viewvc?rev=1859590=rev Log: code cleanup plus fix for bug 63153 Added: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/Shape.java Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/PieChartDemo.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/BarChartExample.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/XDDFLinearShadeProperties.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFArea3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFAreaChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBar3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFLine3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFLineChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFPie3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFPieChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFRadarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFScatterChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSurface3DChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSurfaceChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFView3D.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFChart.java poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java?rev=1859590=1859589=1859590=diff == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java Tue May 21 00:13:40 2019 @@ -108,7 +108,7 @@ public class BarChartDemo { values1[6] = 16.0; // if you ever want to change the underlying data final XDDFNumericalDataSource valuesData2 = XDDFDataSourcesFactory.fromArray(values2, valuesDataRange2, 2); -XDDFChartData.Series series1 = bar.getSeries().get(0); +XDDFChartData.Series series1 = bar.getSeries(0); series1.replaceData(categoriesData, valuesData); series1.setTitle(series[0], chart.setSheetTitle(series[0], 0)); XDDFChartData.Series series2 = bar.addSeries(categoriesData, valuesData2); Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/PieChartDemo.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/PieChartDemo.java?rev=1859590=1859589=1859590=diff == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/PieChartDemo.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/PieChartDemo.java Tue May 21 00:13:40 2019 @@ -98,10 +98,10 @@ public class PieChartDemo { final XDDFDataSource categoriesData = XDDFDataSourcesFactory.fromArray(categories, categoryDataRange); final XDDFNumericalDataSource valuesData = XDDFDataSourcesFactory.fromArray(values, valuesDataRange); - XDDFPieChartData.Series firstSeries = (XDDFPieChartData.Series) pie.getSeries().get(0); + XDDFPieChartData.Series firstSeries = (XDDFPieChartData.Series) pie.getSeries(0); firstSeries.replaceData(categoriesData, valuesData); firstSeries.setTitle(chartTitle, chart.setSheetTitle(chartTitle, 0)); - firstSeries.setExplosion(25); + firstSeries.setExplosion(25L); chart.plot(pie); // save the result Modified: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java?rev=1859590=1859589=1859590=diff == --- poi/trunk/src/examples/src
svn commit: r1859589 - in /poi/trunk/src: examples/src/org/apache/poi/xssf/usermodel/examples/ ooxml/java/org/apache/poi/xddf/usermodel/chart/
Author: abearez Date: Tue May 21 00:13:28 2019 New Revision: 1859589 URL: http://svn.apache.org/viewvc?rev=1859589=rev Log: Added more chart supports. fixed bug while creating chart with bar and line series. Added: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFArea3DChartData.java - copied, changed from r1859575, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFRadarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFAreaChartData.java - copied, changed from r1859575, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFRadarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBar3DChartData.java - copied, changed from r1859575, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFLine3DChartData.java - copied, changed from r1859575, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFLineChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFPie3DChartData.java - copied, changed from r1859575, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFPieChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSurface3DChartData.java - copied, changed from r1859575, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFRadarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSurfaceChartData.java - copied, changed from r1859575, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFRadarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFView3D.java Modified: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ChartTypes.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFLineChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFPieChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFRadarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFScatterChartData.java Modified: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java?rev=1859589=1859588=1859589=diff == --- poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java Tue May 21 00:13:28 2019 @@ -134,17 +134,26 @@ public class BarAndLineChart { lineCategories.crossAxis(rightValues); // the bar chart -XDDFBarChartData bar = (XDDFBarChartData) chart.createData(ChartTypes.BAR, lineCategories, rightValues); +XDDFBarChartData bar = (XDDFBarChartData) chart.createData(ChartTypes.BAR, barCategories, leftValues); XDDFBarChartData.Series series1 = (XDDFBarChartData.Series) bar.addSeries(xs, ys1); series1.setTitle("Bars", new CellReference("Sheet1!$B$1")); bar.setVaryColors(true); bar.setBarDirection(BarDirection.COL); chart.plot(bar); -// the line chart +// the line chart on secondary axis XDDFLineChartData lines = (XDDFLineChartData) chart.createData(ChartTypes.LINE, lineCategories, rightValues); + +//uncomment below line if only primary axis required and comment above line +// the line chart on primary axis +/*XDDFLineChartData lines = (XDDFLineChartData) chart.createData(ChartTypes.LINE, lineCategories, +leftValues);*/ + + XDDFLineChartData.Series series2 = (XDDFLineChartData.Series) lines.addSeries(xs, ys2); +series2.updateIdXVal(1); +series2.updateOrderVal(1); series2.setTitle("Lines", new CellReference("Sheet1!$C$1")); lines.setVaryColors(true); chart.plot(lines); Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ChartTypes.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ChartTyp
svn commit: r1848432 - in /poi/trunk/src: examples/src/org/apache/poi/xslf/usermodel/ examples/src/org/apache/poi/xwpf/usermodel/examples/ ooxml/java/org/apache/poi/xddf/usermodel/chart/ ooxml/java/or
Author: abearez Date: Sat Dec 8 02:44:22 2018 New Revision: 1848432 URL: http://svn.apache.org/viewvc?rev=1848432=rev Log: create chart from scratch by sandeeptiwari32 Added: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/ChartFromScratch.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFDrawing.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFSheet.java poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFSlide.java Added: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java?rev=1848432=auto == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java (added) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/ChartFromScratch.java Sat Dec 8 02:44:22 2018 @@ -0,0 +1,145 @@ +/* + * + *Licensed to the Apache Software Foundation (ASF) under one or more + *contributor license agreements. See the NOTICE file distributed with + *this work for additional information regarding copyright ownership. + *The ASF licenses this file to You under the Apache License, Version 2.0 + *(the "License"); you may not use this file except in compliance with + *the License. You may obtain a copy of the License at + * + *http://www.apache.org/licenses/LICENSE-2.0 + * + *Unless required by applicable law or agreed to in writing, software + *distributed under the License is distributed on an "AS IS" BASIS, + *WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + *See the License for the specific language governing permissions and + *limitations under the License. + * + */ + +package org.apache.poi.xslf.usermodel; + +import java.awt.geom.Rectangle2D; +import java.io.BufferedReader; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.List; + +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.xddf.usermodel.chart.AxisCrosses; +import org.apache.poi.xddf.usermodel.chart.AxisPosition; +import org.apache.poi.xddf.usermodel.chart.BarDirection; +import org.apache.poi.xddf.usermodel.chart.ChartTypes; +import org.apache.poi.xddf.usermodel.chart.LegendPosition; +import org.apache.poi.xddf.usermodel.chart.XDDFBarChartData; +import org.apache.poi.xddf.usermodel.chart.XDDFChart; +import org.apache.poi.xddf.usermodel.chart.XDDFChartAxis; +import org.apache.poi.xddf.usermodel.chart.XDDFChartLegend; +import org.apache.poi.xddf.usermodel.chart.XDDFDataSource; +import org.apache.poi.xddf.usermodel.chart.XDDFDataSourcesFactory; +import org.apache.poi.xddf.usermodel.chart.XDDFNumericalDataSource; +import org.apache.poi.xddf.usermodel.chart.XDDFValueAxis; + +/** + * Build a chart without reading template file + */ +public class ChartFromScratch { +private static void usage(){ +System.out.println("Usage: BarChartExample "); +System.out.println("bar-chart-data.txt the model to set. First line is chart title, " + +"then go pairs {axis-label value}"); +} + +public static void main(String[] args) throws Exception { +if(args.length < 1) { +usage(); +return; +} + +try (BufferedReader modelReader = new BufferedReader(new FileReader(args[0]))) { + +String chartTitle = modelReader.readLine(); // first line is chart title +String[] series = modelReader.readLine().split(","); + +// Category Axis Data +List listLanguages = new ArrayList<>(10); + +// Values +List listCountries = new ArrayList<>(10); +List listSpeakers = new ArrayList<>(10); + +// set model +String ln; +while((ln = modelReader.readLine()) != null) { +String[] vals = ln.split(","); +listCountries.add(Double.valueOf(vals[0])); +listSpeakers.add(Double.valueOf(vals[1])); +listLanguages.add(vals
svn commit: r1843557 - in /poi/trunk/src/ooxml/testcases/org/apache/poi: ooxml/util/ openxml4j/opc/ xslf/usermodel/ xssf/ xssf/usermodel/ xssf/usermodel/charts/ xssf/util/
Author: abearez Date: Thu Oct 11 14:50:27 2018 New Revision: 1843557 URL: http://svn.apache.org/viewvc?rev=1843557=rev Log: fix more LGTM alerts, in tests Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ooxml/util/OOXMLLite.java poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/ZipFileAssert.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextParagraph.java poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/XSSFTestDataSamples.java poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFColGrouping.java poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDataValidation.java poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartTitle.java poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/util/MemoryUsage.java Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ooxml/util/OOXMLLite.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ooxml/util/OOXMLLite.java?rev=1843557=1843556=1843557=diff == --- poi/trunk/src/ooxml/testcases/org/apache/poi/ooxml/util/OOXMLLite.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/ooxml/util/OOXMLLite.java Thu Oct 11 14:50:27 2018 @@ -17,18 +17,6 @@ package org.apache.poi.ooxml.util; -import junit.framework.TestCase; -import org.apache.poi.util.IOUtils; -import org.apache.poi.util.StringUtil; -import org.apache.poi.util.SuppressForbidden; -import org.apache.xmlbeans.StringEnumAbstractBase; -import org.junit.Test; -import org.junit.internal.TextListener; -import org.junit.runner.Description; -import org.junit.runner.JUnitCore; -import org.junit.runner.Result; -import org.reflections.Reflections; - import java.io.File; import java.io.IOException; import java.lang.reflect.Field; @@ -38,11 +26,29 @@ import java.security.AccessController; import java.security.CodeSource; import java.security.PrivilegedAction; import java.security.ProtectionDomain; -import java.util.*; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.Vector; import java.util.jar.JarEntry; import java.util.jar.JarFile; import java.util.regex.Pattern; +import org.apache.poi.util.IOUtils; +import org.apache.poi.util.StringUtil; +import org.apache.poi.util.SuppressForbidden; +import org.apache.xmlbeans.StringEnumAbstractBase; +import org.junit.Test; +import org.junit.internal.TextListener; +import org.junit.runner.Description; +import org.junit.runner.JUnitCore; +import org.junit.runner.Result; +import org.reflections.Reflections; + +import junit.framework.TestCase; + /** * Build a 'lite' version of the ooxml-schemas.jar * @@ -74,12 +80,12 @@ public final class OOXMLLite { } public static void main(String[] args) throws IOException { -System.out.println("Free memory (bytes): " + +System.out.println("Free memory (bytes): " + Runtime.getRuntime().freeMemory()); long maxMemory = Runtime.getRuntime().maxMemory(); -System.out.println("Maximum memory (bytes): " + +System.out.println("Maximum memory (bytes): " + (maxMemory == Long.MAX_VALUE ? "no limit" : maxMemory)); -System.out.println("Total memory (bytes): " + +System.out.println("Total memory (bytes): " + Runtime.getRuntime().totalMemory()); String dest = null, test = null, ooxml = null; @@ -87,13 +93,13 @@ public final class OOXMLLite { for (int i = 0; i < args.length; i++) { switch (args[i]) { case "-dest": -dest = args[++i]; +dest = args[++i]; // lgtm[java/index-out-of-bounds] break; case "-test": -test = args[++i]; +test = args[++i]; // lgtm[java/index-out-of-bounds] break; case "-ooxml": -ooxml = args[++i]; +ooxml = args[++i]; // lgtm[java/index-out-of-bounds] break; } } @@ -248,7 +254,7 @@ public final class OOXMLLite { return true; } } - + // also check super classes if(testclass.getSuperclass() != null) { for (Method m : testclass.getSuperclass().getDeclaredMethods()) { @@ -257,7 +263,7 @@ public final class OOXMLLite { } }
svn commit: r1843481 [2/2] - in /poi/trunk/src/ooxml/java/org/apache/poi: poifs/crypt/dsig/ xdgf/usermodel/ xdgf/util/ xslf/usermodel/ xslf/util/ xssf/binary/ xssf/streaming/ xssf/usermodel/ xwpf/user
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTable.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTable.java?rev=1843481=1843480=1843481=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTable.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTable.java Wed Oct 10 17:49:53 2018 @@ -161,8 +161,9 @@ public class XWPFTable implements IBodyE this.ctTbl = table; // is an empty table: I add one row and one column as default -if (table.sizeOfTrArray() == 0) +if (table.sizeOfTrArray() == 0) { createEmptyTable(table); +} for (CTRow row : table.getTrList()) { StringBuilder rowText = new StringBuilder(); @@ -233,7 +234,7 @@ public class XWPFTable implements IBodyE return text.toString(); } - + /** * This method has existed since 2008 without an implementation. * It will be removed unless an implementation is provided. @@ -288,7 +289,7 @@ public class XWPFTable implements IBodyE /** * Get the width value as an integer. * If the width type is AUTO, DXA, or NIL, the value is 20ths of a point. If - * the width type is PCT, the value is the percentage times 50 (e.g., 2500 for 50%). + * the width type is PCT, the value is the percentage times 50 (e.g., 2500 for 50%). * @return width value as an integer */ public int getWidth() { @@ -322,7 +323,7 @@ public class XWPFTable implements IBodyE } /** - * Returns CTTblPr object for table. If force parameter is true, will + * Returns CTTblPr object for table. If force parameter is true, will * create the element if necessary. If force parameter is false, returns * null when CTTblPr element is missing. * @@ -343,7 +344,7 @@ public class XWPFTable implements IBodyE private CTTblBorders getTblBorders(boolean force) { CTTblPr tblPr = getTblPr(force); return tblPr == null ? null - : tblPr.isSetTblBorders() ? tblPr.getTblBorders() + : tblPr.isSetTblBorders() ? tblPr.getTblBorders() : force ? tblPr.addNewTblBorders() : null; } @@ -413,18 +414,18 @@ public class XWPFTable implements IBodyE : tPr.isSetJc() ? TableRowAlign.valueOf(tPr.getJc().getVal().intValue()) : null; } - + /** * Set table alignment to specified {@link TableRowAlign} * - * @param ha {@link TableRowAlign} to set + * @param tra {@link TableRowAlign} to set */ public void setTableAlignment(TableRowAlign tra) { CTTblPr tPr = getTblPr(true); CTJc jc = tPr.isSetJc() ? tPr.getJc() : tPr.addNewJc(); jc.setVal(STJc.Enum.forInt(tra.getValue())); } - + /** * Removes the table alignment attribute from a table */ @@ -434,7 +435,7 @@ public class XWPFTable implements IBodyE tPr.unsetJc(); } } - + private void addColumn(XWPFTableRow tabRow, int sizeCol) { if (sizeCol > 0) { for (int i = 0; i < sizeCol; i++) { @@ -486,7 +487,7 @@ public class XWPFTable implements IBodyE /** * Get inside horizontal border size - * + * * @return The width of the Inside Horizontal borders in 1/8th points, * -1 if missing. */ @@ -496,7 +497,7 @@ public class XWPFTable implements IBodyE /** * Get inside horizontal border spacing - * + * * @return The offset to the Inside Horizontal borders in points, * -1 if missing. */ @@ -506,7 +507,7 @@ public class XWPFTable implements IBodyE /** * Get inside horizontal border color - * + * * @return The color of the Inside Horizontal borders, null if missing. */ public String getInsideHBorderColor() { @@ -524,7 +525,7 @@ public class XWPFTable implements IBodyE /** * Get inside vertical border size - * + * * @return The width of the Inside vertical borders in 1/8th points, * -1 if missing. */ @@ -534,7 +535,7 @@ public class XWPFTable implements IBodyE /** * Get inside vertical border spacing - * + * * @return The offset to the Inside vertical borders in points, * -1 if missing. */ @@ -544,7 +545,7 @@ public class XWPFTable implements IBodyE /** * Get inside vertical border color - * + * * @return The color of the Inside vertical borders, null if missing. */ public String getInsideVBorderColor() { @@ -562,7 +563,7 @@ public class XWPFTable implements IBodyE /** * Get top border size - * + * * @return The width of the top borders in 1/8th points, * -1 if missing. */ @@
svn commit: r1843481 [1/2] - in /poi/trunk/src/ooxml/java/org/apache/poi: poifs/crypt/dsig/ xdgf/usermodel/ xdgf/util/ xslf/usermodel/ xslf/util/ xssf/binary/ xssf/streaming/ xssf/usermodel/ xwpf/user
Author: abearez Date: Wed Oct 10 17:49:53 2018 New Revision: 1843481 URL: http://svn.apache.org/viewvc?rev=1843481=rev Log: fix most alerts reported by LGTM on OOXML Modified: poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureConfig.java poi/trunk/src/ooxml/java/org/apache/poi/xdgf/usermodel/XDGFShape.java poi/trunk/src/ooxml/java/org/apache/poi/xdgf/usermodel/XDGFText.java poi/trunk/src/ooxml/java/org/apache/poi/xdgf/util/HierarchyPrinter.java poi/trunk/src/ooxml/java/org/apache/poi/xdgf/util/VsdxToPng.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFColor.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFNotes.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFShape.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/util/PPTX2PNG.java poi/trunk/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBUtils.java poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFRow.java poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFSDTContent.java poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTable.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureConfig.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureConfig.java?rev=1843481=1843480=1843481=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureConfig.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureConfig.java Wed Oct 10 17:49:53 2018 @@ -63,7 +63,7 @@ import org.w3c.dom.events.EventListener; * This class bundles the configuration options used for the existing * signature facets. * Apart of the thread local members (e.g. opc-package) most values will probably be constant, so - * it might be configured centrally (e.g. by spring) + * it might be configured centrally (e.g. by spring) */ @SuppressWarnings({"unused","WeakerAccess"}) public class SignatureConfig { @@ -76,14 +76,14 @@ public class SignatureConfig { public interface SignatureConfigurable { -void setSignatureConfig(SignatureConfig signatureConfig); +void setSignatureConfig(SignatureConfig signatureConfig); } private ThreadLocal opcPackage = new ThreadLocal<>(); private ThreadLocal signatureFactory = new ThreadLocal<>(); private ThreadLocal keyInfoFactory = new ThreadLocal<>(); private ThreadLocal provider = new ThreadLocal<>(); - + private List signatureFacets = new ArrayList<>(); private HashAlgorithm digestAlgo = HashAlgorithm.sha256; private Date executionTime = new Date(); @@ -96,11 +96,11 @@ public class SignatureConfig { private SignaturePolicyService signaturePolicyService; private URIDereferencer uriDereferencer; private String canonicalizationMethod = CanonicalizationMethod.INCLUSIVE; - + private boolean includeEntireCertificateChain = true; private boolean includeIssuerSerial; private boolean includeKeyValue; - + /** * the time-stamp service used for XAdES-T and XAdES-X. */ @@ -123,7 +123,7 @@ public class SignatureConfig { private String tspRequestPolicy = "1.3.6.1.4.1.13762.3"; private String userAgent = "POI XmlSign Service TSP Client"; private String proxyUrl; - + /** * the optional revocation data service used for XAdES-C and XAdES-X-L. * When null the signature will be limited to XAdES-T only. @@ -148,16 +148,16 @@ public class SignatureConfig { * null value will trigger an automatically generated signature Id. */ private String packageSignatureId = "idPackageSignature"; - + /** * Gives back the human-readable description of what the citizen will be * signing. The default value is "Office OpenXML Document". */ private String signatureDescription = "Office OpenXML Document"; - + /** * The process of signing includes the marshalling of xml structures. - * This also includes the canonicalization. Currently this leads to problems + * This also includes the canonicalization. Currently this leads to problems * with certain namespaces, so this EventListener is used to interfere * with the marshalling process. */ @@ -177,7 +177,7 @@ public class SignatureConfig { /** * Inits and checks the config object. - * If not set previously, complex configuration properties also get + * If not set previously, complex configuration
svn commit: r1842959 - in /poi/trunk/src: examples/src/org/apache/poi/xssf/usermodel/examples/ examples/src/org/apache/poi/xwpf/usermodel/examples/ ooxml/java/org/apache/poi/xddf/usermodel/chart/ ooxm
Author: abearez Date: Fri Oct 5 18:07:55 2018 New Revision: 1842959 URL: http://svn.apache.org/viewvc?rev=1842959=rev Log: adding tricks from other answers on StackOverflow Modified: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/BarChartExample.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFTitle.java poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFChart.java Modified: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java?rev=1842959=1842958=1842959=diff == --- poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java Fri Oct 5 18:07:55 2018 @@ -22,6 +22,7 @@ package org.apache.poi.xssf.usermodel.ex import java.io.FileOutputStream; import java.util.Random; +import org.apache.poi.common.usermodel.fonts.FontGroup; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellReference; import org.apache.poi.xddf.usermodel.PresetColor; @@ -33,6 +34,7 @@ import org.apache.poi.xddf.usermodel.cha import org.apache.poi.xddf.usermodel.chart.AxisPosition; import org.apache.poi.xddf.usermodel.chart.BarDirection; import org.apache.poi.xddf.usermodel.chart.ChartTypes; +import org.apache.poi.xddf.usermodel.chart.LayoutMode; import org.apache.poi.xddf.usermodel.chart.LegendPosition; import org.apache.poi.xddf.usermodel.chart.XDDFBarChartData; import org.apache.poi.xddf.usermodel.chart.XDDFCategoryAxis; @@ -41,8 +43,13 @@ import org.apache.poi.xddf.usermodel.cha import org.apache.poi.xddf.usermodel.chart.XDDFChartLegend; import org.apache.poi.xddf.usermodel.chart.XDDFDataSourcesFactory; import org.apache.poi.xddf.usermodel.chart.XDDFLineChartData; +import org.apache.poi.xddf.usermodel.chart.XDDFManualLayout; import org.apache.poi.xddf.usermodel.chart.XDDFNumericalDataSource; import org.apache.poi.xddf.usermodel.chart.XDDFValueAxis; +import org.apache.poi.xddf.usermodel.text.UnderlineType; +import org.apache.poi.xddf.usermodel.text.XDDFFont; +import org.apache.poi.xddf.usermodel.text.XDDFRunProperties; +import org.apache.poi.xddf.usermodel.text.XDDFTextParagraph; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFChart; import org.apache.poi.xssf.usermodel.XSSFClientAnchor; @@ -51,6 +58,10 @@ import org.apache.poi.xssf.usermodel.XSS import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +// original contributions by Axel Richter on https://stackoverflow.com/questions/47065690 +// additional title formatting from https://stackoverflow.com/questions/50418856 +// and legend positioning from https://stackoverflow.com/questions/49615379 +// this would probably be an answer for https://stackoverflow.com/questions/36447925 too public class BarAndLineChart { private static final int NUM_OF_ROWS = 7; private static final Random RNG = new Random(); @@ -79,6 +90,21 @@ public class BarAndLineChart { XSSFClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 4, 0, 11, 15); XSSFChart chart = drawing.createChart(anchor); +chart.setTitleText("This is my title"); +chart.setTitleOverlay(true); +XDDFRunProperties properties = new XDDFRunProperties(); +properties.setBold(true); +properties.setItalic(true); +properties.setUnderline(UnderlineType.DOT_DOT_DASH_HEAVY); +properties.setFontSize(22.5); +XDDFFont[] fonts = new XDDFFont[]{ +new XDDFFont(FontGroup.LATIN, "Calibri", null, null, null), +new XDDFFont(FontGroup.COMPLEX_SCRIPT, "Liberation Sans", null, null, null) +}; +properties.setFonts(fonts); +properties.setLineProperties(solidLine(PresetColor.SIENNA)); +XDDFTextParagraph paragraph = chart.getTitle().getBody().getParagraph(0); +paragraph.setDefaultRunProperties(properties); // the data sources XDDFCategoryDataSource xs = XDDFDataSourcesFactory.fromStringCellRange(sheet, @@ -129,8 +155,13 @@ public class BarAndLineChart { // legend XDDFChartLegend legend = chart.getOrAddLegend(); -legend.setPosition(LegendPosition.BOTTOM); +legend.setPosition(LegendPosition.LEFT);
svn commit: r1842925 - in /poi/trunk/src: examples/src/org/apache/poi/xssf/usermodel/examples/ ooxml/java/org/apache/poi/xddf/usermodel/chart/ ooxml/java/org/apache/poi/xslf/usermodel/ ooxml/java/org/
Author: abearez Date: Fri Oct 5 14:36:18 2018 New Revision: 1842925 URL: http://svn.apache.org/viewvc?rev=1842925=rev Log: example from StackOverflow question 47065690 Added: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDateAxis.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSeriesAxis.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFChart.java Added: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java?rev=1842925=auto == --- poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java (added) +++ poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarAndLineChart.java Fri Oct 5 14:36:18 2018 @@ -0,0 +1,164 @@ +/* + * + *Licensed to the Apache Software Foundation (ASF) under one or more + *contributor license agreements. See the NOTICE file distributed with + *this work for additional information regarding copyright ownership. + *The ASF licenses this file to You under the Apache License, Version 2.0 + *(the "License"); you may not use this file except in compliance with + *the License. You may obtain a copy of the License at + * + *http://www.apache.org/licenses/LICENSE-2.0 + * + *Unless required by applicable law or agreed to in writing, software + *distributed under the License is distributed on an "AS IS" BASIS, + *WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + *See the License for the specific language governing permissions and + *limitations under the License. + * + */ + +package org.apache.poi.xssf.usermodel.examples; + +import java.io.FileOutputStream; +import java.util.Random; + +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.ss.util.CellReference; +import org.apache.poi.xddf.usermodel.PresetColor; +import org.apache.poi.xddf.usermodel.XDDFColor; +import org.apache.poi.xddf.usermodel.XDDFLineProperties; +import org.apache.poi.xddf.usermodel.XDDFShapeProperties; +import org.apache.poi.xddf.usermodel.XDDFSolidFillProperties; +import org.apache.poi.xddf.usermodel.chart.AxisCrosses; +import org.apache.poi.xddf.usermodel.chart.AxisPosition; +import org.apache.poi.xddf.usermodel.chart.BarDirection; +import org.apache.poi.xddf.usermodel.chart.ChartTypes; +import org.apache.poi.xddf.usermodel.chart.LegendPosition; +import org.apache.poi.xddf.usermodel.chart.XDDFBarChartData; +import org.apache.poi.xddf.usermodel.chart.XDDFCategoryAxis; +import org.apache.poi.xddf.usermodel.chart.XDDFCategoryDataSource; +import org.apache.poi.xddf.usermodel.chart.XDDFChartData; +import org.apache.poi.xddf.usermodel.chart.XDDFChartLegend; +import org.apache.poi.xddf.usermodel.chart.XDDFDataSourcesFactory; +import org.apache.poi.xddf.usermodel.chart.XDDFLineChartData; +import org.apache.poi.xddf.usermodel.chart.XDDFNumericalDataSource; +import org.apache.poi.xddf.usermodel.chart.XDDFValueAxis; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFChart; +import org.apache.poi.xssf.usermodel.XSSFClientAnchor; +import org.apache.poi.xssf.usermodel.XSSFDrawing; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +public class BarAndLineChart { +private static final int NUM_OF_ROWS = 7; +private static final Random RNG = new Random(); + +public static void main(String[] args) throws Exception { +try (XSSFWorkbook wb = new XSSFWorkbook()) { +XSSFSheet sheet = wb.createSheet("Sheet1"); + +XSSFRow row = sheet.createRow(0); +row.createCell(0); +row.createCell(1).setCellValue("Bars"); +row.createCell(2).setCellValue("Lines"); + +XSSFCell cell; +for (int r = 1; r < NUM_OF_ROWS; r++) { +row = sheet.createRow(r); +cell = row.createCell(0); +cell.setCellValue("C" + r); +cell = row.createCell(1); +cell.setCellValue(RNG.nextDouble()); +cell = row.createCell(2); +cell.setCellValue(RNG.nextDouble() * 10); +} + +XSSFDrawing drawing = sheet.createDrawingPatriarch(); +XSSFClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 4, 0, 11, 1
svn commit: r1842876 - in /poi/trunk/src: examples/src/org/apache/poi/xslf/usermodel/ examples/src/org/apache/poi/xssf/usermodel/examples/ examples/src/org/apache/poi/xwpf/usermodel/examples/ ooxml/ja
Author: abearez Date: Fri Oct 5 09:59:32 2018 New Revision: 1842876 URL: http://svn.apache.org/viewvc?rev=1842876=rev Log: more XDDF improvements based on SO examples Added: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFTitle.java Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/LineChart.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/ScatterChart.java poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/BarChartExample.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartAxis.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFValueAxis.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFParagraphProperties.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java?rev=1842876=1842875=1842876=diff == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java Fri Oct 5 09:59:32 2018 @@ -115,6 +115,8 @@ public class BarChartDemo { series2.setTitle(series[1], chart.setSheetTitle(series[1], 1)); chart.plot(bar); +chart.setTitleText(chartTitle); // https://stackoverflow.com/questions/30532612 +// chart.setTitleOverlay(overlay); } private static void setColumnData(XSLFChart chart, String chartTitle) { Modified: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java?rev=1842876=1842875=1842876=diff == --- poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java Fri Oct 5 09:59:32 2018 @@ -76,7 +76,9 @@ public class BarChart { // Use a category axis for the bottom axis. XDDFCategoryAxis bottomAxis = chart.createCategoryAxis(AxisPosition.BOTTOM); +bottomAxis.setTitle("x"); // https://stackoverflow.com/questions/32010765 XDDFValueAxis leftAxis = chart.createValueAxis(AxisPosition.LEFT); +leftAxis.setTitle("f(x)"); leftAxis.setCrosses(AxisCrosses.AUTO_ZERO); XDDFDataSource xs = XDDFDataSourcesFactory.fromNumericCellRange(sheet, new CellRangeAddress(0, 0, 0, NUM_OF_COLUMNS - 1)); Modified: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/LineChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/LineChart.java?rev=1842876=1842875=1842876=diff == --- poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/LineChart.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/LineChart.java Fri Oct 5 09:59:32 2018 @@ -77,7 +77,9 @@ public class LineChart { // Use a category axis for the bottom axis. XDDFCategoryAxis bottomAxis = chart.createCategoryAxis(AxisPosition.BOTTOM); +bottomAxis.setTitle("x"); // https://stackoverflow.com/questions/32010765 XDDFValueAxis leftAxis = chart.createValueAxis(AxisPosition.LEFT); +leftAxis.setTitle("f(x)"); leftAxis.setCrosses(AxisCrosses.AUTO_ZERO); XDDFDataSource xs = XDDFDataSourcesFactory.fromNumericCellRange(sheet, new CellRangeAddress(0, 0, 0, NUM_OF_COLUMNS - 1)); Modified: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/ScatterChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/ScatterChart.java?rev=1842876=1842875=1842876=diff == --- poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/ScatterChart.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/ScatterChart.java Fri Oct
svn commit: r1842728 - in /poi/trunk/src: examples/src/org/apache/poi/xslf/usermodel/ examples/src/org/apache/poi/xssf/usermodel/examples/ examples/src/org/apache/poi/xwpf/usermodel/examples/ ooxml/ja
Author: abearez Date: Wed Oct 3 14:32:34 2018 New Revision: 1842728 URL: http://svn.apache.org/viewvc?rev=1842728=rev Log: XDDF improvements based on StackOverflow examples Added: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/DisplayBlanks.java Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/LineChart.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/ScatterChart.java poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/BarChartExample.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFLineChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFPieChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFRadarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFScatterChartData.java Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java?rev=1842728=1842727=1842728=diff == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java Wed Oct 3 14:32:34 2018 @@ -107,10 +107,13 @@ public class BarChartDemo { final XDDFNumericalDataSource valuesData = XDDFDataSourcesFactory.fromArray(values1, valuesDataRange, 1); values1[6] = 16.0; // if you ever want to change the underlying data final XDDFNumericalDataSource valuesData2 = XDDFDataSourcesFactory.fromArray(values2, valuesDataRange2, 2); -bar.getSeries().get(0).replaceData(categoriesData, valuesData); -bar.addSeries(categoriesData, valuesData2); -bar.getSeries().get(0).setTitle(series[0], chart.setSheetTitle(series[0], 0)); -bar.getSeries().get(1).setTitle(series[1], chart.setSheetTitle(series[1], 1)); + +XDDFChartData.Series series1 = bar.getSeries().get(0); +series1.replaceData(categoriesData, valuesData); +series1.setTitle(series[0], chart.setSheetTitle(series[0], 0)); +XDDFChartData.Series series2 = bar.addSeries(categoriesData, valuesData2); +series2.setTitle(series[1], chart.setSheetTitle(series[1], 1)); + chart.plot(bar); } Modified: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java?rev=1842728=1842727=1842728=diff == --- poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java Wed Oct 3 14:32:34 2018 @@ -84,8 +84,10 @@ public class BarChart { XDDFNumericalDataSource ys2 = XDDFDataSourcesFactory.fromNumericCellRange(sheet, new CellRangeAddress(2, 2, 0, NUM_OF_COLUMNS - 1)); XDDFChartData data = chart.createData(ChartTypes.BAR, bottomAxis, leftAxis); -data.addSeries(xs, ys1); -data.addSeries(xs, ys2); +XDDFChartData.Series series1 = data.addSeries(xs, ys1); +series1.setTitle("2x", null); // https://stackoverflow.com/questions/21855842 +XDDFChartData.Series series2 = data.addSeries(xs, ys2); +series2.setTitle("3x", null); chart.plot(data); // in order to transform a bar chart into a column chart, you just need to change the bar direction @@ -106,12 +108,12 @@ public class BarChart { private static void solidFillSeries(XDDFChartData data, int index, PresetColor color) { XDDFSolidFillProperties fill = new XDDFSolidFillProperties(XDDFColor.from(color)); -XDDFChartData.Series firstSeries = data.getSeries().get(index); -XDDFShapeProperties properties = firstSeries.getShapeProperties(); +XDDFChartData.Series series = data.getSeries().get(index); +XDDFShapeProperties properties = series.getShapeProperties(); if (properties == null) { properties = new XDDFShapeProperties(); } properties.setFillProperties(fill); -firstSeries.setShapeProperties(properties); +series.setShapeProperties(properties); } } Modified: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/LineC
svn commit: r1842707 - in /poi/trunk/src/examples/src/org/apache/poi: ss/examples/ ss/examples/html/ xssf/usermodel/examples/ xwpf/usermodel/examples/
Author: abearez Date: Wed Oct 3 11:51:41 2018 New Revision: 1842707 URL: http://svn.apache.org/viewvc?rev=1842707=rev Log: fix lgtm alerts in examples Modified: poi/trunk/src/examples/src/org/apache/poi/ss/examples/ConditionalFormats.java poi/trunk/src/examples/src/org/apache/poi/ss/examples/html/ToHtml.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BigGridDemo.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/CreateTable.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/IterateCells.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/LineChart.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/ScatterChart.java poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/SimpleDocument.java poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/SimpleImages.java Modified: poi/trunk/src/examples/src/org/apache/poi/ss/examples/ConditionalFormats.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/ss/examples/ConditionalFormats.java?rev=1842707=1842706=1842707=diff == --- poi/trunk/src/examples/src/org/apache/poi/ss/examples/ConditionalFormats.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/ss/examples/ConditionalFormats.java Wed Oct 3 11:51:41 2018 @@ -53,7 +53,7 @@ import org.apache.poi.xssf.usermodel.XSS * Excel Conditional Formatting -- Examples * * - * Partly based on the code snippets from + * Partly based on the code snippets from * http://www.contextures.com/xlcondformat03.html * */ @@ -89,7 +89,7 @@ public class ConditionalFormats { // print overlapping rule results evaluateRules(wb, "Overlapping"); - + // Write the output to a file String file = "cf-poi.xls"; if(wb instanceof XSSFWorkbook) { @@ -178,11 +178,11 @@ public class ConditionalFormats { sheet.getRow(2).createCell(4).setCellValue("<== Condition 1: Formula Is =$B2>75 (Blue Fill)"); } - + /** * Multiple conditional formatting rules can apply to * one cell, some combining, some beating others. - * Done in order of the rules added to the + * Done in order of the rules added to the * SheetConditionalFormatting object */ static void overlapping(Sheet sheet) { @@ -210,39 +210,39 @@ public class ConditionalFormats { } sheet.autoSizeColumn(0); sheet.autoSizeColumn(1); - + sheet.getRow(1).createCell(3).setCellValue("Even rows are blue"); sheet.getRow(2).createCell(3).setCellValue("Multiples of 3 have a grey background"); sheet.getRow(4).createCell(3).setCellValue("Multiples of 5 are bold"); sheet.getRow(9).createCell(3).setCellValue("Multiples of 10 are red (beats even)"); - + SheetConditionalFormatting sheetCF = sheet.getSheetConditionalFormatting(); - + // Condition 1: Row divides by 10, red (will beat #1) -ConditionalFormattingRule rule1 = +ConditionalFormattingRule rule1 = sheetCF.createConditionalFormattingRule("MOD(ROW(),10)=0"); FontFormatting font1 = rule1.createFontFormatting(); font1.setFontColorIndex(IndexedColors.RED.index); - + // Condition 2: Row is even, blue -ConditionalFormattingRule rule2 = +ConditionalFormattingRule rule2 = sheetCF.createConditionalFormattingRule("MOD(ROW(),2)=0"); FontFormatting font2 = rule2.createFontFormatting(); font2.setFontColorIndex(IndexedColors.BLUE.index); - + // Condition 3: Row divides by 5, bold -ConditionalFormattingRule rule3 = +ConditionalFormattingRule rule3 = sheetCF.createConditionalFormattingRule("MOD(ROW(),5)=0"); FontFormatting font3 = rule3.createFontFormatting(); font3.setFontStyle(false, true); - + // Condition 4: Row divides by 3, grey background -ConditionalFormattingRule rule4 = +ConditionalFormattingRule rule4 = sheetCF.createConditionalFormattingRule("MOD(ROW(),3)=0"); PatternFormatting fill4 = rule4.createPatternFormatting(); fill4.setFillBackgroundColor(IndexedColors.GREY_25_PERCENT.index); fill4.setFillPattern(PatternFormatting.SOLID_FOREGROUND); - + // Apply CellRangeAddress[] regions = { CellRangeAddress.valueOf("A1:F41") @@ -441,7 +441,7 @@ public class ConditionalFormats { } /** - * You can use Excel conditional
svn commit: r1842690 - /poi/site/src/documentation/content/xdocs/changes.xml
Author: abearez Date: Wed Oct 3 08:34:08 2018 New Revision: 1842690 URL: http://svn.apache.org/viewvc?rev=1842690=rev Log: fixed bug 59625 Modified: poi/site/src/documentation/content/xdocs/changes.xml Modified: poi/site/src/documentation/content/xdocs/changes.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/changes.xml?rev=1842690=1842689=1842690=diff == --- poi/site/src/documentation/content/xdocs/changes.xml (original) +++ poi/site/src/documentation/content/xdocs/changes.xml Wed Oct 3 08:34:08 2018 @@ -97,8 +97,9 @@ Upgrade bouncycastle dependency to 1.60 Define XDDF user model for text body, its paragraphs and text runs Import chart on drawing -Improvements on chart creation and configuration -XSSFWorkbook.setSheetName() does not update references in charts +Support axIds in XDDF +XSSFWorkbook.setSheetName() does not update references in charts +Localisation (Internationalisation in other languages) when applied in charts corrupt the MS Word file - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1842687 - in /poi/trunk/src: examples/src/org/apache/poi/xslf/usermodel/ examples/src/org/apache/poi/xwpf/usermodel/examples/ ooxml/java/org/apache/poi/xddf/usermodel/chart/ ooxml/testcas
Author: abearez Date: Wed Oct 3 08:20:50 2018 New Revision: 1842687 URL: http://svn.apache.org/viewvc?rev=1842687=rev Log: change chart data to experiment diverse scripts Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/PieChartDemo.java poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/bar-chart-data.txt poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/BarChartExample.java poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/bar-chart-data.txt poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartData.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFChart.java Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java?rev=1842687=1842686=1842687=diff == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java Wed Oct 3 08:20:50 2018 @@ -59,26 +59,30 @@ public class BarChartDemo { BufferedReader modelReader = new BufferedReader(new FileReader(args[1]))) { String chartTitle = modelReader.readLine(); // first line is chart title +String[] series = modelReader.readLine().split(","); // Category Axis Data -List listCategories = new ArrayList(3); +List listLanguages = new ArrayList<>(10); // Values -List listValues = new ArrayList(3); +List listCountries = new ArrayList<>(10); +List listSpeakers = new ArrayList<>(10); // set model String ln; -while((ln = modelReader.readLine()) != null){ -String[] vals = ln.split("\\s+"); -listCategories.add(vals[0]); -listValues.add(Double.valueOf(vals[1])); +while((ln = modelReader.readLine()) != null) { +String[] vals = ln.split(","); +listCountries.add(Double.valueOf(vals[0])); +listSpeakers.add(Double.valueOf(vals[1])); +listLanguages.add(vals[2]); } -String[] categories = listCategories.toArray(new String[listCategories.size()]); -Double[] values = listValues.toArray(new Double[listValues.size()]); +String[] categories = listLanguages.toArray(new String[listLanguages.size()]); +Double[] values1 = listCountries.toArray(new Double[listCountries.size()]); +Double[] values2 = listSpeakers.toArray(new Double[listSpeakers.size()]); try (XMLSlideShow pptx = new XMLSlideShow(argIS)) { XSLFSlide slide = pptx.getSlides().get(0); -setBarData(findChart(slide), chartTitle, categories, values); +setBarData(findChart(slide), chartTitle, series, categories, values1, values2); XSLFChart chart = findChart(pptx.createSlide().importContent(slide)); setColumnData(chart, "Column variant"); @@ -91,18 +95,22 @@ public class BarChartDemo { } } -private static void setBarData(XSLFChart chart, String chartTitle, String[] categories, Double[] values) { -final List series = chart.getChartSeries(); -final XDDFBarChartData bar = (XDDFBarChartData) series.get(0); +private static void setBarData(XSLFChart chart, String chartTitle, String[] series, String[] categories, Double[] values1, Double[] values2) { +final List data = chart.getChartSeries(); +final XDDFBarChartData bar = (XDDFBarChartData) data.get(0); final int numOfPoints = categories.length; final String categoryDataRange = chart.formatRange(new CellRangeAddress(1, numOfPoints, 0, 0)); final String valuesDataRange = chart.formatRange(new CellRangeAddress(1, numOfPoints, 1, 1)); -final XDDFDataSource categoriesData = XDDFDataSourcesFactory.fromArray(categories, categoryDataRange); -final XDDFNumericalDataSource valuesData = XDDFDataSourcesFactory.fromArray(values, valuesDataRange); - +final String valuesDataRange2 = chart.formatRange(new CellRangeAddress(1, numOfPoints, 2, 2)); +final XDDFDataSource categoriesData = XDDFDataSourcesFactory.fromArray(categories, categoryDataRange, 0); +final XDDFNumericalDataSource valuesData = XDDFDataSourcesFactory.fromArray(values1, valuesDataRange, 1);
svn commit: r1842549 - /poi/site/src/documentation/content/xdocs/changes.xml
Author: abearez Date: Mon Oct 1 19:28:26 2018 New Revision: 1842549 URL: http://svn.apache.org/viewvc?rev=1842549=rev Log: fix bug 60509 Modified: poi/site/src/documentation/content/xdocs/changes.xml Modified: poi/site/src/documentation/content/xdocs/changes.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/changes.xml?rev=1842549=1842548=1842549=diff == --- poi/site/src/documentation/content/xdocs/changes.xml (original) +++ poi/site/src/documentation/content/xdocs/changes.xml Mon Oct 1 19:28:26 2018 @@ -98,6 +98,7 @@ Define XDDF user model for text body, its paragraphs and text runs Import chart on drawing Improvements on chart creation and configuration +XSSFWorkbook.setSheetName() does not update references in charts - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1842548 - in /poi/trunk: src/ooxml/java/org/apache/poi/xddf/usermodel/chart/ src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/ src/ooxml/testcases/org/apache/poi/xssf/usermodel/ test-
Author: abearez Date: Mon Oct 1 19:27:32 2018 New Revision: 1842548 URL: http://svn.apache.org/viewvc?rev=1842548=rev Log: extract valuable code from 54470 submitted patch Added: poi/trunk/test-data/spreadsheet/60509.xlsx (with props) Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryDataSource.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSourcesFactory.java poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFFormulaUtils.java poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryDataSource.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryDataSource.java?rev=1842548=1842547=1842548=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryDataSource.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryDataSource.java Mon Oct 1 19:27:32 2018 @@ -23,4 +23,23 @@ import org.apache.poi.util.Beta; @Beta public interface XDDFCategoryDataSource extends XDDFDataSource { +@Override +default int getColIndex() { +return 0; +} + +@Override +default boolean isNumeric() { +return false; +} + +@Override +default boolean isReference() { +return true; +} + +@Override +default String getDataRangeReference() { +return getFormula(); +} } Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java?rev=1842548=1842547=1842548=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSource.java Mon Oct 1 19:27:32 2018 @@ -34,4 +34,6 @@ public interface XDDFDataSource { int getColIndex(); String getDataRangeReference(); + +String getFormula(); } Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSourcesFactory.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSourcesFactory.java?rev=1842548=1842547=1842548=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSourcesFactory.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDataSourcesFactory.java Mon Oct 1 19:27:32 2018 @@ -41,39 +41,50 @@ public class XDDFDataSourcesFactory { } public static XDDFCategoryDataSource fromDataSource(final CTAxDataSource categoryDS) { -return new XDDFCategoryDataSource() { -private CTStrData category = (CTStrData) categoryDS.getStrRef().getStrCache().copy(); - -@Override -public boolean isNumeric() { -return false; -} - -@Override -public boolean isReference() { -return true; -} - -@Override -public int getPointCount() { -return (int) category.getPtCount().getVal(); -} - -@Override -public String getPointAt(int index) { -return category.getPtArray(index).getV(); -} - -@Override -public String getDataRangeReference() { -return categoryDS.getStrRef().getF(); -} - -@Override -public int getColIndex() { -return 0; -} -}; +if (categoryDS.getStrRef() == null) { +return new XDDFCategoryDataSource() { +private CTNumData category = (CTNumData) categoryDS.getNumRef().getNumCache().copy(); + +@Override +public boolean isNumeric() { +return true; +} + +@Override +public String getFormula() { +return categoryDS.getNumRef().getF(); +} + +@Override +public int getPointCount() { +return (int) category.getPtCount().getVal(); +} + +@Override +public String getPointAt(int index) { +return category.getPtArray(index).getV(); +} +}; +} else { +return new XDDFCategoryDataSource() { +private
svn commit: r1841989 - /poi/site/src/documentation/content/xdocs/changes.xml
Author: abearez Date: Wed Sep 26 00:39:59 2018 New Revision: 1841989 URL: http://svn.apache.org/viewvc?rev=1841989=rev Log: register XDDF changes for 4.0.1 Modified: poi/site/src/documentation/content/xdocs/changes.xml Modified: poi/site/src/documentation/content/xdocs/changes.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/changes.xml?rev=1841989=1841988=1841989=diff == --- poi/site/src/documentation/content/xdocs/changes.xml (original) +++ poi/site/src/documentation/content/xdocs/changes.xml Wed Sep 26 00:39:59 2018 @@ -85,12 +85,19 @@ when referring to both H??F and X??F formats. --> - + + + Fixes pom.xml entries for commons-maths3 (missing), curvesapi and commons-codec +Improvements for XDDF charts and text manipulation Upgrade bouncycastle dependency to 1.60 +Define XDDF user model for text body, its paragraphs and text runs +Import chart on drawing +Improvements on chart creation and configuration - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1841988 - in /poi/trunk/src: examples/src/org/apache/poi/xslf/usermodel/ examples/src/org/apache/poi/xssf/usermodel/examples/ examples/src/org/apache/poi/xwpf/usermodel/examples/ ooxml/ja
Author: abearez Date: Wed Sep 26 00:30:33 2018 New Revision: 1841988 URL: http://svn.apache.org/viewvc?rev=1841988=rev Log: adapting some contributions by Axel Richter on SO Added: poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/BarChartExample.java - copied, changed from r1841394, poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/BarChartExampleDOCX.java Removed: poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/examples/BarChartExampleDOCX.java Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFBarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFLineChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFRadarChartData.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFScatterChartData.java Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java?rev=1841988=1841987=1841988=diff == --- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/BarChartDemo.java Wed Sep 26 00:30:33 2018 @@ -115,6 +115,9 @@ public class BarChartDemo { // in order to transform a bar chart into a column chart, you just need to change the bar direction bar.setBarDirection(BarDirection.COL); +// looking for "Stacked Bar Chart"? uncomment the following line +// bar.setBarGrouping(BarGrouping.STACKED); + // additionally, you can adjust the axes bar.getCategoryAxis().setOrientation(AxisOrientation.MAX_MIN); bar.getValueAxes().get(0).setPosition(AxisPosition.TOP); Modified: poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java?rev=1841988=1841987=1841988=diff == --- poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java (original) +++ poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BarChart.java Wed Sep 26 00:30:33 2018 @@ -28,8 +28,10 @@ import org.apache.poi.xddf.usermodel.XDD import org.apache.poi.xddf.usermodel.XDDFSolidFillProperties; import org.apache.poi.xddf.usermodel.chart.AxisCrosses; import org.apache.poi.xddf.usermodel.chart.AxisPosition; +import org.apache.poi.xddf.usermodel.chart.BarDirection; import org.apache.poi.xddf.usermodel.chart.ChartTypes; import org.apache.poi.xddf.usermodel.chart.LegendPosition; +import org.apache.poi.xddf.usermodel.chart.XDDFBarChartData; import org.apache.poi.xddf.usermodel.chart.XDDFCategoryAxis; import org.apache.poi.xddf.usermodel.chart.XDDFChartData; import org.apache.poi.xddf.usermodel.chart.XDDFChartLegend; @@ -86,14 +88,14 @@ public class BarChart { data.addSeries(xs, ys2); chart.plot(data); -XDDFSolidFillProperties fill = new XDDFSolidFillProperties(XDDFColor.from(PresetColor.CHARTREUSE)); -XDDFChartData.Series firstSeries = data.getSeries().get(0); -XDDFShapeProperties properties = firstSeries.getShapeProperties(); -if (properties == null) { -properties = new XDDFShapeProperties(); -} -properties.setFillProperties(fill); -firstSeries.setShapeProperties(properties); +// in order to transform a bar chart into a column chart, you just need to change the bar direction +XDDFBarChartData bar = (XDDFBarChartData) data; +bar.setBarDirection(BarDirection.COL); +// looking for "Stacked Bar Chart"? uncomment the following line +// bar.setBarGrouping(BarGrouping.STACKED); + +solidFillSeries(data, 0, PresetColor.CHARTREUSE); +solidFillSeries(data, 1, PresetColor.TURQUOISE); // Write the output to a file try (FileOutputStream fileOut = new FileOutputStream("ooxml-bar-chart.xlsx")) { @@ -101,4 +103,15 @@ public class BarChart { } } } + +private static void solidFillSeries(XDDFChartData data, int index, PresetColor color) { +XDDFSolidFillProperties fill = new XDDFSolidFillProperties(XDDFColor.from(color)); +XDDFChartData.Series firstSeries = data.getSeries().get(index); +XDDFShapeProperties properties =
svn commit: r1840076 - /poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java
Author: abearez Date: Wed Sep 5 01:00:45 2018 New Revision: 1840076 URL: http://svn.apache.org/viewvc?rev=1840076=rev Log: import existing chart on current drawing Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java?rev=1840076=1840075=1840076=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFDrawing.java Wed Sep 5 01:00:45 2018 @@ -101,40 +101,44 @@ public final class XSSFDrawing extends P /** * Construct a SpreadsheetML drawing from a package part * - * @param part the package part holding the drawing data, - * the content type must be application/vnd.openxmlformats-officedocument.drawing+xml + * @param part + *the package part holding the drawing data, the content type + *must be + * application/vnd.openxmlformats-officedocument.drawing+xml * * @since POI 3.14-Beta1 */ public XSSFDrawing(PackagePart part) throws IOException, XmlException { super(part); -XmlOptions options = new XmlOptions(DEFAULT_XML_OPTIONS); -//Removing root element +XmlOptions options = new XmlOptions(DEFAULT_XML_OPTIONS); +// Removing root element options.setLoadReplaceDocumentElement(null); InputStream is = part.getInputStream(); try { -drawing = CTDrawing.Factory.parse(is,options); +drawing = CTDrawing.Factory.parse(is, options); } finally { is.close(); } } /** - * Construct a new CTDrawing bean. By default, it's just an empty placeholder for drawing objects + * Construct a new CTDrawing bean. By default, it's just an empty + * placeholder for drawing objects * * @return a new CTDrawing bean */ -private static CTDrawing newDrawing(){ +private static CTDrawing newDrawing() { return CTDrawing.Factory.newInstance(); } /** - * Return the underlying CTDrawing bean, the root element of the SpreadsheetML Drawing part. + * Return the underlying CTDrawing bean, the root element of the + * SpreadsheetML Drawing part. * * @return the underlying CTDrawing bean */ @Internal -public CTDrawing getCTDrawing(){ +public CTDrawing getCTDrawing() { return drawing; } @@ -143,14 +147,13 @@ public final class XSSFDrawing extends P XmlOptions xmlOptions = new XmlOptions(DEFAULT_XML_OPTIONS); /* -Saved drawings must have the following namespaces set: -http://schemas.openxmlformats.org/drawingml/2006/main; - xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing;> -*/ -xmlOptions.setSaveSyntheticDocumentElement( -new QName(CTDrawing.type.getName().getNamespaceURI(), "wsDr", "xdr") -); + * Saved drawings must have the following namespaces set: http://schemas.openxmlformats.org/drawingml/2006/main; + * xmlns:xdr= + * "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing;> + */ +xmlOptions +.setSaveSyntheticDocumentElement(new QName(CTDrawing.type.getName().getNamespaceURI(), "wsDr", "xdr")); PackagePart part = getPackagePart(); OutputStream out = part.getOutputStream(); @@ -158,20 +161,20 @@ public final class XSSFDrawing extends P out.close(); } - @Override -public XSSFClientAnchor createAnchor(int dx1, int dy1, int dx2, int dy2, - int col1, int row1, int col2, int row2) { - return new XSSFClientAnchor(dx1, dy1, dx2, dy2, col1, row1, col2, row2); - } +@Override +public XSSFClientAnchor createAnchor(int dx1, int dy1, int dx2, int dy2, int col1, int row1, int col2, int row2) { +return new XSSFClientAnchor(dx1, dy1, dx2, dy2, col1, row1, col2, row2); +} /** * Constructs a textbox under the drawing. * - * @param anchorthe client anchor describes how this group is attached - * to the sheet. - * @return the newly created textbox. + * @param anchor + *the client anchor describes how this group is attached to the + *sheet. + * @return the newly created textbox. */ -public XSSFTextBox createTextbox(XSSFClientAnchor anchor){ +public XSSFTextBox createTextbox(XSSFClientAnchor anchor) { long shapeId = newShapeId();
svn commit: r1839369 [2/2] - in /poi/trunk/src/ooxml/java/org/apache/poi: openxml4j/opc/internal/ xddf/usermodel/chart/ xddf/usermodel/text/ xslf/usermodel/
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java?rev=1839369=1839368=1839369=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextParagraph.java Mon Aug 27 19:25:34 2018 @@ -40,8 +40,8 @@ import org.openxmlformats.schemas.drawin import org.openxmlformats.schemas.drawingml.x2006.main.CTTextSpacing; /** - * Represents a paragraph of text within the containing text body. - * The paragraph is the highest level text separation mechanism. + * Represents a paragraph of text within the containing text body. The paragraph + * is the highest level text separation mechanism. */ @Beta public class XDDFTextParagraph { @@ -55,9 +55,7 @@ public class XDDFTextParagraph { this._p = paragraph; this._parent = parent; -final int count = paragraph.sizeOfBrArray() -+ paragraph.sizeOfFldArray() -+ paragraph.sizeOfRArray(); +final int count = paragraph.sizeOfBrArray() + paragraph.sizeOfFldArray() + paragraph.sizeOfRArray(); this._runs = new ArrayList<>(count); for (XmlObject xo : _p.selectChildren(QNameSet.ALL)) { @@ -83,11 +81,11 @@ public class XDDFTextParagraph { return _parent; } -public List getTextRuns(){ +public List getTextRuns() { return _runs; } -public Iterator iterator(){ +public Iterator iterator() { return _runs.iterator(); } @@ -96,10 +94,10 @@ public class XDDFTextParagraph { * * @return text run representing this line break ('\n'). */ -public XDDFTextRun appendLineBreak(){ +public XDDFTextRun appendLineBreak() { CTTextLineBreak br = _p.addNewBr(); // by default, line break has the font properties of the last text run -for (int i = _runs.size() - 1; i <= 0; i--){ +for (int i = _runs.size() - 1; i <= 0; i--) { CTTextCharacterProperties prevProps = _runs.get(i).getProperties(); // let's find one that is not undefined if (prevProps != null) { @@ -117,7 +115,7 @@ public class XDDFTextParagraph { * * @return the new text field. */ -public XDDFTextRun appendField(String id, String type, String text){ +public XDDFTextRun appendField(String id, String type, String text) { CTTextField f = _p.addNewFld(); f.setId(id); f.setType(type); @@ -134,7 +132,7 @@ public class XDDFTextParagraph { * * @return the new run of text. */ -public XDDFTextRun appendRegularRun(String text){ +public XDDFTextRun appendRegularRun(String text) { CTRegularTextRun r = _p.addNewR(); r.setT(text); CTTextCharacterProperties rPr = r.addNewRPr(); @@ -148,19 +146,20 @@ public class XDDFTextParagraph { * Returns the alignment that is applied to the paragraph. * * If this attribute is omitted, then a value of left is implied. + * * @return alignment that is applied to the paragraph */ public TextAlignment getTextAlignment() { return findDefinedParagraphProperty(props -> props.isSetAlgn(), props -> props.getAlgn()) -.map(align -> TextAlignment.valueOf(align)) -.orElse(null); +.map(align -> TextAlignment.valueOf(align)).orElse(null); } /** - * Specifies the alignment that is to be applied to the paragraph. - * Possible values for this include left, right, centered, justified and distributed, + * Specifies the alignment that is to be applied to the paragraph. Possible + * values for this include left, right, centered, justified and distributed, * - * @param align text alignment + * @param align + *text alignment */ public void setTextAlignment(TextAlignment align) { if (align != null || _p.isSetPPr()) { @@ -169,25 +168,27 @@ public class XDDFTextParagraph { } /** - * Returns where vertically on a line of text the actual words are positioned. This deals - * with vertical placement of the characters with respect to the baselines. + * Returns where vertically on a line of text the actual words are + * positioned. This deals with vertical placement of the characters with + * respect to the baselines. * * If this attribute is omitted, then a value of baseline is implied. + * * @return alignment that is applied to the paragraph */ public FontAlignment getFontAlignment() { return findDefinedParagraphProperty(props -> props.isSetFontAlgn(), props -> props.getFontAlgn()) -.map(align ->
svn commit: r1839259 [2/2] - in /poi/trunk: ./ src/ooxml/java/org/apache/poi/xslf/usermodel/ src/ooxml/java/org/apache/poi/xssf/usermodel/ src/ooxml/testcases/org/apache/poi/xddf/usermodel/text/ src/o
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSimpleShape.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSimpleShape.java?rev=1839259=1839258=1839259=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSimpleShape.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSimpleShape.java Sun Aug 26 21:33:16 2018 @@ -21,13 +21,44 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Locale; +import java.util.Optional; +import java.util.function.Function; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.SimpleShape; import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.util.Beta; import org.apache.poi.util.Internal; -import org.apache.poi.util.Units; -import org.openxmlformats.schemas.drawingml.x2006.main.*; +import org.apache.poi.xddf.usermodel.XDDFColor; +import org.apache.poi.xddf.usermodel.XDDFColorRgbBinary; +import org.apache.poi.xddf.usermodel.XDDFFillProperties; +import org.apache.poi.xddf.usermodel.XDDFSolidFillProperties; +import org.apache.poi.xddf.usermodel.text.TextContainer; +import org.apache.poi.xddf.usermodel.text.XDDFRunProperties; +import org.apache.poi.xddf.usermodel.text.XDDFTextBody; +import org.apache.poi.xddf.usermodel.text.XDDFTextParagraph; +import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; +import org.openxmlformats.schemas.drawingml.x2006.main.CTPoint2D; +import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; +import org.openxmlformats.schemas.drawingml.x2006.main.CTPresetGeometry2D; +import org.openxmlformats.schemas.drawingml.x2006.main.CTRegularTextRun; +import org.openxmlformats.schemas.drawingml.x2006.main.CTSRgbColor; +import org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties; +import org.openxmlformats.schemas.drawingml.x2006.main.CTSolidColorFillProperties; +import org.openxmlformats.schemas.drawingml.x2006.main.CTTextBody; +import org.openxmlformats.schemas.drawingml.x2006.main.CTTextBodyProperties; +import org.openxmlformats.schemas.drawingml.x2006.main.CTTextCharacterProperties; +import org.openxmlformats.schemas.drawingml.x2006.main.CTTextFont; +import org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraph; +import org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraphProperties; +import org.openxmlformats.schemas.drawingml.x2006.main.CTTransform2D; +import org.openxmlformats.schemas.drawingml.x2006.main.STShapeType; +import org.openxmlformats.schemas.drawingml.x2006.main.STTextAnchoringType; +import org.openxmlformats.schemas.drawingml.x2006.main.STTextHorzOverflowType; +import org.openxmlformats.schemas.drawingml.x2006.main.STTextUnderlineType; +import org.openxmlformats.schemas.drawingml.x2006.main.STTextVertOverflowType; +import org.openxmlformats.schemas.drawingml.x2006.main.STTextVerticalType; +import org.openxmlformats.schemas.drawingml.x2006.main.STTextWrappingType; import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTShape; import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTShapeNonVisual; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRElt; @@ -36,12 +67,17 @@ import org.openxmlformats.schemas.spread /** * Represents a shape with a predefined geometry in a SpreadsheetML drawing. - * Possible shape types are defined in {@link org.apache.poi.ss.usermodel.ShapeTypes} + * Possible shape types are defined in + * {@link org.apache.poi.ss.usermodel.ShapeTypes} */ -public class XSSFSimpleShape extends XSSFShape implements Iterable, SimpleShape { - /** -* List of the paragraphs that make up the text in this shape -*/ +public class XSSFSimpleShape extends XSSFShape implements Iterable, SimpleShape, TextContainer { +/** + * The text body containing the paragraphs for this shape. + */ +private final XDDFTextBody _textBody; +/** + * List of the paragraphs that make up the text in this shape + */ private final List _paragraphs; /** * A default instance of CTShape used for creating new shapes. @@ -49,22 +85,26 @@ public class XSSFSimpleShape extends XSS private static CTShape prototype; /** - * Xml bean that stores properties of this shape + * Xml bean that stores properties of this shape */ private CTShape ctShape; protected XSSFSimpleShape(XSSFDrawing drawing, CTShape ctShape) { this.drawing = drawing; this.ctShape = ctShape; - + _paragraphs = new ArrayList<>(); - -// initialize any existing paragraphs - this will be the default body paragraph in a new shape, + +// initialize any existing paragraphs - this will be the default body +// paragraph in a new shape,
svn commit: r1839259 [1/2] - in /poi/trunk: ./ src/ooxml/java/org/apache/poi/xslf/usermodel/ src/ooxml/java/org/apache/poi/xssf/usermodel/ src/ooxml/testcases/org/apache/poi/xddf/usermodel/text/ src/o
Author: abearez Date: Sun Aug 26 21:33:16 2018 New Revision: 1839259 URL: http://svn.apache.org/viewvc?rev=1839259=rev Log: test integration of XDDF text entities Added: poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/text/ poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/text/TestXDDFTextBodyProperties.java poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/text/TestXDDFTextRun.java Modified: poi/trunk/build.xml poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFAutoShape.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableCell.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextBox.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextShape.java poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFShapeGroup.java poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSimpleShape.java poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextShape.java poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSimpleShape.java Modified: poi/trunk/build.xml URL: http://svn.apache.org/viewvc/poi/trunk/build.xml?rev=1839259=1839258=1839259=diff == --- poi/trunk/build.xml (original) +++ poi/trunk/build.xml Sun Aug 26 21:33:16 2018 @@ -1152,10 +1152,8 @@ under the License. - - http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFAutoShape.java?rev=1839259=1839258=1839259=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFAutoShape.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFAutoShape.java Sun Aug 26 21:33:16 2018 @@ -21,34 +21,28 @@ package org.apache.poi.xslf.usermodel; import org.apache.poi.sl.usermodel.AutoShape; import org.apache.poi.util.Beta; +import org.apache.poi.xddf.usermodel.text.XDDFTextBody; import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; import org.openxmlformats.schemas.drawingml.x2006.main.CTPresetGeometry2D; import org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties; import org.openxmlformats.schemas.drawingml.x2006.main.CTTextBody; -import org.openxmlformats.schemas.drawingml.x2006.main.CTTextBodyProperties; -import org.openxmlformats.schemas.drawingml.x2006.main.CTTextCharacterProperties; -import org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraph; import org.openxmlformats.schemas.drawingml.x2006.main.STShapeType; -import org.openxmlformats.schemas.drawingml.x2006.main.STTextAlignType; -import org.openxmlformats.schemas.drawingml.x2006.main.STTextAnchoringType; import org.openxmlformats.schemas.presentationml.x2006.main.CTShape; import org.openxmlformats.schemas.presentationml.x2006.main.CTShapeNonVisual; - /** * Represents a shape with a preset geometry. * * @author Yegor Kozlov */ @Beta -public class XSLFAutoShape extends XSLFTextShape -implements AutoShape { +public class XSLFAutoShape extends XSLFTextShape implements AutoShape { -/*package*/ XSLFAutoShape(CTShape shape, XSLFSheet sheet) { +/* package */ XSLFAutoShape(CTShape shape, XSLFSheet sheet) { super(shape, sheet); } -/*package*/ +/* package */ static XSLFAutoShape create(CTShape shape, XSLFSheet sheet) { if (shape.getSpPr().isSetCustGeom()) { return new XSLFFreeformShape(shape, sheet); @@ -60,7 +54,8 @@ public class XSLFAutoShape extends XSLFT } /** - * @param shapeId 1-based shapeId + * @param shapeId + *1-based shapeId */ static CTShape prototype(int shapeId) { CTShape ct = CTShape.Factory.newInstance(); @@ -76,22 +71,10 @@ public class XSLFAutoShape extends XSLFT prst.addNewAvLst(); return ct; } - -protected static void initTextBody(CTTextBody txBody) { -CTTextBodyProperties bodypr = txBody.addNewBodyPr(); -bodypr.setAnchor(STTextAnchoringType.T); -bodypr.setRtlCol(false); -CTTextParagraph p = txBody.addNewP(); -p.addNewPPr().setAlgn(STTextAlignType.L); -CTTextCharacterProperties endPr = p.addNewEndParaRPr(); -endPr.setLang("en-US"); -endPr.setSz(1100); -p.addNewR().setT(""); -txBody.addNewLstStyle(); -} -protected CTTextBody getTextBody(boolean create){ -CTShape shape = (CTShape)getXmlObject(); +@Override +protected CTTextBody getTextBody(boolean create) { +CTShape shape = (CTShape) getXmlObject(); CTTextBody txBody = shape.getTxBody(); if (txBody == null && c
svn commit: r1839256 - /poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFBodyProperties.java
Author: abearez Date: Sun Aug 26 21:19:07 2018 New Revision: 1839256 URL: http://svn.apache.org/viewvc?rev=1839256=rev Log: complete body properties with insets Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFBodyProperties.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFBodyProperties.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFBodyProperties.java?rev=1839256=1839255=1839256=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFBodyProperties.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFBodyProperties.java Sun Aug 26 21:19:07 2018 @@ -19,6 +19,7 @@ package org.apache.poi.xddf.usermodel.te import org.apache.poi.util.Beta; import org.apache.poi.util.Internal; +import org.apache.poi.util.Units; import org.apache.poi.xddf.usermodel.XDDFExtensionList; import org.openxmlformats.schemas.drawingml.x2006.main.CTTextBodyProperties; @@ -75,4 +76,68 @@ public class XDDFBodyProperties { props.setExtLst(list.getXmlObject()); } } + +public Double getBottomInset() { +if (props.isSetBIns()) { +return Units.toPoints(props.getBIns()); +} else { +return null; +} +} + +public void setBottomInset(Double points) { +if (points == null || Double.isNaN(points)) { +props.unsetBIns(); +} else { +props.setBIns(Units.toEMU(points)); +} +} + +public Double getLeftInset() { +if (props.isSetLIns()) { +return Units.toPoints(props.getLIns()); +} else { +return null; +} +} + +public void setLeftInset(Double points) { +if (points == null || Double.isNaN(points)) { +props.unsetLIns(); +} else { +props.setLIns(Units.toEMU(points)); +} +} + +public Double getRightInset() { +if (props.isSetRIns()) { +return Units.toPoints(props.getRIns()); +} else { +return null; +} +} + +public void setRightInset(Double points) { +if (points == null || Double.isNaN(points)) { +props.unsetRIns(); +} else { +props.setRIns(Units.toEMU(points)); +} +} + +public Double getTopInset() { +if (props.isSetTIns()) { +return Units.toPoints(props.getTIns()); +} else { +return null; +} +} + +public void setTopInset(Double points) { +if (points == null || Double.isNaN(points)) { +props.unsetTIns(); +} else { +props.setTIns(Units.toEMU(points)); +} +} } - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1839255 [1/3] - in /poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel: ./ chart/ text/
Author: abearez Date: Sun Aug 26 21:18:54 2018 New Revision: 1839255 URL: http://svn.apache.org/viewvc?rev=1839255=rev Log: fill in the text body, its paragraphs and text runs Added: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/XDDFPicture.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/XDDFEffectList.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/AutonumberScheme.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/CapsType.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/FontAlignment.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/StrikeType.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/TabAlignment.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/TextAlignment.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/TextContainer.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/UnderlineType.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFAutoFit.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/XDDFEffectList.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFBodyProperties.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFBulletSize.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/XDDFEffectList.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFBulletSizeFollowText.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFBulletSizePercent.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFBulletSizePoints.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFBulletStyle.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/XDDFEffectList.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFBulletStyleAutoNumbered.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFBulletStyleCharacter.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFBulletStyleNone.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFBulletStylePicture.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFFont.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFHyperlink.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFNoAutoFit.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFNormalAutoFit.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFParagraphBulletProperties.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFParagraphProperties.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFRunProperties.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFShapeAutoFit.java - copied, changed from r1839252, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextBody.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFSpacing.java - copied, changed from r1839252, poi/trunk/src/ooxml/java
svn commit: r1839255 [3/3] - in /poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel: ./ chart/ text/
Added: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextRun.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextRun.java?rev=1839255=auto == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextRun.java (added) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFTextRun.java Sun Aug 26 21:18:54 2018 @@ -0,0 +1,557 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +package org.apache.poi.xddf.usermodel.text; + +import java.util.LinkedList; +import java.util.Locale; +import java.util.Optional; +import java.util.function.Function; + +import org.apache.poi.POIXMLRelation; +import org.apache.poi.common.usermodel.fonts.FontGroup; +import org.apache.poi.openxml4j.opc.PackagePart; +import org.apache.poi.openxml4j.opc.PackagePartName; +import org.apache.poi.openxml4j.opc.PackageRelationship; +import org.apache.poi.openxml4j.opc.TargetMode; +import org.apache.poi.util.Beta; +import org.apache.poi.util.Internal; +import org.apache.poi.xddf.usermodel.XDDFColor; +import org.apache.poi.xddf.usermodel.XDDFFillProperties; +import org.apache.poi.xddf.usermodel.XDDFLineProperties; +import org.apache.poi.xddf.usermodel.XDDFSolidFillProperties; +import org.apache.poi.xssf.usermodel.XSSFFont; +import org.openxmlformats.schemas.drawingml.x2006.main.CTRegularTextRun; +import org.openxmlformats.schemas.drawingml.x2006.main.CTTextCharacterProperties; +import org.openxmlformats.schemas.drawingml.x2006.main.CTTextField; +import org.openxmlformats.schemas.drawingml.x2006.main.CTTextLineBreak; +import org.openxmlformats.schemas.drawingml.x2006.main.STTextCapsType; +import org.openxmlformats.schemas.drawingml.x2006.main.STTextStrikeType; +import org.openxmlformats.schemas.drawingml.x2006.main.STTextUnderlineType; + +@Beta +public class XDDFTextRun { +private XDDFTextParagraph _parent; +private XDDFRunProperties _properties; +private CTTextLineBreak _tlb; +private CTTextField _tf; +private CTRegularTextRun _rtr; + +@Internal +protected XDDFTextRun(CTTextLineBreak run, XDDFTextParagraph parent) { +this._tlb = run; +this._parent = parent; +} + +@Internal +protected XDDFTextRun(CTTextField run, XDDFTextParagraph parent) { +this._tf = run; +this._parent = parent; +} + +@Internal +protected XDDFTextRun(CTRegularTextRun run, XDDFTextParagraph parent) { +this._rtr = run; +this._parent = parent; +} + +public XDDFTextParagraph getParentParagraph() { +return _parent; +} + +public boolean isLineBreak() { +return _tlb != null; +} + +public boolean isField() { +return _tf != null; +} + +public boolean isRegularRun() { +return _rtr != null; +} + +public String getText() { +if (isLineBreak()) { +return "\n"; +} else if (isField()) { +return _tf.getT(); +} else { +return _rtr.getT(); +} +} + +public void setText(String text) { +if (isField()) { +_tf.setT(text); +} else if (isRegularRun()) { +_rtr.setT(text); +} +} + +public void setDirty(Boolean dirty) { +getOrCreateProperties().setDirty(dirty); +} + +public Boolean getDirty() { +return findDefinedProperty(props -> props.isSetDirty(), props -> props.getDirty()) +.orElse(null); +} + +public void setSpellError(Boolean error) { +getOrCreateProperties().setSpellError(error); +} + +public Boolean getSpellError() { +return findDefinedProperty(props -> props.isSetErr(), props -> props.getErr()) +.orElse(null); +} + +public void setNoProof(Boolean noproof) { +getOrCreateProperties().setNoProof(noproof); +} + +public Boolean getNoProof() { +return findDefinedProperty(props -> props.isSetNoProof(), props ->
svn commit: r1839255 [2/3] - in /poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel: ./ chart/ text/
Added: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFParagraphProperties.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFParagraphProperties.java?rev=1839255=auto == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFParagraphProperties.java (added) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/text/XDDFParagraphProperties.java Sun Aug 26 21:18:54 2018 @@ -0,0 +1,258 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +package org.apache.poi.xddf.usermodel.text; + +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +import org.apache.poi.util.Beta; +import org.apache.poi.util.Internal; +import org.apache.poi.util.Units; +import org.apache.poi.xddf.usermodel.XDDFExtensionList; +import org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraphProperties; + +@Beta +public class XDDFParagraphProperties { +private CTTextParagraphProperties props; +private XDDFParagraphBulletProperties bullet; + +@Internal +protected XDDFParagraphProperties(CTTextParagraphProperties properties) { +this.props = properties; +this.bullet = new XDDFParagraphBulletProperties(properties); +} + +@Internal +protected CTTextParagraphProperties getXmlObject() { +return props; +} + +public XDDFParagraphBulletProperties getBulletProperties() { +return bullet; +} + +public int getLevel() { +if (props.isSetLvl()) { +return 1 + props.getLvl(); +} else { +return 0; +} +} + +public void setLevel(Integer level) { +if (level == null) { +props.unsetLvl(); +} else if (level < 1 || 9 < level) { +throw new IllegalArgumentException("Minimum inclusive: 1. Maximum inclusive: 9."); +} else { +props.setLvl(level - 1); +} +} + +public XDDFRunProperties getDefaultRunProperties() { +if (props.isSetDefRPr()) { +return new XDDFRunProperties(props.getDefRPr()); +} else { +return null; +} +} + +public void setDefaultRunProperties(XDDFRunProperties properties) { +if (properties == null) { +props.unsetDefRPr(); +} else { +props.setDefRPr(properties.getXmlObject()); +} +} + +public void setEastAsianLineBreak(Boolean value) { +if (value == null) { +props.unsetEaLnBrk(); +} else { +props.setEaLnBrk(value); +} +} + +public void setLatinLineBreak(Boolean value) { +if (value == null) { +props.unsetLatinLnBrk(); +} else { +props.setLatinLnBrk(value); +} +} + +public void setHangingPunctuation(Boolean value) { +if (value == null) { +props.unsetHangingPunct(); +} else { +props.setHangingPunct(value); +} +} + +public void setRightToLeft(Boolean value) { +if (value == null) { +props.unsetRtl(); +} else { +props.setRtl(value); +} +} + +public void setFontAlignment(FontAlignment align) { +if (align == null) { +props.unsetFontAlgn(); +} else { +props.setFontAlgn(align.underlying); +} +} + +public void setTextAlignment(TextAlignment align) { +if (align == null) { +props.unsetAlgn(); +} else { +props.setAlgn(align.underlying); +} +} + +public void setDefaultTabSize(Double points) { +if (points == null) { +props.unsetDefTabSz(); +} else { +props.setDefTabSz(Units.toEMU(points)); +} +} + +public void setIndentation(Double points) { +if (points == null) { +props.unsetIndent(); +} else if (points < -4032 || 4032 < points) { +throw
svn commit: r1839252 - /poi/trunk/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/ContentTypeManager.java
Author: abearez Date: Sun Aug 26 21:15:38 2018 New Revision: 1839252 URL: http://svn.apache.org/viewvc?rev=1839252=rev Log: add warning message to help reduce duplicates of bug 60102 Modified: poi/trunk/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/ContentTypeManager.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/ContentTypeManager.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/ContentTypeManager.java?rev=1839252=1839251=1839252=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/ContentTypeManager.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/openxml4j/opc/internal/ContentTypeManager.java Sun Aug 26 21:15:38 2018 @@ -338,8 +338,9 @@ public abstract class ContentTypeManager */ if (this.container != null && this.container.getPart(partName) != null) { throw new OpenXML4JRuntimeException( -"Rule M2.4 exception : Part \'" + partName + -"\' not found - this error should NEVER happen! If you can provide the triggering file, then please raise a bug at https://bz.apache.org/bugzilla/enter_bug.cgi?product=POI and attach the file that triggers it, thanks!"); + "Rule M2.4 exception : this error should NEVER happen!\n" + + "Check that your code is closing the open resources in the correct order prior to filing a bug report.\n" + + "If you can provide the triggering file, then please raise a bug at https://bz.apache.org/bugzilla/enter_bug.cgi?product=POI and attach the file that triggers it, thanks!"); } return null; } - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1823965 - /poi/site/src/documentation/content/xdocs/status.xml
Author: abearez Date: Mon Feb 12 13:06:51 2018 New Revision: 1823965 URL: http://svn.apache.org/viewvc?rev=1823965=rev Log: [bug-57369] support for major and minor unit on XDDFChart axes Modified: poi/site/src/documentation/content/xdocs/status.xml Modified: poi/site/src/documentation/content/xdocs/status.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/status.xml?rev=1823965=1823964=1823965=diff == --- poi/site/src/documentation/content/xdocs/status.xml (original) +++ poi/site/src/documentation/content/xdocs/status.xml Mon Feb 12 13:06:51 2018 @@ -68,6 +68,7 @@ Provide new ooxml-schemas-1.4.jar +Add support for major and minor units on chart axes Added methods to position table Remove deprecated classes (POI 4.0.0) Add functions to get, set, remove outer borders for tables - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1823963 - in /poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart: XDDFCategoryAxis.java XDDFChart.java XDDFChartAxis.java XDDFDateAxis.java XDDFSeriesAxis.java XDDFValueAxis.jav
Author: abearez Date: Mon Feb 12 12:59:38 2018 New Revision: 1823963 URL: http://svn.apache.org/viewvc?rev=1823963=rev Log: [bug-57369] support for major and minor unit on XDDFChart axes Added: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSeriesAxis.java - copied, changed from r1823920, poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartAxis.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDateAxis.java poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFValueAxis.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java?rev=1823963=1823962=1823963=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java Mon Feb 12 12:59:38 2018 @@ -80,6 +80,36 @@ public class XDDFCategoryAxis extends XD } @Override +public boolean isSetMinorUnit() { +return false; +} + +@Override +public void setMinorUnit(double minor) { +// nothing +} + +@Override +public double getMinorUnit() { +return Double.NaN; +} + +@Override +public boolean isSetMajorUnit() { +return false; +} + +@Override +public void setMajorUnit(double major) { +// nothing +} + +@Override +public double getMajorUnit() { +return Double.NaN; +} + +@Override public void crossAxis(XDDFChartAxis axis) { ctCatAx.getCrossAx().setVal(axis.getId()); } Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java?rev=1823963=1823962=1823963=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java Mon Feb 12 12:59:38 2018 @@ -62,6 +62,7 @@ import org.openxmlformats.schemas.drawin import org.openxmlformats.schemas.drawingml.x2006.chart.CTPlotArea; import org.openxmlformats.schemas.drawingml.x2006.chart.CTRadarChart; import org.openxmlformats.schemas.drawingml.x2006.chart.CTScatterChart; +import org.openxmlformats.schemas.drawingml.x2006.chart.CTSerAx; import org.openxmlformats.schemas.drawingml.x2006.chart.CTSurface; import org.openxmlformats.schemas.drawingml.x2006.chart.CTValAx; import org.openxmlformats.schemas.drawingml.x2006.chart.ChartSpaceDocument; @@ -359,18 +360,47 @@ public abstract class XDDFChart extends } private void parseAxes() { -// TODO: add other axis types for (CTCatAx catAx : chart.getPlotArea().getCatAxArray()) { axes.add(new XDDFCategoryAxis(catAx)); } for (CTDateAx dateAx : chart.getPlotArea().getDateAxArray()) { axes.add(new XDDFDateAxis(dateAx)); } +for (CTSerAx serAx : chart.getPlotArea().getSerAxArray()) { +axes.add(new XDDFSeriesAxis(serAx)); +} for (CTValAx valAx : chart.getPlotArea().getValAxArray()) { axes.add(new XDDFValueAxis(valAx)); } } +/** + * Set value range (basic Axis Options) + * @param axisIndex 0 - primary axis, 1 - secondary axis + * @param minimum minimum value; Double.NaN - automatic; null - no change + * @param maximum maximum value; Double.NaN - automatic; null - no change + * @param majorUnit major unit value; Double.NaN - automatic; null - no change + * @param minorUnit minor unit value; Double.NaN - automatic; null - no change + */ +public void setValueRange(int axisIndex, Double minimum, Double maximum, Double majorUnit, Double minorUnit) { +XDDFChartAxis axis = getAxes().get(axisIndex); +if (axis == null) { +return; +} +if (minimum != null) { +axis.setMinimum(minimum); +} +if (maximum != null) { +axis.setMaximum(maximum); +} +if (majorUnit != null) { +axis.setMajorUnit(majorUnit); +} +if (minorUnit != null) { +axis.setMinorUnit(minorUnit); +} +} + /** * method to create relationship with embedded part * for example writing xlsx file stream into output stream
svn commit: r1822224 - in /poi/trunk/src/ooxml/java/org/apache/poi: xddf/usermodel/chart/ xslf/usermodel/ xssf/usermodel/ xwpf/usermodel/
Author: abearez Date: Thu Jan 25 19:59:52 2018 New Revision: 184 URL: http://svn.apache.org/viewvc?rev=184=rev Log: code cleaning according to code review recommendations (closes #93) Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFRelation.java poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFChart.java poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRelation.java poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java?rev=184=183=184=diff == --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java Thu Jan 25 19:59:52 2018 @@ -46,14 +46,9 @@ import org.apache.poi.ss.util.CellRefere import org.apache.poi.util.Beta; import org.apache.poi.util.Internal; import org.apache.poi.xddf.usermodel.XDDFShapeProperties; -import org.apache.poi.xslf.usermodel.XSLFChart; -import org.apache.poi.xslf.usermodel.XSLFFactory; -import org.apache.poi.xslf.usermodel.XSLFRelation; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.apache.poi.xwpf.usermodel.XWPFFactory; -import org.apache.poi.xwpf.usermodel.XWPFRelation; import org.apache.xmlbeans.XmlException; import org.apache.xmlbeans.XmlOptions; import org.openxmlformats.schemas.drawingml.x2006.chart.CTBarChart; @@ -403,7 +398,7 @@ public abstract class XDDFChart extends * @since POI 4.0.0 */ private PackagePart createWorksheetPart(POIXMLRelation chartRelation, POIXMLRelation chartWorkbookRelation, POIXMLFactory chartFactory) throws InvalidFormatException { -PackageRelationship xlsx = createRelationshipInChart(XSLFRelation.WORKBOOK_RELATIONSHIP, XSLFFactory.getInstance(), chartIndex); +PackageRelationship xlsx = createRelationshipInChart(chartWorkbookRelation, chartFactory, chartIndex); this.setExternalId(xlsx.getId()); return getTargetPart(xlsx); } @@ -419,19 +414,14 @@ public abstract class XDDFChart extends public void saveWorkbook(XSSFWorkbook workbook) throws IOException, InvalidFormatException { PackagePart worksheetPart = getWorksheetPart(true); if (worksheetPart == null) { -POIXMLRelation chartRelation = null; -POIXMLRelation chartWorkbookRelation = null; -POIXMLFactory chartFactory = null; -if (this instanceof XSLFChart) { -chartRelation = XSLFRelation.CHART; -chartWorkbookRelation = XSLFRelation.WORKBOOK_RELATIONSHIP; -chartFactory = XSLFFactory.getInstance(); -} else { -chartRelation = XWPFRelation.CHART; -chartRelation = XWPFRelation.WORKBOOK_RELATIONSHIP; -chartFactory = XWPFFactory.getInstance(); +POIXMLRelation chartRelation = getChartRelation(); +POIXMLRelation chartWorkbookRelation = getChartWorkbookRelation(); +POIXMLFactory chartFactory = getChartFactory(); +if (chartRelation != null +&& chartWorkbookRelation != null +&& chartFactory != null) { +worksheetPart = createWorksheetPart(chartRelation, chartWorkbookRelation, chartFactory); } -worksheetPart = createWorksheetPart(chartRelation, chartWorkbookRelation, chartFactory); } try (OutputStream xlsOut = worksheetPart.getOutputStream()) { workbook.write(xlsOut); @@ -439,6 +429,27 @@ public abstract class XDDFChart extends } /** + * + * @return the chart relation in the implementing subclass. + * @since POI 4.0.0 + */ +protected abstract POIXMLRelation getChartRelation(); + +/** + * + * @return the chart workbook relation in the implementing subclass. + * @since POI 4.0.0 + */ +protected abstract POIXMLRelation getChartWorkbookRelation(); + +/** + * + * @return the chart factory in the implementing subclass. + * @since POI 4.0.0 + */ +protected abstract POIXMLFactory getChartFactory(); + +/** * this method writes the data into sheet * * @param sheetsheet of embedded excel Modified: poi/trunk/src/ooxml/java/org
svn commit: r1820371 - /poi/site/src/documentation/content/xdocs/status.xml
Author: abearez Date: Sat Jan 6 02:56:27 2018 New Revision: 1820371 URL: http://svn.apache.org/viewvc?rev=1820371=rev Log: update status for closed github-72 Modified: poi/site/src/documentation/content/xdocs/status.xml Modified: poi/site/src/documentation/content/xdocs/status.xml URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/status.xml?rev=1820371=1820370=1820371=diff == --- poi/site/src/documentation/content/xdocs/status.xml (original) +++ poi/site/src/documentation/content/xdocs/status.xml Sat Jan 6 02:56:27 2018 @@ -68,6 +68,7 @@ Provide new ooxml-schemas-1.4.jar +Define XDDF user model for shape properties to be shared between XSLF, XSSF and XWPF Do not fail with "part already exists" when tables are created/removed Add more information to exception text and verify that it is thrown Add .gitattribute file and set lf for one sample-file - To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org
svn commit: r1820370 [23/23] - in /poi/site: publish/apidocs/ publish/apidocs/org/apache/poi/class-use/ publish/apidocs/org/apache/poi/common/usermodel/fonts/ publish/apidocs/org/apache/poi/common/use
Modified: poi/site/publish/apidocs/overview-tree.html URL: http://svn.apache.org/viewvc/poi/site/publish/apidocs/overview-tree.html?rev=1820370=1820369=1820370=diff == --- poi/site/publish/apidocs/overview-tree.html (original) +++ poi/site/publish/apidocs/overview-tree.html Sat Jan 6 02:56:19 2018 @@ -3556,12 +3556,12 @@ Annotation Type Hierarchy +org.apache.poi.util.Beta (implements java.lang.annotation.Annotation) org.apache.poi.sl.draw.DrawNotImplemented (implements java.lang.annotation.Annotation) -org.apache.poi.util.SuppressForbidden (implements java.lang.annotation.Annotation) -org.apache.poi.util.Removal (implements java.lang.annotation.Annotation) -org.apache.poi.util.NotImplemented (implements java.lang.annotation.Annotation) org.apache.poi.util.Internal (implements java.lang.annotation.Annotation) -org.apache.poi.util.Beta (implements java.lang.annotation.Annotation) +org.apache.poi.util.NotImplemented (implements java.lang.annotation.Annotation) +org.apache.poi.util.Removal (implements java.lang.annotation.Annotation) +org.apache.poi.util.SuppressForbidden (implements java.lang.annotation.Annotation) Enum Hierarchy @@ -3569,187 +3569,187 @@ java.lang.EnumE (implements java.lang.ComparableT, java.io.Serializable) -org.apache.poi.common.usermodel.HyperlinkType -org.apache.poi.common.usermodel.fonts.FontPitch -org.apache.poi.common.usermodel.fonts.FontGroup -org.apache.poi.common.usermodel.fonts.FontFamily -org.apache.poi.common.usermodel.fonts.FontCharset -org.apache.poi.ddf.EscherColorRef.SysIndexSource -org.apache.poi.ddf.EscherColorRef.SysIndexProcedure -org.apache.poi.hssf.usermodel.HSSFChart.HSSFChartType -org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined -org.apache.poi.poifs.crypt.HashAlgorithm -org.apache.poi.poifs.crypt.EncryptionMode -org.apache.poi.poifs.crypt.CipherProvider -org.apache.poi.poifs.crypt.CipherAlgorithm -org.apache.poi.poifs.crypt.ChainingMode -org.apache.poi.poifs.filesystem.FileMagic -org.apache.poi.poifs.macros.Module.ModuleType -org.apache.poi.sl.draw.binding.STTextShapeType -org.apache.poi.sl.draw.binding.STShapeType -org.apache.poi.sl.draw.binding.STSchemeColorVal -org.apache.poi.sl.draw.binding.STRectAlignment -org.apache.poi.sl.draw.binding.STPresetColorVal -org.apache.poi.sl.draw.binding.STPathFillMode -org.apache.poi.sl.draw.binding.STBlackWhiteMode -org.apache.poi.sl.usermodel.VerticalAlignment -org.apache.poi.sl.usermodel.TextShape.TextDirection -org.apache.poi.sl.usermodel.TextShape.TextAutofit -org.apache.poi.sl.usermodel.TextShape.TextPlaceholder -org.apache.poi.sl.usermodel.TextRun.TextCap -org.apache.poi.sl.usermodel.TextRun.FieldType -org.apache.poi.sl.usermodel.TextParagraph.TextAlign -org.apache.poi.sl.usermodel.TextParagraph.FontAlign -org.apache.poi.sl.usermodel.TableCell.BorderEdge -org.apache.poi.sl.usermodel.StrokeStyle.LineCap -org.apache.poi.sl.usermodel.StrokeStyle.LineDash -org.apache.poi.sl.usermodel.StrokeStyle.LineCompound -org.apache.poi.sl.usermodel.ShapeType -org.apache.poi.sl.usermodel.RectAlign -org.apache.poi.sl.usermodel.PresetColor -org.apache.poi.sl.usermodel.Placeholder -org.apache.poi.sl.usermodel.PictureData.PictureType -org.apache.poi.sl.usermodel.PaintStyle.PaintModifier -org.apache.poi.sl.usermodel.PaintStyle.GradientPaint.GradientType -org.apache.poi.sl.usermodel.LineDecoration.DecorationShape -org.apache.poi.sl.usermodel.LineDecoration.DecorationSize org.apache.poi.sl.usermodel.AutoNumberingScheme -org.apache.poi.ss.SpreadsheetVersion +org.apache.poi.ss.usermodel.charts.AxisCrossBetween +org.apache.poi.xddf.usermodel.chart.AxisCrossBetween +org.apache.poi.ss.usermodel.charts.AxisCrosses +org.apache.poi.xddf.usermodel.chart.AxisCrosses +org.apache.poi.xddf.usermodel.chart.AxisLabelAlignment +org.apache.poi.ss.usermodel.charts.AxisOrientation +org.apache.poi.xddf.usermodel.chart.AxisOrientation +org.apache.poi.ss.usermodel.charts.AxisPosition +org.apache.poi.xddf.usermodel.chart.AxisPosition +org.apache.poi.xddf.usermodel.chart.AxisTickLabelPosition +org.apache.poi.ss.usermodel.charts.AxisTickMark +org.apache.poi.xddf.usermodel.chart.AxisTickMark +org.apache.poi.xddf.usermodel.chart.BarDirection +org.apache.poi.xddf.usermodel.chart.BarGrouping +org.apache.poi.xwpf.usermodel.BodyElementType +org.apache.poi.xwpf.usermodel.BodyType +org.apache.poi.ss.usermodel.BorderExtent +org.apache.poi.xwpf.usermodel.Borders +org.apache.poi.ss.usermodel.BorderStyle +org.apache.poi.xwpf.usermodel.BreakClear +org.apache.poi.xwpf.usermodel.BreakType org.apache.poi.ss.format.CellFormatType -org.apache.poi.ss.formula.FormulaType -org.apache.poi.ss.formula.EvaluationConditionalFormatRule.OperatorEnum -org.apache.poi.ss.formula.DataValidationEvaluator.ValidationEnum +org.apache.poi.ss.util.CellRangeAddressBase.CellPosition +org.apache.poi.ss.util.CellReference.NameType +org.apache.poi.ss.usermodel.CellType
svn commit: r1820370 [10/23] - in /poi/site: publish/apidocs/ publish/apidocs/org/apache/poi/class-use/ publish/apidocs/org/apache/poi/common/usermodel/fonts/ publish/apidocs/org/apache/poi/common/use
Modified: poi/site/publish/apidocs/org/apache/poi/openxml4j/opc/class-use/PackageRelationship.html URL: http://svn.apache.org/viewvc/poi/site/publish/apidocs/org/apache/poi/openxml4j/opc/class-use/PackageRelationship.html?rev=1820370=1820369=1820370=diff == --- poi/site/publish/apidocs/org/apache/poi/openxml4j/opc/class-use/PackageRelationship.html (original) +++ poi/site/publish/apidocs/org/apache/poi/openxml4j/opc/class-use/PackageRelationship.html Sat Jan 6 02:56:19 2018 @@ -159,10 +159,9 @@ PackageRelationship -RelationshipSource.addExternalRelationship(java.lang.Stringtarget, +OPCPackage.addExternalRelationship(java.lang.Stringtarget, java.lang.StringrelationshipType) -Adds an external relationship to a part - (except relationships part). +Adds an external relationship to a part (except relationships part). @@ -174,18 +173,18 @@ PackageRelationship -OPCPackage.addExternalRelationship(java.lang.Stringtarget, +RelationshipSource.addExternalRelationship(java.lang.Stringtarget, java.lang.StringrelationshipType) -Adds an external relationship to a part (except relationships part). +Adds an external relationship to a part + (except relationships part). PackageRelationship -RelationshipSource.addExternalRelationship(java.lang.Stringtarget, +OPCPackage.addExternalRelationship(java.lang.Stringtarget, java.lang.StringrelationshipType, java.lang.Stringid) -Adds an external relationship to a part - (except relationships part). +Adds an external relationship to a part (except relationships part). @@ -198,18 +197,19 @@ PackageRelationship -OPCPackage.addExternalRelationship(java.lang.Stringtarget, +RelationshipSource.addExternalRelationship(java.lang.Stringtarget, java.lang.StringrelationshipType, java.lang.Stringid) -Adds an external relationship to a part (except relationships part). +Adds an external relationship to a part + (except relationships part). PackageRelationship -RelationshipSource.addRelationship(PackagePartNametargetPartName, +OPCPackage.addRelationship(PackagePartNametargetPartName, TargetModetargetMode, java.lang.StringrelationshipType) -Add a relationship to a part (except relationships part). +Add a package relationship. @@ -222,19 +222,19 @@ PackageRelationship -OPCPackage.addRelationship(PackagePartNametargetPartName, +RelationshipSource.addRelationship(PackagePartNametargetPartName, TargetModetargetMode, java.lang.StringrelationshipType) -Add a package relationship. +Add a relationship to a part (except relationships part). PackageRelationship -RelationshipSource.addRelationship(PackagePartNametargetPartName, +OPCPackage.addRelationship(PackagePartNametargetPartName, TargetModetargetMode, java.lang.StringrelationshipType, - java.lang.Stringid) -Add a relationship to a part (except relationships part). + java.lang.StringrelID) +Add a relationship to the package (except relationships part). @@ -248,11 +248,11 @@ PackageRelationship -OPCPackage.addRelationship(PackagePartNametargetPartName, +RelationshipSource.addRelationship(PackagePartNametargetPartName, TargetModetargetMode, java.lang.StringrelationshipType, - java.lang.StringrelID) -Add a relationship to the package (except relationships part). + java.lang.Stringid) +Add a relationship to a part (except relationships part). @@ -265,20 +265,20 @@ PackageRelationship -PackageRelationshipCollection.addRelationship(java.net.URItargetUri, +PackagePart.addRelationship(java.net.URItargetURI, TargetModetargetMode, java.lang.StringrelationshipType, java.lang.Stringid) -Add a relationship to the collection. +Add a relationship to a part (except relationships part). PackageRelationship -PackagePart.addRelationship(java.net.URItargetURI, +PackageRelationshipCollection.addRelationship(java.net.URItargetUri, TargetModetargetMode, java.lang.StringrelationshipType, java.lang.Stringid) -Add a relationship to a part (except relationships part). +Add a relationship to the collection. @@ -299,9 +299,7 @@ PackageRelationship -RelationshipSource.getRelationship(java.lang.Stringid) -Retrieves a package relationship from its id. - +OPCPackage.getRelationship(java.lang.Stringid) PackageRelationship @@ -311,7 +309,9 @@ PackageRelationship -OPCPackage.getRelationship(java.lang.Stringid) +RelationshipSource.getRelationship(java.lang.Stringid) +Retrieves a package relationship from its id. + PackageRelationship @@ -370,9 +370,7 @@ boolean
svn commit: r1820370 [20/23] - in /poi/site: publish/apidocs/ publish/apidocs/org/apache/poi/class-use/ publish/apidocs/org/apache/poi/common/usermodel/fonts/ publish/apidocs/org/apache/poi/common/use
Modified: poi/site/publish/apidocs/org/apache/poi/xdgf/usermodel/section/class-use/XDGFSection.html URL: http://svn.apache.org/viewvc/poi/site/publish/apidocs/org/apache/poi/xdgf/usermodel/section/class-use/XDGFSection.html?rev=1820370=1820369=1820370=diff == --- poi/site/publish/apidocs/org/apache/poi/xdgf/usermodel/section/class-use/XDGFSection.html (original) +++ poi/site/publish/apidocs/org/apache/poi/xdgf/usermodel/section/class-use/XDGFSection.html Sat Jan 6 02:56:19 2018 @@ -172,17 +172,17 @@ -abstract void -XDGFSection.setupMaster(XDGFSectionsection) - - void GeometrySection.setupMaster(XDGFSectionmaster) - + void GenericSection.setupMaster(XDGFSectionsection) + +abstract void +XDGFSection.setupMaster(XDGFSectionsection) + void CharacterSection.setupMaster(XDGFSectionsection) Modified: poi/site/publish/apidocs/org/apache/poi/xdgf/usermodel/section/geometry/class-use/GeometryRow.html URL: http://svn.apache.org/viewvc/poi/site/publish/apidocs/org/apache/poi/xdgf/usermodel/section/geometry/class-use/GeometryRow.html?rev=1820370=1820369=1820370=diff == --- poi/site/publish/apidocs/org/apache/poi/xdgf/usermodel/section/geometry/class-use/GeometryRow.html (original) +++ poi/site/publish/apidocs/org/apache/poi/xdgf/usermodel/section/geometry/class-use/GeometryRow.html Sat Jan 6 02:56:19 2018 @@ -226,63 +226,63 @@ void -SplineStart.setupMaster(GeometryRowrow) +NURBSTo.setupMaster(GeometryRowrow) void -SplineKnot.setupMaster(GeometryRowrow) +MoveTo.setupMaster(GeometryRowrow) void -RelQuadBezTo.setupMaster(GeometryRowrow) +SplineStart.setupMaster(GeometryRowrow) void -RelMoveTo.setupMaster(GeometryRowrow) +RelLineTo.setupMaster(GeometryRowrow) void -RelLineTo.setupMaster(GeometryRowrow) +InfiniteLine.setupMaster(GeometryRowrow) void -RelEllipticalArcTo.setupMaster(GeometryRowrow) +GeometryRow.setupMaster(GeometryRowrow) void -RelCubBezTo.setupMaster(GeometryRowrow) +EllipticalArcTo.setupMaster(GeometryRowrow) void -PolyLineTo.setupMaster(GeometryRowrow) +RelCubBezTo.setupMaster(GeometryRowrow) void -NURBSTo.setupMaster(GeometryRowrow) +SplineKnot.setupMaster(GeometryRowrow) void -MoveTo.setupMaster(GeometryRowrow) +LineTo.setupMaster(GeometryRowrow) void -LineTo.setupMaster(GeometryRowrow) +RelQuadBezTo.setupMaster(GeometryRowrow) void -InfiniteLine.setupMaster(GeometryRowrow) +Ellipse.setupMaster(GeometryRowrow) void -GeometryRow.setupMaster(GeometryRowrow) +RelEllipticalArcTo.setupMaster(GeometryRowrow) void -EllipticalArcTo.setupMaster(GeometryRowrow) +RelMoveTo.setupMaster(GeometryRowrow) void -Ellipse.setupMaster(GeometryRowrow) +PolyLineTo.setupMaster(GeometryRowrow) void Modified: poi/site/publish/apidocs/org/apache/poi/xslf/usermodel/class-use/XSLFAutoShape.html URL: http://svn.apache.org/viewvc/poi/site/publish/apidocs/org/apache/poi/xslf/usermodel/class-use/XSLFAutoShape.html?rev=1820370=1820369=1820370=diff == --- poi/site/publish/apidocs/org/apache/poi/xslf/usermodel/class-use/XSLFAutoShape.html (original) +++ poi/site/publish/apidocs/org/apache/poi/xslf/usermodel/class-use/XSLFAutoShape.html Sat Jan 6 02:56:19 2018 @@ -122,11 +122,11 @@ XSLFAutoShape -XSLFSheet.createAutoShape() +XSLFDrawing.createAutoShape() XSLFAutoShape -XSLFShapeContainer.createAutoShape() +XSLFSheet.createAutoShape() XSLFAutoShape @@ -134,7 +134,7 @@ XSLFAutoShape -XSLFDrawing.createAutoShape() +XSLFShapeContainer.createAutoShape() Modified: poi/site/publish/apidocs/org/apache/poi/xslf/usermodel/class-use/XSLFBackground.html URL: http://svn.apache.org/viewvc/poi/site/publish/apidocs/org/apache/poi/xslf/usermodel/class-use/XSLFBackground.html?rev=1820370=1820369=1820370=diff == --- poi/site/publish/apidocs/org/apache/poi/xslf/usermodel/class-use/XSLFBackground.html (original) +++ poi/site/publish/apidocs/org/apache/poi/xslf/usermodel/class-use/XSLFBackground.html Sat Jan 6 02:56:19 2018 @@ -103,19 +103,19 @@ XSLFBackground -XSLFSlideMaster.getBackground() +XSLFSlideLayout.getBackground() XSLFBackground -XSLFSlideLayout.getBackground() +XSLFSlideMaster.getBackground() XSLFBackground -XSLFSlide.getBackground() +XSLFSheet.getBackground() XSLFBackground -XSLFSheet.getBackground() +XSLFSlide.getBackground() Modified: poi/site/publish/apidocs/org/apache/poi/xslf/usermodel/class-use/XSLFConnectorShape.html URL: http://svn.apache.org/viewvc/poi/site/publish/apidocs/org/apache/poi/xslf/usermodel/class-use/XSLFConnectorShape.html?rev=1820370=1820369=1820370=diff == ---
svn commit: r1820370 [1/23] - in /poi/site: publish/apidocs/ publish/apidocs/org/apache/poi/class-use/ publish/apidocs/org/apache/poi/common/usermodel/fonts/ publish/apidocs/org/apache/poi/common/user
Author: abearez Date: Sat Jan 6 02:56:19 2018 New Revision: 1820370 URL: http://svn.apache.org/viewvc?rev=1820370=rev Log: Revert "update javadocs for closed github-68" Modified: poi/site/publish/apidocs/deprecated-list.html poi/site/publish/apidocs/index-all.html poi/site/publish/apidocs/org/apache/poi/class-use/POITextExtractor.html poi/site/publish/apidocs/org/apache/poi/class-use/POIXMLDocumentPart.html poi/site/publish/apidocs/org/apache/poi/class-use/POIXMLProperties.CoreProperties.html poi/site/publish/apidocs/org/apache/poi/class-use/POIXMLProperties.CustomProperties.html poi/site/publish/apidocs/org/apache/poi/class-use/POIXMLProperties.ExtendedProperties.html poi/site/publish/apidocs/org/apache/poi/common/usermodel/fonts/class-use/FontInfo.html poi/site/publish/apidocs/org/apache/poi/common/usermodel/fonts/package-tree.html poi/site/publish/apidocs/org/apache/poi/ddf/class-use/EscherContainerRecord.html poi/site/publish/apidocs/org/apache/poi/ddf/class-use/EscherRecord.html poi/site/publish/apidocs/org/apache/poi/ddf/class-use/EscherRecordFactory.html poi/site/publish/apidocs/org/apache/poi/ddf/class-use/EscherSerializationListener.html poi/site/publish/apidocs/org/apache/poi/ddf/package-tree.html poi/site/publish/apidocs/org/apache/poi/hemf/hemfplus/record/class-use/HemfPlusRecordType.html poi/site/publish/apidocs/org/apache/poi/hemf/record/class-use/HemfRecordType.html poi/site/publish/apidocs/org/apache/poi/hpsf/class-use/ClassID.html poi/site/publish/apidocs/org/apache/poi/hpsf/class-use/SummaryInformation.html poi/site/publish/apidocs/org/apache/poi/hpsf/wellknown/class-use/PropertyIDMap.html poi/site/publish/apidocs/org/apache/poi/hslf/model/textproperties/class-use/TextProp.html poi/site/publish/apidocs/org/apache/poi/hslf/model/textproperties/package-tree.html poi/site/publish/apidocs/org/apache/poi/hslf/record/class-use/ColorSchemeAtom.html poi/site/publish/apidocs/org/apache/poi/hslf/record/class-use/PPDrawing.html poi/site/publish/apidocs/org/apache/poi/hslf/record/class-use/Record.html poi/site/publish/apidocs/org/apache/poi/hslf/record/class-use/RecordContainer.html poi/site/publish/apidocs/org/apache/poi/hslf/record/package-tree.html poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/HSLFTable.html poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFAutoShape.html poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFBackground.html poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFConnectorShape.html poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFFreeformShape.html poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFGroupShape.html poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFHyperlink.html poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFMasterSheet.html poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFPictureShape.html poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFShape.html poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFSheet.html poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFTable.html poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFTextBox.html poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFTextParagraph.html poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFTextShape.html poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/package-tree.html poi/site/publish/apidocs/org/apache/poi/hsmf/datatypes/class-use/Chunk.html poi/site/publish/apidocs/org/apache/poi/hsmf/datatypes/class-use/MAPIProperty.html poi/site/publish/apidocs/org/apache/poi/hsmf/datatypes/class-use/PropertyValue.html poi/site/publish/apidocs/org/apache/poi/hssf/record/aggregates/class-use/RecordAggregate.RecordVisitor.html poi/site/publish/apidocs/org/apache/poi/hssf/record/class-use/CellValueRecordInterface.html poi/site/publish/apidocs/org/apache/poi/hssf/record/class-use/ObjRecord.html poi/site/publish/apidocs/org/apache/poi/hssf/record/class-use/Record.html poi/site/publish/apidocs/org/apache/poi/hssf/record/class-use/TextObjectRecord.html poi/site/publish/apidocs/org/apache/poi/hssf/record/cont/class-use/ContinuableRecordOutput.html poi/site/publish/apidocs/org/apache/poi/hssf/usermodel/class-use/HSSFConditionalFormattingThreshold.html poi/site/publish/apidocs/org/apache/poi/hssf/usermodel/class-use/HSSFPatriarch.html poi/site/publish/apidocs/org/apache/poi/hssf/usermodel/class-use/HSSFShape.html poi/site/publish/apidocs/org/apache/poi/hssf/usermodel/class-use/HSSFSheet.html poi/site/publish/apidocs/org/apache/poi/hwmf/draw/class-use/HwmfGraphics.htm
svn commit: r1820370 [13/23] - in /poi/site: publish/apidocs/ publish/apidocs/org/apache/poi/class-use/ publish/apidocs/org/apache/poi/common/usermodel/fonts/ publish/apidocs/org/apache/poi/common/use
Modified: poi/site/publish/apidocs/org/apache/poi/ss/formula/eval/class-use/ValueEval.html URL: http://svn.apache.org/viewvc/poi/site/publish/apidocs/org/apache/poi/ss/formula/eval/class-use/ValueEval.html?rev=1820370=1820369=1820370=diff == --- poi/site/publish/apidocs/org/apache/poi/ss/formula/eval/class-use/ValueEval.html (original) +++ poi/site/publish/apidocs/org/apache/poi/ss/formula/eval/class-use/ValueEval.html Sat Jan 6 02:56:19 2018 @@ -480,19 +480,19 @@ ValueEval -RelationalOperationEval.evaluate(intsrcRowIndex, +RangeEval.evaluate(intsrcRowIndex, intsrcColumnIndex, ValueEvalarg0, -ValueEvalarg1) -This is a description of how the relational operators apply in MS Excel. - +ValueEvalarg1) ValueEval -RangeEval.evaluate(intsrcRowIndex, +RelationalOperationEval.evaluate(intsrcRowIndex, intsrcColumnIndex, ValueEvalarg0, -ValueEvalarg1) +ValueEvalarg1) +This is a description of how the relational operators apply in MS Excel. + ValueEval @@ -643,19 +643,19 @@ ValueEval -RelationalOperationEval.evaluate(intsrcRowIndex, +RangeEval.evaluate(intsrcRowIndex, intsrcColumnIndex, ValueEvalarg0, -ValueEvalarg1) -This is a description of how the relational operators apply in MS Excel. - +ValueEvalarg1) ValueEval -RangeEval.evaluate(intsrcRowIndex, +RelationalOperationEval.evaluate(intsrcRowIndex, intsrcColumnIndex, ValueEvalarg0, -ValueEvalarg1) +ValueEvalarg1) +This is a description of how the relational operators apply in MS Excel. + ValueEval @@ -767,54 +767,42 @@ ValueEval -RowFunc.evaluate(intsrcRowIndex, -intsrcColumnIndex) +Na.evaluate(intsrcCellRow, +intsrcCellCol) ValueEval -Now.evaluate(intsrcRowIndex, +RowFunc.evaluate(intsrcRowIndex, intsrcColumnIndex) ValueEval -Na.evaluate(intsrcCellRow, -intsrcCellCol) - - -ValueEval Function0Arg.evaluate(intsrcRowIndex, intsrcColumnIndex) see Function.evaluate(ValueEval[], int, int) - + ValueEval Column.evaluate(intsrcRowIndex, intsrcColumnIndex) - -ValueEval -Value.evaluate(intsrcRowIndex, -intsrcColumnIndex, -ValueEvalarg0) - ValueEval -T.evaluate(intsrcRowIndex, -intsrcColumnIndex, -ValueEvalarg0) +Now.evaluate(intsrcRowIndex, +intsrcColumnIndex) ValueEval -Rows.evaluate(intsrcRowIndex, +ImReal.evaluate(intsrcRowIndex, intsrcColumnIndex, -ValueEvalarg0) +ValueEvalinumberVE) ValueEval -RowFunc.evaluate(intsrcRowIndex, +Hex2Dec.evaluate(intsrcRowIndex, intsrcColumnIndex, -ValueEvalarg0) +ValueEvalnumberVE) ValueEval @@ -824,33 +812,35 @@ ValueEval -NumericFunction.OneArg.evaluate(intsrcRowIndex, +LogicalFunction.evaluate(intsrcRowIndex, intsrcColumnIndex, ValueEvalarg0) ValueEval -MatrixFunction.OneArrayArg.evaluate(intsrcRowIndex, +Function1Arg.evaluate(intsrcRowIndex, intsrcColumnIndex, -ValueEvalarg0) +ValueEvalarg0) +see Function.evaluate(ValueEval[], int, int) + ValueEval -LogicalFunction.evaluate(intsrcRowIndex, +Bin2Dec.evaluate(intsrcRowIndex, intsrcColumnIndex, -ValueEvalarg0) +ValueEvalnumberVE) ValueEval -ImReal.evaluate(intsrcRowIndex, +RowFunc.evaluate(intsrcRowIndex, intsrcColumnIndex, -ValueEvalinumberVE) +ValueEvalarg0) ValueEval -Imaginary.evaluate(intsrcRowIndex, +Columns.evaluate(intsrcRowIndex, intsrcColumnIndex, -ValueEvalinumberVE) +ValueEvalarg0) ValueEval @@ -860,17 +850,15 @@ ValueEval -Hex2Dec.evaluate(intsrcRowIndex, +T.evaluate(intsrcRowIndex, intsrcColumnIndex, -ValueEvalnumberVE) +ValueEvalarg0) ValueEval -Function1Arg.evaluate(intsrcRowIndex, +CalendarFieldFunction.evaluate(intsrcRowIndex, intsrcColumnIndex, -ValueEvalarg0) -see Function.evaluate(ValueEval[], int, int) - +ValueEvalarg0) ValueEval @@ -880,9 +868,9 @@ ValueEval -FactDouble.evaluate(intsrcRowIndex, +Column.evaluate(intsrcRowIndex, intsrcColumnIndex, -ValueEvalnumberVE) +ValueEvalarg0) ValueEval @@ -892,118 +880,116 @@ ValueEval -Dec2Hex.evaluate(intsrcRowIndex, +NumericFunction.OneArg.evaluate(intsrcRowIndex, intsrcColumnIndex, ValueEvalarg0) ValueEval -Dec2Bin.evaluate(intsrcRowIndex, +Imaginary.evaluate(intsrcRowIndex, intsrcColumnIndex, -ValueEvalnumberVE) +ValueEvalinumberVE) ValueEval -Countblank.evaluate(intsrcRowIndex, +Value.evaluate(intsrcRowIndex, intsrcColumnIndex, ValueEvalarg0) ValueEval -Columns.evaluate(intsrcRowIndex, +FactDouble.evaluate(intsrcRowIndex, intsrcColumnIndex, -
svn commit: r1820370 [3/23] - in /poi/site: publish/apidocs/ publish/apidocs/org/apache/poi/class-use/ publish/apidocs/org/apache/poi/common/usermodel/fonts/ publish/apidocs/org/apache/poi/common/user
Modified: poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFGroupShape.html URL: http://svn.apache.org/viewvc/poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFGroupShape.html?rev=1820370=1820369=1820370=diff == --- poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFGroupShape.html (original) +++ poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFGroupShape.html Sat Jan 6 02:56:19 2018 @@ -153,15 +153,15 @@ HSLFGroupShape -HSLFSheet.createGroup() +HSLFGroupShape.createGroup() HSLFGroupShape -HSLFShapeContainer.createGroup() +HSLFSheet.createGroup() HSLFGroupShape -HSLFGroupShape.createGroup() +HSLFShapeContainer.createGroup() static HSLFGroupShape Modified: poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFHyperlink.html URL: http://svn.apache.org/viewvc/poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFHyperlink.html?rev=1820370=1820369=1820370=diff == --- poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFHyperlink.html (original) +++ poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFHyperlink.html Sat Jan 6 02:56:19 2018 @@ -132,17 +132,17 @@ HSLFHyperlink -HSLFTextRun.getHyperlink() +HSLFGroupShape.getHyperlink() +Returns null - shape groups can't have hyperlinks + HSLFHyperlink -HSLFSimpleShape.getHyperlink() +HSLFTextRun.getHyperlink() HSLFHyperlink -HSLFGroupShape.getHyperlink() -Returns null - shape groups can't have hyperlinks - +HSLFSimpleShape.getHyperlink() Modified: poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFMasterSheet.html URL: http://svn.apache.org/viewvc/poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFMasterSheet.html?rev=1820370=1820369=1820370=diff == --- poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFMasterSheet.html (original) +++ poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFMasterSheet.html Sat Jan 6 02:56:19 2018 @@ -124,8 +124,8 @@ HSLFMasterSheet -HSLFTitleMaster.getMasterSheet() -Returns the slide master for this title master. +HSLFNotes.getMasterSheet() +Return null - Notes Masters are not yet supported @@ -135,21 +135,21 @@ -HSLFMasterSheet -HSLFSlide.getMasterSheet() -Returns master sheet associated with this slide. - - - abstract HSLFMasterSheet HSLFSheet.getMasterSheet() Return the master sheet . + +HSLFMasterSheet +HSLFTitleMaster.getMasterSheet() +Returns the slide master for this title master. + + HSLFMasterSheet -HSLFNotes.getMasterSheet() -Return null - Notes Masters are not yet supported +HSLFSlide.getMasterSheet() +Returns master sheet associated with this slide. Modified: poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFPictureShape.html URL: http://svn.apache.org/viewvc/poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFPictureShape.html?rev=1820370=1820369=1820370=diff == --- poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFPictureShape.html (original) +++ poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFPictureShape.html Sat Jan 6 02:56:19 2018 @@ -139,15 +139,15 @@ HSLFPictureShape -HSLFSheet.createPicture(PictureDatapictureData) +HSLFGroupShape.createPicture(PictureDatapictureData) HSLFPictureShape -HSLFShapeContainer.createPicture(PictureDatapictureData) +HSLFSheet.createPicture(PictureDatapictureData) HSLFPictureShape -HSLFGroupShape.createPicture(PictureDatapictureData) +HSLFShapeContainer.createPicture(PictureDatapictureData) Modified: poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFShape.html URL: http://svn.apache.org/viewvc/poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFShape.html?rev=1820370=1820369=1820370=diff == --- poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFShape.html (original) +++ poi/site/publish/apidocs/org/apache/poi/hslf/usermodel/class-use/HSLFShape.html Sat Jan 6 02:56:19 2018 @@ -326,21 +326,21 @@ java.util.ListHSLFShape -HSLFSheet.getShapes() -Returns all shapes contained in this Sheet - +HSLFGroupShape.getShapes() java.util.ListHSLFShape -HSLFGroupShape.getShapes() +HSLFSheet.getShapes() +Returns all shapes contained in this Sheet + java.util.IteratorHSLFShape -HSLFSheet.iterator() +HSLFGroupShape.iterator() java.util.IteratorHSLFShape -HSLFGroupShape.iterator() +HSLFSheet.iterator() @@ -353,14 +353,14 @@ void
svn commit: r1820370 [16/23] - in /poi/site: publish/apidocs/ publish/apidocs/org/apache/poi/class-use/ publish/apidocs/org/apache/poi/common/usermodel/fonts/ publish/apidocs/org/apache/poi/common/use
Modified: poi/site/publish/apidocs/org/apache/poi/util/class-use/Internal.html URL: http://svn.apache.org/viewvc/poi/site/publish/apidocs/org/apache/poi/util/class-use/Internal.html?rev=1820370=1820369=1820370=diff == --- poi/site/publish/apidocs/org/apache/poi/util/class-use/Internal.html (original) +++ poi/site/publish/apidocs/org/apache/poi/util/class-use/Internal.html Sat Jan 6 02:56:19 2018 @@ -1783,14 +1783,14 @@ for streaming/read-only processing of xl int -FibRgLw97AbstractType.getCbMac() -Specifies the count of bytes of those written to the WordDocument stream of the file that have any meaning. +FibRgLw95AbstractType.getCbMac() +Get the cbMac field for the FibRgLw95 record. int -FibRgLw95AbstractType.getCbMac() -Get the cbMac field for the FibRgLw95 record. +FibRgLw97AbstractType.getCbMac() +Specifies the count of bytes of those written to the WordDocument stream of the file that have any meaning. @@ -1837,62 +1837,62 @@ for streaming/read-only processing of xl int -FibRgLw97AbstractType.getCcpAtn() -A signed integer that specifies the count of CPs in the comment subdocument. +FibRgLw95AbstractType.getCcpAtn() +Get the ccpAtn field for the FibRgLw95 record. int -FibRgLw95AbstractType.getCcpAtn() -Get the ccpAtn field for the FibRgLw95 record. +FibRgLw97AbstractType.getCcpAtn() +A signed integer that specifies the count of CPs in the comment subdocument. int -FibRgLw97AbstractType.getCcpEdn() -A signed integer that specifies the count of CPs in the endnote subdocument. +FibRgLw95AbstractType.getCcpEdn() +Get the ccpEdn field for the FibRgLw95 record. int -FibRgLw95AbstractType.getCcpEdn() -Get the ccpEdn field for the FibRgLw95 record. +FibRgLw97AbstractType.getCcpEdn() +A signed integer that specifies the count of CPs in the endnote subdocument. int -FibRgLw97AbstractType.getCcpFtn() -A signed integer that specifies the count of CPs in the footnote subdocument. +FibRgLw95AbstractType.getCcpFtn() +Get the ccpFtn field for the FibRgLw95 record. int -FibRgLw95AbstractType.getCcpFtn() -Get the ccpFtn field for the FibRgLw95 record. +FibRgLw97AbstractType.getCcpFtn() +A signed integer that specifies the count of CPs in the footnote subdocument. int -FibRgLw97AbstractType.getCcpHdd() -A signed integer that specifies the count of CPs in the header subdocument. +FibRgLw95AbstractType.getCcpHdd() +Get the ccpHdd field for the FibRgLw95 record. int -FibRgLw95AbstractType.getCcpHdd() -Get the ccpHdd field for the FibRgLw95 record. +FibRgLw97AbstractType.getCcpHdd() +A signed integer that specifies the count of CPs in the header subdocument. int -FibRgLw97AbstractType.getCcpHdrTxbx() -A signed integer that specifies the count of CPs in the textbox subdocument of the header. +FibRgLw95AbstractType.getCcpHdrTxbx() +Get the ccpHdrTxbx field for the FibRgLw95 record. int -FibRgLw95AbstractType.getCcpHdrTxbx() -Get the ccpHdrTxbx field for the FibRgLw95 record. +FibRgLw97AbstractType.getCcpHdrTxbx() +A signed integer that specifies the count of CPs in the textbox subdocument of the header. @@ -1903,26 +1903,26 @@ for streaming/read-only processing of xl int -FibRgLw97AbstractType.getCcpText() -A signed integer that specifies the count of CPs in the main document. +FibRgLw95AbstractType.getCcpText() +Get the ccpText field for the FibRgLw95 record. int -FibRgLw95AbstractType.getCcpText() -Get the ccpText field for the FibRgLw95 record. +FibRgLw97AbstractType.getCcpText() +A signed integer that specifies the count of CPs in the main document. int -FibRgLw97AbstractType.getCcpTxbx() -A signed integer that specifies the count of CPs in the textbox subdocument of the main document. +FibRgLw95AbstractType.getCcpTxbx() +Get the ccpTxbx field for the FibRgLw95 record. int -FibRgLw95AbstractType.getCcpTxbx() -Get the ccpTxbx field for the FibRgLw95 record. +FibRgLw97AbstractType.getCcpTxbx() +A signed integer that specifies the count of CPs in the textbox subdocument of the main document. @@ -2173,14 +2173,14 @@ for streaming/read-only processing of xl DateAndTime -PAPAbstractType.getDttmPropRMark() -Get the dttmPropRMark field for the PAP record. +CHPAbstractType.getDttmPropRMark() +Date/time at which properties of this were changed for this run of text by the author. DateAndTime -CHPAbstractType.getDttmPropRMark() -Date/time at which properties of this were changed for this run of text by the author. +PAPAbstractType.getDttmPropRMark() +Get the dttmPropRMark field for the PAP record. @@ -2650,17 +2650,17 @@ for streaming/read-only processing of xl -int -LFOLVLBaseAbstractType.getFlags() -Get the flags field for the LFOLVLBase record. - - - short FSPAAbstractType.getFlags() Get the flags field for the FSPA record. + +int +LFOLVLBaseAbstractType.getFlags() +Get the flags