| How can i add Cube with ReportDesignHandle [message #365254] |
Mon, 22 September 2008 10:39 |
luo Missing name Messages: 1 Registered: July 2009 |
Junior Member |
|
|
Hello everyone,
i want to copy a "Cube" data from a source report to a new report in
program. The code in source.rptdesign is as follows:
....
<cubes>
<tabular-cube name="Data Cube" id="22883">
<property name="dimensions">
<tabular-dimension name="Group" id="22890">
<property
name="defaultHierarchy">NewTabularHierarchy</property>
<property name="hierarchies">
<tabular-hierarchy name="NewTabularHierarchy"
id="22891">
<property name="levels">
<tabular-level name="RowHeader" id="22892">
<property
name="dataType">string</property>
<property
name="columnName">assetRowHeader</property>
</tabular-level>
</property>
</tabular-hierarchy>
</property>
</tabular-dimension>
<tabular-dimension name="Group1" id="22893">
<property
name="defaultHierarchy">NewTabularHierarchy1</property>
<property name="hierarchies">
<tabular-hierarchy name="NewTabularHierarchy1"
id="22894">
<property name="levels">
<tabular-level name="CurrencyColHeader"
id="22895">
<property
name="dataType">string</property>
<property
name="columnName">sortedCurrencyColHeader</property>
</tabular-level>
</property>
</tabular-hierarchy>
</property>
</tabular-dimension>
</property>
<property name="dataSet">CurrencyAssetGrouped</property>
</tabular-cube>
</cubes>
......
In Program i write as:
DesignConfig config = new DesignConfig();
config.setProperty("BIRT_HOME", resourceBundle.getString("BIRT_HOME"));
Platform.startup(config);
IDesignEngine designEngine=null;
IDesignEngineFactory factory = (IDesignEngineFactory)
Platform.createFactoryObject(IDesignEngineFactory.EXTENSION_ DESIGN_ENGINE_FACTORY);
SessionHandle session= designEngine.newSessionHandle(ULocale.GERMAN);
ReportDesignHandle design= session.createDesign();
....
ReportDesignHandle source = session.openDesign((URL) null, reportStream);
for(Object sourceObjCube:source.getAllCubes()){
CubeHandle sourceCube = (CubeHandle)sourceObjCube;
design.getCubes().add(sourceCube);
}
....
But I have got the error:
Exception in thread "main"
org.eclipse.birt.report.model.api.command.NameException: The name
"RowHeader" duplicates an existing name. Please choose a different name.
at
org.eclipse.birt.report.model.command.NameCommand.checkName( NameCommand.java:184)
at
org.eclipse.birt.report.model.command.NameCommand.addElement (NameCommand.java:199)
....
When I change the name "RowHeader" with another name "RowHeader111",
I also get the error:
Exception in thread "main"
org.eclipse.birt.report.model.api.command.NameException: The name
"RowHeader111" duplicates an existing name. Please choose a different name.
at
org.eclipse.birt.report.model.command.NameCommand.checkName( NameCommand.java:184)
at
org.eclipse.birt.report.model.command.NameCommand.addElement (NameCommand.java:199)
....
How can I copy the "Cube" data in my new report?
Thanks a lot.
|
|
|
Powered by
FUDForum. Page generated in 0.01786 seconds