Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » BIRT » BIRT Integration(BIRT 3.7 integration with RAP runtime 1.4)
BIRT Integration [message #694981] Sun, 10 July 2011 09:57 Go to next message
Sid Nepomuceno is currently offline Sid Nepomuceno
Messages: 7
Registered: July 2011
Junior Member
Hi,

Can someone direct me on how to integrate the new BIRT 3.7 with RAP runtime 1.40.

In the past I could integrate BIRT 2.3.2 with RAP 1.40M5 using some steps from some blog resources like

"//blog.tim-pietrusky.de/2009/rich-ajax-platform-rap/integrating-birt-into-rap-applications/".

I noticed that the BIRT runtime plugins are all bundled into one - "org.eclipse.birt.runtime_3.7.0.v20110615-1818" with restricted access.

I would appreciate if someone has already came up with solution/steps to share so I would not dive in due to lack of time to do it. I've been using embedded Report Engine API and Open Data Access (ODA) extension API in my code.

Thanks,

Sid
Re: BIRT Integration [message #695598 is a reply to message #694981] Tue, 12 July 2011 01:26 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason Weathersby
Messages: 9167
Registered: July 2009
Senior Member

Sid,

You can still get the plugins in normal format from the allinone
download or framework download. If you use the runtime download you
would call BIRT by adding the jars to your classpath. My guess is you
are going to want to continue to use the plugins.

Jason

On 7/10/2011 9:57 AM, Sid Nepomuceno wrote:
> Hi,
>
> Can someone direct me on how to integrate the new BIRT 3.7 with RAP
> runtime 1.40.
>
> In the past I could integrate BIRT 2.3.2 with RAP 1.40M5 using some
> steps from some blog resources like
> "//blog.tim-pietrusky.de/2009/rich-ajax-platform-rap/integrating-birt-into-rap-applications/".
>
> I noticed that the BIRT runtime plugins are all bundled into one -
> "org.eclipse.birt.runtime_3.7.0.v20110615-1818" with restricted access.
>
> I would appreciate if someone has already came up with solution/steps to
> share so I would not dive in due to lack of time to do it. I've been
> using embedded Report Engine API and Open Data Access (ODA) extension
> API in my code.
>
> Thanks,
>
> Sid
>
Re: BIRT Integration [message #696143 is a reply to message #695598] Wed, 13 July 2011 07:04 Go to previous messageGo to next message
Sid Nepomuceno is currently offline Sid Nepomuceno
Messages: 7
Registered: July 2011
Junior Member
Thanks Jason.

I am able to add the BIRT plugins from the framework download to that of the runtime download.
There are still a lot of unresolved dependencies when mixing the 2 runtimes (BIRT 3.7 & RAP 1.4) though.

Do you know of a group or individual who can already provide the right combination of plugins?
I am just avoiding wasting too much time doing "trial and error" mixes if this is already available.

- Sid
Re: BIRT Integration [message #696320 is a reply to message #696143] Wed, 13 July 2011 12:21 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason Weathersby
Messages: 9167
Registered: July 2009
Senior Member

Sid

You should either use the framework or the runtime download, not both.
I know there where some RAP examples on Birt-exchange.org, but none that
i know of that show 3.7. I have a RCP app that I call the report engine
and the viewer that I built for 2.6 and I just opened the source in BIRT
3.7 allinone and ran the code and it worked fine. I did not need to
make any changes. If you want to look at the examples. Take a look at
this download.
http://www.birt-exchange.org/org/devshare/deploying-birt-reports/1344-eclipsecon-2011-api-examples/

Jason


On 7/13/2011 7:04 AM, Sid Nepomuceno wrote:
> Thanks Jason.
> I am able to add the BIRT plugins from the framework download to that of
> the runtime download.
> There are still a lot of unresolved dependencies when mixing the 2
> runtimes (BIRT 3.7 & RAP 1.4) though.
>
> Do you know of a group or individual who can already provide the right
> combination of plugins?
> I am just avoiding wasting too much time doing "trial and error" mixes
> if this is already available.
>
> - Sid
Re: BIRT Integration [message #697628 is a reply to message #696320] Sun, 17 July 2011 10:04 Go to previous messageGo to next message
Sid Nepomuceno is currently offline Sid Nepomuceno
Messages: 7
Registered: July 2011
Junior Member
Hi Jason,

I have found BIRT 2.6.2 still to be a better fit to RAP runtime 1.40 having no incompatibility in mixing the plugins (all ACTIVE/RESOLVED status). However I'm getting this problem at runtime which you might have already encountered in your past codes -

java.lang.NoClassDefFoundError: com/ibm/icu/util/ULocale
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:687)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:685)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:157)
at net.thmb.pmt.rap.Application.start(Application.java:23)
at org.eclipse.rap.ui.internal.application.EntrypointApplicationWrapper.createUI(EntrypointApplicationWrapper.java:27)
at org.eclipse.rwt.internal.lifecycle.EntryPointManager.createUI(EntryPointManager.java:73)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:211)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:88)
at java.lang.Thread.run(Unknown Source)
at org.eclipse.rwt.internal.lifecycle.UIThread.run(UIThread.java:102)

