Hello
@ll,<br />
<br />
I am currently testing the creation of reports in BIRT 2.2.2 and their deployment on a Tomcat application Server with Standard BIRT 2.2.2 Runtime environment. <br />
Therefore I installed a 6.0.16 (using JDK jdk1.6.0_04 on Win XP) and deployed the Webapplikation WebViewerExample within it. That works pretty good, if i am using "normal" reports.<br />
<br />
My problem is a special requirement I got for the project: It has to be possible to sort the columns of the report table dynamically asc/desc via a click on the row headers. I found a good article about how to realize this on the web:<br />
<a class='bbc_url' href='
http://digiassn.blogspot.com/2007/05/birt-strong-suit-is-in-realm-of-online.html'>http://digiassn.blogspot.com/2007/05/birt-strong-suit-is-in-realm-of-online.html</a><br />
<br />
This works pretty good in the Eclipse testing environment, if you use the version that has been worked out in the comments of this article

<br />
<br />
My problem is, that it stops to work, if you deploy the report inside the WebViewer on my tomcat. When I am calling the report there (note: it got a onPrepare Script on the report table as shown below) or if I click on the row header (that should normally do the sorting via a hyperlink that links back to the report with changed sorting parameters) the following exception is written to the tomcat console/log:<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
SEVERE: org/eclipse/birt/report/engine/script/internal/element/SortConditionImpl
java.lang.NoClassDefFoundError: org/eclipse/birt/report/engine/script/internal/element/SortConditionImpl
at org.eclipse.birt.report.engine.api.script.element.StructureScriptAPIFactory.createSortCondition(StructureScriptAPIFactory.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
...
</pre>
<br />
I guess this relates to my Script in the onPrepare of the report table:<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
sortCondition = Packages.org.eclipse.birt.report.engine.api.script.element.StructureScriptAPIFactory.createSortCondition();
if(params["SortingRow"].value != null && params["SortingOrder"].value!=null)
{
sortCondition.setKey("row[""+params["SortingRow"].value+""]");
sortCondition.setDirection(params["SortingOrder"]);
}
else
{
sortCondition.setKey("row["DOMAINNAME"]");
sortCondition.setDirection("desc");
}
this.addSortCondition( Packages.org.eclipse.birt.report.model.api.simpleapi.SimpleElementFactory.getInstance().createSortCondition(sortCondition.getStructure()) );
</pre>
<br />
Can someone help me solving this problem? I just searched for the class that couldn't be found (org/eclipse/birt/report/engine/script/internal/element/SortConditionImpl) and it is available in webappsWebViewerExampleWEB-INFplatformpluginsorg.eclipse.birt.report.engine_2.2.2.r22x_v20080107.jar. The question seems to be: why hasn't it / couldn't it be loaded?<br />
<br />
Thanks in advance<br />
Regards Ronny