瀏覽代碼

Use the existing CTExternalData element

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1880707 13f79535-47bb-0310-9956-ffa450edef68
tags/before_ooxml_3rd_edition
Sayi 3 年之前
父節點
當前提交
eb850f02de

+ 6
- 0
src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java 查看文件

@@ -67,6 +67,7 @@ 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.CTExternalData;
import org.openxmlformats.schemas.drawingml.x2006.chart.CTLine3DChart;
import org.openxmlformats.schemas.drawingml.x2006.chart.CTLineChart;
import org.openxmlformats.schemas.drawingml.x2006.chart.CTPie3DChart;
@@ -1057,6 +1058,11 @@ public abstract class XDDFChart extends POIXMLDocumentPart implements TextContai
*/
public void setExternalId(String id) {
getCTChartSpace().addNewExternalData().setId(id);
CTChartSpace ctChartSpace = getCTChartSpace();
CTExternalData externalData = ctChartSpace.isSetExternalData()
? ctChartSpace.getExternalData()
: ctChartSpace.addNewExternalData();
externalData.setId(id);
}

/**

+ 22
- 2
src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFChart.java 查看文件

@@ -21,13 +21,34 @@ package org.apache.poi.xddf.usermodel.chart;
import org.apache.poi.ooxml.POIXMLFactory;
import org.apache.poi.ooxml.POIXMLRelation;
import org.junit.Test;
import org.openxmlformats.schemas.drawingml.x2006.chart.CTChartSpace;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;

public class TestXDDFChart {
@Test
public void testConstruct() {
// minimal test to cause ooxml-lite to include all the classes in poi-ooxml-schemas
XDDFChart xddfChart = newXDDFChart();

assertNotNull(xddfChart.getCTChartSpace());
assertNotNull(xddfChart.getCTPlotArea());
}

@Test
public void testSetExternalId() {
XDDFChart xddfChart = newXDDFChart();
CTChartSpace ctChartSpace = xddfChart.getCTChartSpace();

xddfChart.setExternalId("rid1");
assertEquals("rid1", ctChartSpace.getExternalData().getId());
xddfChart.setExternalId("rid2");
assertEquals("rid2", ctChartSpace.getExternalData().getId());
}

private XDDFChart newXDDFChart() {
XDDFChart xddfChart = new XDDFChart() {
@Override
protected POIXMLRelation getChartRelation() {
@@ -44,7 +65,6 @@ public class TestXDDFChart {
return null;
}
};

assertNotNull(xddfChart.getCTPlotArea());
return xddfChart;
}
}

Loading…
取消
儲存