Despite modifying the access rules for this plugin - com.ibm.icu, I'm still getting the same error when I run my app. Hope you could shed light on this.


Thanks,

Sid
Re: BIRT Integration [message #697978 is a reply to message #697628] Mon, 18 July 2011 10:19 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason Weathersby
Messages: 9167
Registered: July 2009
Senior Member

Sid,

Can you give some more details on how you are integrating the two? Do
you have a small app example that I could work with?

Jason

On 7/17/2011 10:04 AM, Sid Nepomuceno wrote:
> Hi Jason,
>
> I have found BIRT 2.6.2 still to be a better fit to RAP runtime 1.40
> having no incompatibility in mixing the plugins (all ACTIVE/RESOLVED
> status). However I'm getting this problem at runtime which you might
> have already encountered in your past codes -
>
> java.lang.NoClassDefFoundError: com/ibm/icu/util/ULocale
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:687)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:685)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:157)
> at net.thmb.pmt.rap.Application.start(Application.java:23)
> at
> org.eclipse.rap.ui.internal.application.EntrypointApplicationWrapper.createUI(EntrypointApplicationWrapper.java:27)
>
> at
> org.eclipse.rwt.internal.lifecycle.EntryPointManager.createUI(EntryPointManager.java:73)
>
> at
> org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:211)
>
> at
> org.eclipse.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:88)
>
> at java.lang.Thread.run(Unknown Source)
> at org.eclipse.rwt.internal.lifecycle.UIThread.run(UIThread.java:102)
>
> Despite modifying the access rules for this plugin - com.ibm.icu, I'm
> still getting the same error when I run my app. Hope you could shed
> light on this.
>
>
> Thanks,
>
> Sid
>
Re: BIRT Integration [message #699815 is a reply to message #697978] Fri, 22 July 2011 07:22 Go to previous messageGo to next message
Sid Nepomuceno is currently offline Sid Nepomuceno
Messages: 7
Registered: July 2011
Junior Member
Hi Jason,

Below are the steps I used to integrate the two runtime plugins and a small app ...

A. Install a RAP runtime target platform with compatible BIRT runtime
1. Download RAP runtime v1.4
2. Download BIRT runtime 2.6.2
3. Remove older versions of conflicting plugins such as:
org.eclipse.core.contenttype
org.eclipse.core.expressions
org.eclipse.core.jobs
org.eclipse.core.runtime
org.eclipse.equinox.app
org.eclipse.equinox.common
org.eclipse.equinox.preferences
org.eclipse.equinox.registry
org.eclipse.osgi.services
org.eclipse.osgi
org.eclipse.update.configurator

4. All batik plugins and org.w3c.dom.svg plugin's manifest files should be fixed.
In the Manifest Require-bundle, change 'version' to 'bundle-version'

B. Create a new plug-in project using a demo wizard - RAP Application with a view

1. Under Dependencies tab of Manifest, add 'org.eclipse.birt.report.engine'
2. Update the Application class to include the following:

public Object start(IApplicationContext context) throws Exception {
if(ApplicationManager.getInstance().initialize() == 0) System.exit(0);
Display display = PlatformUI.createDisplay();
WorkbenchAdvisor advisor = new ApplicationWorkbenchAdvisor();
return PlatformUI.createAndRunWorkbench(display, advisor);
}

3. This will instantiate a singleton which will initially call the BIRT report engine. Create a class called ApplicationManager (see below)


import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;

import org.eclipse.birt.report.engine.api.EngineConfig;
import org.eclipse.birt.report.engine.api.IReportEngine;
import org.eclipse.birt.report.engine.api.IReportEngineFactory;


public class ApplicationManager {
private static final ApplicationManager INSTANCE = new ApplicationManager();
private static Map<String, Object> configMap;
private static IReportEngine rptEngine = null;
private static EngineConfig rptConfig = null;

private ApplicationManager(){
configMap = new HashMap<String, Object>();
}

public static ApplicationManager getInstance(){
return INSTANCE;
}

public int initialize(){
setReportConfig();
return 1;
}

public static Map<String, Object> getConfigMap() {
return configMap;
}

private void setReportConfig() {
try{
rptConfig = new EngineConfig( );
rptConfig.setBIRTHome("");
rptConfig.setLogConfig(null, Level.OFF);
//rConfig.setResourcePath(resourcePath)
org.eclipse.birt.core.framework.Platform.startup( rptConfig );
IReportEngineFactory factory = (IReportEngineFactory) org.eclipse.birt.core.framework.Platform
.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
rptEngine = factory.createReportEngine(rptConfig);
}catch( Exception e){
e.printStackTrace();
}
}

public static IReportEngine getReportEngine(){
return rptEngine;
}

public static void close(){
rptEngine.destroy();
org.eclipse.birt.core.framework.Platform.shutdown();
}
}

I only show the part of the app where the BIRT report engine is initially called.
The error kicks in immediately. This does not happen in BIRT 2.3.2 which is my working app. This happens in BIRT 2.5.2, 2.6.0, 2.6.2 which I tried.

Thanks,

Sid
Re: BIRT Integration [message #706742 is a reply to message #699815] Sun, 31 July 2011 16:52 Go to previous messageGo to next message
Sid Nepomuceno is currently offline Sid Nepomuceno
Messages: 7
Registered: July 2011
Junior Member
Hi Jason,

Hope the integration steps I have posted to you could recreate the issue on your side. Let me know if it does. So what do you think could possibly cause the 'ULocale class not found' problem?

Regards,

Sid
Re: BIRT Integration [message #707354 is a reply to message #706742] Mon, 01 August 2011 10:22 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason Weathersby
Messages: 9167
Registered: July 2009
Senior Member

Sid,

That class is in the com.ibm.icu_version.jar plugin. Is this plug-in
loaded? Also have you tried using the birt Framework download instead
of the runtime download?

Jason

On 7/31/2011 4:52 PM, Sid Nepomuceno wrote:
> Hi Jason,
>
> Hope the integration steps I have posted to you could recreate the issue
> on your side. Let me know if it does. So what do you think could
> possibly cause the 'ULocale class not found' problem?
>
> Regards,
>
> Sid
Re: BIRT Integration [message #707843 is a reply to message #707354] Tue, 02 August 2011 02:02 Go to previous messageGo to next message
Sid Nepomuceno is currently offline Sid Nepomuceno
Messages: 7
Registered: July 2011
Junior Member
Hi Jason,

There are 2 com.ibm.icu packages -
com.ibm.icu.base_version.jar coming from the RAP plugins, and
com.ibm.icu_version.jar from BIRT
I loaded the latter plugin which contains more packages for BIRT to work.

I will also try to use the BIRT framework download and let you know.

Thanks,

Sid
Re: BIRT Integration [message #713358 is a reply to message #694981] Mon, 08 August 2011 07:42 Go to previous messageGo to next message
Sid Nepomuceno is currently offline Sid Nepomuceno
Messages: 7
Registered: July 2011
Junior Member
Hi Jason,

Just to let you know, I retried running plugins from RAP 1.4 against BIRT 3.7 framework download again. This time I mixed missing plugins from RCP (Indigo Platform itself). My initial testing is very promising. I could run BIRT reports and the ULocale issue is not showing up.

Regards,

Sid
Re: BIRT Integration [message #729542 is a reply to message #713358] Mon, 26 September 2011 09:10 Go to previous messageGo to next message
Bill L is currently offline Bill L
Messages: 1
Registered: September 2011
Junior Member
Hi Sid,

I am attempting to integrate BIRT 3.7 with RAP 1.4 and am having difficulty. Do you have a list of steps or a distribution of the files you used to get this working?

Regards,

Bill
Re: BIRT Integration [message #730316 is a reply to message #694981] Wed, 28 September 2011 03:11 Go to previous messageGo to next message
Beate M is currently offline Beate M
Messages: 6
Registered: September 2011
Junior Member
Hello,

I'm having problems integrating BIRT 3.7 with RAP 1.4, too.
(I've also tested BIRT 3.7 with RCP, getting the same exception,
so I think it might be a bug in BIRT 3.7)

The reports were working with BIRT 2.6.2.


Platform.startup(config) leads to this exception:

org.eclipse.birt.core.exception.BirtException: error.CannotStartupOSGIPlatform
at org.eclipse.birt.core.framework.Platform.startup(Platform.java:81)
at com.example.addressbook.maps.handlers.BirtTest.doTest(BirtTest.java:29)
at com.example.addressbook.maps.handlers.ShowMapsHandler.execute(ShowMapsHandler.java:20)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:820)
at org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:806)
at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:796)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at com.example.addressbook.Application.start(Application.java:20)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Caused by: org.eclipse.birt.core.framework.FrameworkException: Cant register the ExtensionRegistry classpath
at org.eclipse.birt.core.framework.jar.ServiceLauncher.startup(ServiceLauncher.java:99)
at org.eclipse.birt.core.framework.Platform.startup(Platform.java:75)
... 35 more
Caused by: org.eclipse.core.runtime.CoreException: Extension registry provider is already set.
at org.eclipse.core.internal.registry.RegistryProviderFactory.setDefault(RegistryProviderFactory.java:31)
at org.eclipse.core.runtime.RegistryFactory.setDefaultRegistryProvider(RegistryFactory.java:129)
at org.eclipse.birt.core.framework.jar.ServiceLauncher.startup(ServiceLauncher.java:84)
... 36 more


Leaving the line (Platform.startup) out, because it's not needed in a RCP/RAP application
(mentioned here: www.eclipse.org/birt/phoenix/deploy/reportEngineAPI.php#engineconfig),
results in a NullPointerException, because platform is null and the factory used to
create the report engine is therefore also null.

It doesn't matter if I call config.setEngineHome(...) or not.


If I start the application as a java application the report will be generated.


There is already a bug, which might have the same reason: bugs.eclipse.org/bugs/show_bug.cgi?id=351052

And a solved forum entry, but here the mistake was to start the report engine a second time:
www.eclipse.org/forums/index.php/m/727652/
But I'm not able to start it once, because the RAP or RCP platform is already running.


Does someone having the same problem?
Is it a bug in BIRT 3.7?
Or has someone successfully integrated BIRT 3.7 with RAP or RCP?

Hope someone has a solution for me.

Thanks,
Beate

[Updated on: Wed, 28 September 2011 03:20]

Report message to a moderator

Re: BIRT Integration [message #730318 is a reply to message #694981] Wed, 28 September 2011 03:11 Go to previous messageGo to next message
Beate M is currently offline Beate M
Messages: 6
Registered: September 2011
Junior Member
Hello,

I'm having problems integrating BIRT 3.7 with RAP 1.4, too.
(I've also tested BIRT 3.7 with RCP, getting the same exception,
so I think it might be a bug in BIRT 3.7)

The reports were working with BIRT 2.6.2.


Platform.startup(config) leads to this exception:

org.eclipse.birt.core.exception.BirtException: error.CannotStartupOSGIPlatform
at org.eclipse.birt.core.framework.Platform.startup(Platform.java:81)
at com.example.addressbook.maps.handlers.BirtTest.doTest(BirtTest.java:29)
at com.example.addressbook.maps.handlers.ShowMapsHandler.execute(ShowMapsHandler.java:20)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:820)
at org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:806)
at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:796)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at com.example.addressbook.Application.start(Application.java:20)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Caused by: org.eclipse.birt.core.framework.FrameworkException: Cant register the ExtensionRegistry classpath
at org.eclipse.birt.core.framework.jar.ServiceLauncher.startup(ServiceLauncher.java:99)
at org.eclipse.birt.core.framework.Platform.startup(Platform.java:75)
... 35 more
Caused by: org.eclipse.core.runtime.CoreException: Extension registry provider is already set.
at org.eclipse.core.internal.registry.RegistryProviderFactory.setDefault(RegistryProviderFactory.java:31)
at org.eclipse.core.runtime.RegistryFactory.setDefaultRegistryProvider(RegistryFactory.java:129)
at org.eclipse.birt.core.framework.jar.ServiceLauncher.startup(ServiceLauncher.java:84)
... 36 more


Leaving the line (Platform.startup) out, because it's not needed in a RCP/RAP application
(mentioned here: www.eclipse.org/birt/phoenix/deploy/reportEngineAPI.php#engineconfig),
results in a NullPointerException, because platform is null and the factory used to
create the report engine is therefore also null.

It doesn't matter if I call config.setEngineHome(...) or not.


There is already a bug, which might have the same reason: bugs.eclipse.org/bugs/show_bug.cgi?id=351052

And a solved forum entry, but here the mistake was to start the report engine a second time:
www.eclipse.org/forums/index.php/m/727652/
But I'm not able to start it once, because the RAP or RCP platform is already running.


Does someone having the same problem?
Is it a bug in BIRT 3.7?
Or has someone successfully integrated BIRT 3.7 with RAP or RCP?

Hope someone has a solution for me.

Thanks,
Beate
Re: BIRT Integration [message #730491 is a reply to message #730318] Wed, 28 September 2011 10:06 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason Weathersby
Messages: 9167
Registered: July 2009
Senior Member

Beate,

Are you using the BIRT Framework plugins or are you using the POJO
runtime? How are you doing the integration?

Jason

On 9/28/2011 3:11 AM, Beate M wrote:
> Hello,
>
> I'm having problems integrating BIRT 3.7 with RAP 1.4, too.
> (I've also tested BIRT 3.7 with RCP, getting the same exception, so I
> think it might be a bug in BIRT 3.7)
>
> The reports were working with BIRT 2.6.2.
>
>
> Platform.startup(config) leads to this exception:
>
> org.eclipse.birt.core.exception.BirtException:
> error.CannotStartupOSGIPlatform
> at org.eclipse.birt.core.framework.Platform.startup(Platform.java:81)
> at com.example.addressbook.maps.handlers.BirtTest.doTest(BirtTest.java:29)
> at
> com.example.addressbook.maps.handlers.ShowMapsHandler.execute(ShowMapsHandler.java:20)
>
> at
> org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
>
> at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
> at
> org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
>
> at
> org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
>
> at
> org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
>
> at
> org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:820)
>
> at
> org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:806)
>
> at
> org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:796)
>
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
> at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
> at com.example.addressbook.Application.start(Application.java:20)
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
>
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
>
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
> Caused by: org.eclipse.birt.core.framework.FrameworkException: Cant
> register the ExtensionRegistry classpath
> at
> org.eclipse.birt.core.framework.jar.ServiceLauncher.startup(ServiceLauncher.java:99)
>
> at org.eclipse.birt.core.framework.Platform.startup(Platform.java:75)
> ... 35 more
> Caused by: org.eclipse.core.runtime.CoreException: Extension registry
> provider is already set.
> at
> org.eclipse.core.internal.registry.RegistryProviderFactory.setDefault(RegistryProviderFactory.java:31)
>
> at
> org.eclipse.core.runtime.RegistryFactory.setDefaultRegistryProvider(RegistryFactory.java:129)
>
> at
> org.eclipse.birt.core.framework.jar.ServiceLauncher.startup(ServiceLauncher.java:84)
>
> ... 36 more
>
>
> Leaving the line (Platform.startup) out, because it's not needed in a
> RCP/RAP application (mentioned here:
> www.eclipse.org/birt/phoenix/deploy/reportEngineAPI.php#engineconfig),
> results in a NullPointerException, because platform is null and the
> factory used to create the report engine is therefore also null.
>
> It doesn't matter if I call config.setEngineHome(...) or not.
>
>
> There is already a bug, which might have the same reason:
> bugs.eclipse.org/bugs/show_bug.cgi?id=351052
>
> And a solved forum entry, but here the mistake was to start the report
> engine a second time: www.eclipse.org/forums/index.php/m/727652/
> But I'm not able to start it once, because the RAP or RCP platform is
> already running.
>
>
> Does someone having the same problem?
> Is it a bug in BIRT 3.7?
> Or has someone successfully integrated BIRT 3.7 with RAP or RCP?
>
> Hope someone has a solution for me.
>
> Thanks,
> Beate
Re: BIRT Integration [message #730831 is a reply to message #730491] Thu, 29 September 2011 05:57 Go to previous messageGo to next message
Beate M is currently offline Beate M
Messages: 6
Registered: September 2011
Junior Member
Hello Jason,

I used the POJO runtime.

After your post I tried the BIRT Framework plugins. Now it is working.
But to get it working I had to include many plugins (RCP, EMF, etc.) in the target platform.
Most of the plugins aren't needed, if you only want to generate the report with the report engine.
Is there a collection of all plugins I need to do this, or do I have to figure
out myself which plugins are really necessary?

About the POJO runtime:
Is there a way to use the new BIRT 3.7 like the old Version?
So that I download the BIRT runtime, call it from my RAP application and the
report engine runs separately.
(e.g. to use one report engine for several applications)

Regards,
Beate

Jason Weathersby wrote on Wed, 28 September 2011 10:06
Beate,

Are you using the BIRT Framework plugins or are you using the POJO
runtime? How are you doing the integration?

Jason

Re: BIRT Integration [message #730942 is a reply to message #730831] Thu, 29 September 2011 11:07 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason Weathersby
Messages: 9167
Registered: July 2009
Senior Member

Beate,

We do not have a list of plugins for this type of usage and mainly
because so many of the plugins are usage based. I would start with
removing any birt plugin that contains a ui tag. Also remove sample
reports plugin and sample database plugin. I also believe you can
remove all the designer plugins. Next remove emitters that you do not
need and remove data sources that you do not need.

If you want to use the POJO runtime, you will need to include the BIRT
runtime like any other set of jars that are not OSGi based and call the
APIs. In this fashion you will need to do a Platform.startup.

Jason

On 9/29/2011 5:57 AM, Beate M wrote:
> Hello Jason,
>
> I used the POJO runtime.
>
> After your post I tried the BIRT Framework plugins. Now it is working.
> But to get it working I had to include many plugins (RCP, EMF, etc.) in
> the target platform. Most of the plugins aren't needed, if you only want
> to generate the report with the report engine.
> Is there a collection of all plugins I need to do this, or do I have to
> figure out myself which plugins are really necessary?
>
> About the POJO runtime:
> Is there a way to use the new BIRT 3.7 like the old Version?
> So that I download the BIRT runtime, call it from my RAP application and
> the report engine runs separately. (e.g. to use one report engine for
> several applications)
>
> Regards,
> Beate
>
> Jason Weathersby wrote on Wed, 28 September 2011 10:06
>> Beate,
>>
>> Are you using the BIRT Framework plugins or are you using the POJO
>> runtime? How are you doing the integration?
>>
>> Jason
>
>
Re: BIRT Integration [message #731150 is a reply to message #730942] Fri, 30 September 2011 02:54 Go to previous messageGo to next message
Beate M is currently offline Beate M
Messages: 6
Registered: September 2011
Junior Member
Hello Jason,

My first attempt was to use the POJO runtime, I also called Platform.startup,
which leads to the exception in my earlier post.
Right now the solution with the runtime plugins is ok for me,
so I won't investigate this any further until I need it.

Thanks for your help.
Beate

Jason Weathersby wrote on Thu, 29 September 2011 11:07
Beate,

We do not have a list of plugins for this type of usage and mainly
because so many of the plugins are usage based. I would start with
removing any birt plugin that contains a ui tag. Also remove sample
reports plugin and sample database plugin. I also believe you can
remove all the designer plugins. Next remove emitters that you do not
need and remove data sources that you do not need.

If you want to use the POJO runtime, you will need to include the BIRT
runtime like any other set of jars that are not OSGi based and call the
APIs. In this fashion you will need to do a Platform.startup.

Jason

On 9/29/2011 5:57 AM, Beate M wrote:
> Hello Jason,
>
> I used the POJO runtime.
>
> After your post I tried the BIRT Framework plugins. Now it is working.
> But to get it working I had to include many plugins (RCP, EMF, etc.) in
> the target platform. Most of the plugins aren't needed, if you only want
> to generate the report with the report engine.
> Is there a collection of all plugins I need to do this, or do I have to
> figure out myself which plugins are really necessary?
>
> About the POJO runtime:
> Is there a way to use the new BIRT 3.7 like the old Version?
> So that I download the BIRT runtime, call it from my RAP application and
> the report engine runs separately. (e.g. to use one report engine for
> several applications)
>
> Regards,
> Beate
>
> Jason Weathersby wrote on Wed, 28 September 2011 10:06
>> Beate,
>>
>> Are you using the BIRT Framework plugins or are you using the POJO
>> runtime? How are you doing the integration?
>>
>> Jason
>
>

Re: BIRT Integration [message #731177 is a reply to message #731150] Fri, 30 September 2011 03:57 Go to previous messageGo to next message
Beate M is currently offline Beate M
Messages: 6
Registered: September 2011
Junior Member
I meant the solution with the BIRT Framework plugins is ok for me (not runtime plugins)

Beate M wrote on Fri, 30 September 2011 02:54
Hello Jason,

My first attempt was to use the POJO runtime, I also called Platform.startup,
which leads to the exception in my earlier post.
Right now the solution with the runtime plugins is ok for me,
so I won't investigate this any further until I need it.

Thanks for your help.
Beate


Re: BIRT Integration [message #732178 is a reply to message #729542] Tue, 04 October 2011 02:51 Go to previous messageGo to next message
Beate M is currently offline Beate M
Messages: 6
Registered: September 2011
Junior Member
Hello Bill,

I've integrated BIRT 3.7.1 with RAP 1.4.1 using the BIRT framework plugins in the target platform.
Where exactly do you have difficulty?

Regards,
Beate

Bill L wrote on Mon, 26 September 2011 09:10
Hi Sid,

I am attempting to integrate BIRT 3.7 with RAP 1.4 and am having difficulty. Do you have a list of steps or a distribution of the files you used to get this working?

Regards,

Bill

Re: BIRT Integration [message #760057 is a reply to message #732178] Thu, 01 December 2011 01:26 Go to previous messageGo to next message
navnath.gajare is currently offline navnath.gajare
Messages: 2
Registered: December 2011
Junior Member
currently i m using eclipse birt 2.3.2
I want to upgrade it to birt 2.6.2

which is the way...or which are d steps tht i should follow
Re: BIRT Integration [message #760194 is a reply to message #760057] Thu, 01 December 2011 10:06 Go to previous message
Jason Weathersby is currently offline Jason Weathersby
Messages: 9167
Registered: July 2009
Senior Member

Do you mean updating the viewer or the designer?


Jason

On 12/1/2011 1:26 AM, navnath.gajare wrote:
> currently i m using eclipse birt 2.3.2
> I want to upgrade it to birt 2.6.2
>
> which is the way...or which are d steps tht i should follow
Previous Topic:Multiple groups on same row
Next Topic:BIRT viewer /frameset syntax in INDEX.JSP
Goto Forum:
  


Current Time: Fri Aug 29 14:29:24 EDT 2014

Powered by FUDForum. Page generated in 0.02324 seconds