[udig-devel] How to make a Custom RCP Application

Jody Garnett jgarnett at refractions.net
Mon Dec 3 08:39:00 PST 2007


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.
> 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.

Jody


More information about the udig-devel mailing list