Summary:
Current
DocumentUtil used three phases to write out the document. 1. clone the design
to get the new design; 2. localize required elements to new design; 3. serialize
out the new design.
The
phase 1 and 2 can be combined into one. And the call to clone() is not
necessary. After this enhancement: 1. visit nodes on the design to create new
design 2.serialize the new design. Another enhancement is that if the design
has no libraries, directly serialize the design file. There is no need to clone
the design file and localize required information.
Bugzilla Bug (s) Resolved: 155501
Description:
1. Created ReportDesignSerializer to apply
visitor pattern to the design.
2. Revised DocumentUtil to use
ReportDesignSerializer.
3. Added one method in DesignElement for
performance issue.
4. Updated test cases.
5. Model test cases require more than 512m
now. Revised BuildCore.xml and BuildModel.xml to allocate more memory.
Tests Description : Junit test.
Files Edited:
"/org.eclipse.birt.report.model/test/org/eclipse/birt/report/model/writer/input/LibraryCompoundElement.xml"
"/org.eclipse.birt.report.model/test/org/eclipse/birt/report/model/writer/golden/DocumentUtilTest_golden.xml"
"/org.eclipse.birt.report.model/test/org/eclipse/birt/report/model/writer/golden/DocumentUtilTest_golden_2.xml"
"/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/api/util/DocumentUtil.java"
"/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/core/DesignElement.java"
"/org.eclipse.birt.report.model/BuildModel.xml"
"/org.eclipse.birt.core/BuildCore.xml"
Files Added:
"/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/util/ReportDesignSerializer.java"
Files Removed:
Notes to Build Team:
Notes
to Developers:
Notes to QA:
Quotes
to Documentation:
Rick Lu
Actuate Software Shanghai
Center
Tel: (86)21-58826388
Fax: (86)21-58826002
Email: rlu@xxxxxxxxxxx