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;
*/
public void setExternalId(String id) {
getCTChartSpace().addNewExternalData().setId(id);
+ CTChartSpace ctChartSpace = getCTChartSpace();
+ CTExternalData externalData = ctChartSpace.isSetExternalData()
+ ? ctChartSpace.getExternalData()
+ : ctChartSpace.addNewExternalData();
+ externalData.setId(id);
}
/**
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() {
return null;
}
};
-
- assertNotNull(xddfChart.getCTPlotArea());
+ return xddfChart;
}
}
\ No newline at end of file