[udig-devel] BRIT Charts and Integration ideas
Jody Garnett
jgarnett at refractions.net
Mon Dec 3 09:30:26 PST 2007
cedric at tolemak.net wrote:
> Tahnks for your quick reply Jody.
> Still investigating...
>
>
Cool; keep us in the loop.
> My goal would be in integrate udig with BIRT charts in my own branded RCP
> application.
>
Nice; how is your experience with BIRT charts going? I have been
thinking of making an abstract ReportOp that has the task of creating an
html report and opening up in the web browser editor.
Are you thinking of using the BIRT chart controls live in a view? Or
even more cool would be live on the Map using a MapGraphic... I should
also point out that with Jesse's new ApplicationGIS utility method you
should actually be able to integrate map and selection output into a
normal BIRT report.
Cheers,
Jody
>
>
>> That is great Cedric; this page really needs the feedback from someone
>> trying it in the wild. Part of the reason it is hard to work on this
>> page is the subject of making an RCP application is covered so many
>> places on the web. We started that page because it is a road bump ever
>> developer hits and a single page would be better then buying a book or
>> hunting down the information scattered across the web.
>>
>> Additional comments inline.
>>
>>
>>> Hi udigers,
>>>
>>> I'm trying to follow the online documentation on building a custom
>>> application based on udig features (SDK RC13). I've passed the distance
>>> tool tutorial and created the feature including this plugin. I followed
>>> this link :
>>> http://udig.refractions.net/confluence/display/DEV/5+Custom+Application+Tutorial
>>>
>>> and created a product based on my feature and udig features.
>>>
>>>
>> Cool; there is a slightly easier approach involving just marking off
>> plugins; but it is easier to maintain and
>> update your application when it is put together with features.
>>
>
>
> I've also tried to base my product on plugins and included ALL plugin from
> SDK RC13 and my distance tool plugin.
>
> The run gives me the same kind of output :
>
> Exception in thread "Thread-3" java.lang.NullPointerException
> at org.eclipse.ui.internal.IntroAction.<init>(IntroAction.java:60)
> at org.eclipse.ui.actions.ActionFactory$11.create(ActionFactory.java:338)
> at
> net.refractions.udig.internal.ui.UDIGActionBarAdvisor.fillHelpMenu(UDIGActionBarAdvisor.java:449)
> at
> net.refractions.udig.internal.ui.UDIGActionBarAdvisor.fillMenuBar(UDIGActionBarAdvisor.java:165)
> at
> org.eclipse.ui.application.ActionBarAdvisor.fillActionBars(ActionBarAdvisor.java:150)
> at
> org.eclipse.ui.internal.WorkbenchWindow.fillActionBars(WorkbenchWindow.java:3301)
> at org.eclipse.ui.internal.WorkbenchWindow.<init>(WorkbenchWindow.java:380)
> at org.eclipse.ui.internal.Workbench.newWorkbenchWindow(Workbench.java:1725)
> at org.eclipse.ui.internal.Workbench.access$14(Workbench.java:1724)
> at
> org.eclipse.ui.internal.Workbench$18.runWithException(Workbench.java:1001)
> at
> org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
> at
> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
> at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
> at
> org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:801)
> at
> org.eclipse.ui.internal.Workbench$25.runWithException(Workbench.java:1342)
> at
> org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
> at
> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
> at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2309)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
> at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
> at
> net.refractions.udig.internal.ui.UDIGApplication.start(UDIGApplication.java:93)
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
> 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:508)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
>
>>> Tying to run my own custom application, I faced some problems related to
>>> WorkBenchConfiguration and menuBuilders as following :
>>>
>>> !ENTRY net.refractions.udig.ui 1 0 2007-12-03 14:57:08.125
>>> !MESSAGE Info: Implementation of
>>> net.refractions.udig.ui.WorkbenchConfiguration not specified. Defaulting
>>> to uDig internal implementation.
>>>
>>>
>> I am trying to kill this WorkbenchConfiguration step; the extra
>> complexity saves you making your
>> own Application; trading real Java code you can see for some xml
>> configuration steps. Not a good
>> trade when we can get the same benefit with subclassing.
>>
>>> Exception in thread "Thread-3" java.lang.NullPointerException
>>> at org.eclipse.ui.internal.IntroAction.<init>(IntroAction.java:60)
>>> at
>>> org.eclipse.ui.actions.ActionFactory$11.create(ActionFactory.java:338)
>>> at
>>> net.refractions.udig.internal.ui.UDIGActionBarAdvisor.fillHelpMenu(UDIGActionBarAdvisor.java:449)
>>> at
>>> net.refractions.udig.internal.ui.UDIGActionBarAdvisor.fillMenuBar(UDIGActionBarAdvisor.java:165)
>>>
>>> Any hints on how to solve this problem ?
>>>
>>>
>> Thinking ...
>> UDIGActionBarAdvisor is a normal ActionBarAdvisor (a stratagy object
>> used to tell the workbench how to draw the menu and tool bars). It looks
>> like it had trouble creating one of the out of the box actions defined
>> by ActionFactory (usually for things like CUT, COPY, PASTE...). Since we
>> are
>> building the help menu it is probably something like "Find and Install".
>>
>> My guess is going to be that the action mentioned at that line number
>> involves a feature (say online help?) that was not specified in your
>> application. What is the command at line 449 above - that will be our
>> next clue.
>>
>
> I've included ALL udig features from SDK RC13 in my product. Don't know
> which one include the help plugin...
>
> >From the UDIGActionBarAdvisor :
> line 165 is :
> fillHelpMenu(helpMenu);
> line 449 is :
> IAction welcome = ActionFactory.INTRO.create(window);
>
> That's my feedback. Don't expect to much cause I'm not an eclipse expert.
> I'll get back to you if I find something else and will update the wiki if
> I find a way to get it working.
>
>
> Cedric
>
>
>> Jody
>> _______________________________________________
>> User-friendly Desktop Internet GIS (uDig)
>> http://udig.refractions.net
>> http://lists.refractions.net/mailman/listinfo/udig-devel
>>
>>
>
>
> _______________________________________________
> User-friendly Desktop Internet GIS (uDig)
> http://udig.refractions.net
> http://lists.refractions.net/mailman/listinfo/udig-devel
>
More information about the udig-devel
mailing list