It's all about the answers!

Ask a question

Include Java code in BIRT reports


Leonardo Marzo (24964852) | asked Jul 21 '14, 4:55 p.m.
edited Jul 22 '14, 9:10 a.m.
  Hi, 

I´m trying to create a BIRT report that includes Java code. I have followed all the steps in this blog:
https://www.ibm.com/developerworks/community/blogs/JazzyTunes/entry/creating_birt_reports_for_rtc_which_invokes_java_code?maxresults=15&lang=en

However, when I restart the server, I see the following error in the ccm log:
[       Launch callback handler]  WARN eam.repository.provision.internal.ProvisionService  - CRJZS0383E The "com.ibm.team.reports.service.birt.myjavacode" bundle could not be resolved.

As a consequence, I´m not able to execute the Java code from the BIRT report.

I´m using CLM 5.0. I don't know what I´m doing wrong. Those steps also apply for 5.0?
(same issue with 4.0.5)

This is my configuration (ignore the <o:p> tags and some others that were added by the wiki editor):

Fragment MANIFEST.MF
------------------------------------

Manifest-Version: 1.0

Bundle-ManifestVersion: 2

Bundle-Name: com.ibm.team.reports.service.birt.myjavacode

Bundle-SymbolicName: com.ibm.team.reports.service.birt.myjavacode;singleton:=true

Bundle-Version: 1.0.0.qualifier

Fragment-Host: com.ibm.team.reports.service.birt;bundle-version="[2.2.3000.v20131217_0302,3.0.0)"

Bundle-RequiredExecutionEnvironment: JavaSE-1.6


feature.xml

--------------

<?xml version="1.0" encoding="UTF-8"?>

<feature

      id="com.ibm.team.reports.service.birt.myjavacode.feature"

      label="com.ibm.team.reports.service.birt.myjavacode.feature"

      version="1.0.0.qualifier">

    <plugin

         id="com.ibm.team.reports.service.birt.myjavacode"

         download-size="0"

         install-size="0"

         version="1.0.0.qualifier"

         fragment="true"

         unpack="false"/>

 </feature>

  

Site.xml

-------------------

<?xml version="1.0" encoding="UTF-8"?>

<site>

   <feature url="features/com.ibm.team.reports.service.birt.myjavacode.feature_1.0.0.201407211705.jar" id="com.ibm.team.reports.service.birt.myjavacode.feature" version="1.0.0.201407211705"/>

</site>

provision file (myjavacode_provision.ini) 

url=file:ccm/sites/myjavacode-update-site

featureid=com.ibm.team.reports.service.birt.myjavacode.feature


I´ll appreciate your help

3 answers



permanent link
Donald Nong (14.5k614) | answered Jul 22 '14, 3:01 a.m.
The deployment of the update site may not be successful. Check the install.log file which can be found under the working folder of the CCM application.
For WAS:
<wasprofile>/temp/<node>/<server>/ccm/ccm.war/eclipse/configuration/org.eclipse.osgi/bundles/21/data
For Tomcat:
/opt/IBM/JazzTeamServer/server/tomcat/work/Catalina/localhost/ccm/eclipse/configuration/org.eclipse.osgi/bundles/22/data
You may get a number different from 21 or 22, just do a search under "bundles".

Comments
Leonardo Marzo commented Jul 22 '14, 8:19 a.m. | edited Jul 22 '14, 9:08 a.m.
 Thanks for the answer Donald. I see the following lines in the install.log:

The profile install from "file:ccm/sites/myjavacode-update-site" was started at "Mon Jul 21 18:25:34 ART 2014"..

This feature is being installed: "com.ibm.team.reports.service.birt.myjavacode.feature_1.0.0.201407211822".

Installing bundle from the URL
"file:/C%3a/user/rtc/Extend/RTC405~1/installs/JAZZTE~1/server/conf/ccm/sites/myjavacode-update-site/plugins/com.ibm.team.reports.service.birt.myjavacode_1.0.0.201407211822.jar".

And then when the bundles are starting:
CRJZS0383E The "com.ibm.team.reports.service.birt.myjavacode" bundle could not be resolved.





permanent link
Leonardo Marzo (24964852) | answered Jul 22 '14, 3:58 p.m.
edited Jul 22 '14, 3:59 p.m.
Well, a bit closer. The problem was the version of the fragment's hosting plugin com.ibm.team.reports.service.birt. I was using 2.2.3000.v20131217_0302, however the version deployed in the server is 2.2.2000.v20131010_0700".

Now I dont' see any errors in the provision status, however the script fails when tries to invoke that Java code. This is the script I´m using:
importPackage(Packages.com.arris.mypackage);
index = 0;
var myJavaObj = new Packages.com.arris.mypackage.MyJavaClass();

Is there any way to verify that the Fragment was included properly in the BIRT plugin? 

permanent link
Leonardo Marzo (24964852) | answered Jul 22 '14, 4:35 p.m.
 There we go! The problem is that the script fails in Preview mode, but it works when you create the Resource and then create a report from that resource. 

Hope it can help somebody else. 

Thanks, 

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.