*/
protected synchronized TestEnvironment createTestEnvironment
(TestParameters Param, PrintWriter log) {
XSpreadsheet oSheet=null;
XChartDocument xChartDoc=null;
XDiagram oObj = null;
System.out.println("Getting spreadsheet") ;
XSpreadsheets oSheets = xSheetDoc.getSheets() ;
XIndexAccess oIndexSheets = (XIndexAccess)
UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
try {
oSheet = (XSpreadsheet) AnyConverter.toObject(
new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
} catch(com.sun.star.lang.WrappedTargetException e) {
e.printStackTrace(log);
throw new StatusException("Couldn't get sheet", e);
} catch(com.sun.star.lang.IndexOutOfBoundsException e) {
e.printStackTrace(log);
throw new StatusException("Couldn't get sheet", e);
} catch(com.sun.star.lang.IllegalArgumentException e) {
e.printStackTrace(log);
throw new StatusException("Couldn't get sheet", e);
}
log.println("Creating the Header") ;
insertIntoCell(1,0,"JAN",oSheet,"");
insertIntoCell(2,0,"FEB",oSheet,"");
insertIntoCell(3,0,"MAR",oSheet,"");
insertIntoCell(4,0,"APR",oSheet,"");
insertIntoCell(5,0,"MAI",oSheet,"");
insertIntoCell(6,0,"JUN",oSheet,"");
insertIntoCell(7,0,"JUL",oSheet,"");
insertIntoCell(8,0,"AUG",oSheet,"");
insertIntoCell(9,0,"SEP",oSheet,"");
insertIntoCell(10,0,"OCT",oSheet,"");
insertIntoCell(11,0,"NOV",oSheet,"");
insertIntoCell(12,0,"DEC",oSheet,"");
insertIntoCell(13,0,"SUM",oSheet,"");
log.println("Fill the lines");
insertIntoCell(0,1,"Smith",oSheet,"");
insertIntoCell(1,1,"42",oSheet,"V");
insertIntoCell(2,1,"58.9",oSheet,"V");
insertIntoCell(3,1,"-66.5",oSheet,"V");
insertIntoCell(4,1,"43.4",oSheet,"V");
insertIntoCell(5,1,"44.5",oSheet,"V");
insertIntoCell(6,1,"45.3",oSheet,"V");
insertIntoCell(7,1,"-67.3",oSheet,"V");
insertIntoCell(8,1,"30.5",oSheet,"V");
insertIntoCell(9,1,"23.2",oSheet,"V");
insertIntoCell(10,1,"-97.3",oSheet,"V");
insertIntoCell(11,1,"22.4",oSheet,"V");
insertIntoCell(12,1,"23.5",oSheet,"V");
insertIntoCell(13,1,"=SUM(B2:M2)",oSheet,"");
insertIntoCell(0,2,"Jones",oSheet,"");
insertIntoCell(1,2,"21",oSheet,"V");
insertIntoCell(2,2,"40.9",oSheet,"V");
insertIntoCell(3,2,"-57.5",oSheet,"V");
insertIntoCell(4,2,"-23.4",oSheet,"V");
insertIntoCell(5,2,"34.5",oSheet,"V");
insertIntoCell(6,2,"59.3",oSheet,"V");
insertIntoCell(7,2,"27.3",oSheet,"V");
insertIntoCell(8,2,"-38.5",oSheet,"V");
insertIntoCell(9,2,"43.2",oSheet,"V");
insertIntoCell(10,2,"57.3",oSheet,"V");
insertIntoCell(11,2,"25.4",oSheet,"V");
insertIntoCell(12,2,"28.5",oSheet,"V");
insertIntoCell(13,2,"=SUM(B3:M3)",oSheet,"");
insertIntoCell(0,3,"Brown",oSheet,"");
insertIntoCell(1,3,"31.45",oSheet,"V");
insertIntoCell(2,3,"-20.9",oSheet,"V");
insertIntoCell(3,3,"-117.5",oSheet,"V");
insertIntoCell(4,3,"23.4",oSheet,"V");
insertIntoCell(5,3,"-114.5",oSheet,"V");
insertIntoCell(6,3,"115.3",oSheet,"V");
insertIntoCell(7,3,"-171.3",oSheet,"V");
insertIntoCell(8,3,"89.5",oSheet,"V");
insertIntoCell(9,3,"41.2",oSheet,"V");
insertIntoCell(10,3,"71.3",oSheet,"V");
insertIntoCell(11,3,"25.4",oSheet,"V");
insertIntoCell(12,3,"38.5",oSheet,"V");
insertIntoCell(13,3,"=SUM(A4:L4)",oSheet,"");
// insert a chart
Rectangle oRect = new Rectangle(500, 3000, 25000, 11000);
XCellRange oRange = (XCellRange)
UnoRuntime.queryInterface(XCellRange.class, oSheet);
XCellRange myRange = oRange.getCellRangeByName("A1:N4");
XCellRangeAddressable oRangeAddr = (XCellRangeAddressable)
UnoRuntime.queryInterface(XCellRangeAddressable.class, myRange);
CellRangeAddress myAddr = oRangeAddr.getRangeAddress();
CellRangeAddress[] oAddr = new CellRangeAddress[1];
oAddr[0] = myAddr;
XTableChartsSupplier oSupp = (XTableChartsSupplier)
UnoRuntime.queryInterface(XTableChartsSupplier.class, oSheet);
log.println("Insert Chart");
XTableCharts oCharts = oSupp.getCharts();
if (!oCharts.hasByName("ChXDiagram")) {
oCharts.addNewByName("ChXDiagram", oRect, oAddr, true, true);
}
// get the TableChart
XTableChart oChart = null;
try {
oChart = (XTableChart) AnyConverter.toObject(
new Type(XTableChart.class),((XNameAccess)
UnoRuntime.queryInterface(
XNameAccess.class, oCharts)).getByName("ChXDiagram"));
} catch (com.sun.star.lang.WrappedTargetException e) {
e.printStackTrace(log);
throw new StatusException("Couldn't get TableChart", e);
} catch (com.sun.star.container.NoSuchElementException e) {
e.printStackTrace(log);
throw new StatusException("Couldn't get TableChart", e);
} catch (com.sun.star.lang.IllegalArgumentException e) {
e.printStackTrace(log);
throw new StatusException("Couldn't get TableChart", e);
}
XEmbeddedObjectSupplier oEOS = (XEmbeddedObjectSupplier)
UnoRuntime.queryInterface(XEmbeddedObjectSupplier.class, oChart);
XInterface oInt = oEOS.getEmbeddedObject();
xChartDoc = (XChartDocument)
UnoRuntime.queryInterface(XChartDocument.class,oInt);
oObj = (XDiagram) xChartDoc.getDiagram();
log.println( "creating a new environment for chartdocument object" );
TestEnvironment tEnv = new TestEnvironment( oObj );
log.println( "adding ChartDocument as mod relation to environment" );
tEnv.addObjRelation("CHARTDOC", xChartDoc);
XChartDataArray da = (XChartDataArray)
UnoRuntime.queryInterface(XChartDataArray.class, xChartDoc.getData());
int cols = da.getColumnDescriptions().length;
int rows = da.getRowDescriptions().length;
tEnv.addObjRelation("ROWAMOUNT", new Integer(rows));
tEnv.addObjRelation("COLAMOUNT", new Integer(cols));