mirror of https://github.com/apache/poi.git
Use the existing CTExternalData element
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1880707 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
edf41ca4d5
commit
eb850f02de
|
@ -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.CTChartSpace;
|
||||||
import org.openxmlformats.schemas.drawingml.x2006.chart.CTDateAx;
|
import org.openxmlformats.schemas.drawingml.x2006.chart.CTDateAx;
|
||||||
import org.openxmlformats.schemas.drawingml.x2006.chart.CTDoughnutChart;
|
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.CTLine3DChart;
|
||||||
import org.openxmlformats.schemas.drawingml.x2006.chart.CTLineChart;
|
import org.openxmlformats.schemas.drawingml.x2006.chart.CTLineChart;
|
||||||
import org.openxmlformats.schemas.drawingml.x2006.chart.CTPie3DChart;
|
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) {
|
public void setExternalId(String id) {
|
||||||
getCTChartSpace().addNewExternalData().setId(id);
|
getCTChartSpace().addNewExternalData().setId(id);
|
||||||
|
CTChartSpace ctChartSpace = getCTChartSpace();
|
||||||
|
CTExternalData externalData = ctChartSpace.isSetExternalData()
|
||||||
|
? ctChartSpace.getExternalData()
|
||||||
|
: ctChartSpace.addNewExternalData();
|
||||||
|
externalData.setId(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -21,13 +21,34 @@ package org.apache.poi.xddf.usermodel.chart;
|
||||||
import org.apache.poi.ooxml.POIXMLFactory;
|
import org.apache.poi.ooxml.POIXMLFactory;
|
||||||
import org.apache.poi.ooxml.POIXMLRelation;
|
import org.apache.poi.ooxml.POIXMLRelation;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
import org.openxmlformats.schemas.drawingml.x2006.chart.CTChartSpace;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
|
||||||
public class TestXDDFChart {
|
public class TestXDDFChart {
|
||||||
@Test
|
@Test
|
||||||
public void testConstruct() {
|
public void testConstruct() {
|
||||||
// minimal test to cause ooxml-lite to include all the classes in poi-ooxml-schemas
|
// 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() {
|
XDDFChart xddfChart = new XDDFChart() {
|
||||||
@Override
|
@Override
|
||||||
protected POIXMLRelation getChartRelation() {
|
protected POIXMLRelation getChartRelation() {
|
||||||
|
@ -44,7 +65,6 @@ public class TestXDDFChart {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
return xddfChart;
|
||||||
assertNotNull(xddfChart.getCTPlotArea());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue