Thanks for the great advice Peter,

I think all routes point to one commonality, Neoclipse needs to be modified
to not include neo4j in the same plugin, but access it from either another
plugin (to be accessed by several plugins), or the OSGi service you suggest.
Personally I think the OSGi approach sounds the best, but I'm talking from
ignorance here ... :-) (perhaps we need to try both approaches to see which
works best).

Ahmed could make the prototype modifications on a copy of neoclipse in our
code base and submit the changes to neo4j.org for consideration. I have a
number of other changes I'm thinking about for neoclipse, but would like to
get more familiar with it first.

On Wed, Jun 17, 2009 at 9:03 AM, Peter Neubauer <[email protected]>wrote:

> Hi Ahmed,
> sorry for the not-after-the-weekend response, lots of stuff happening
> all the time :)
>
> IIUIC you are trying to access Neo4j from different plugins in the RCP
> app? In that case, I would suggest to register the Neo4j instance as
> its own plugin and then be dependant o that in both NeoClipse and your
> plugin, exposing the Neo4j instance as a service.
>
> Another even more clean approach would be to actually build an OSGi
> wrapper bundle that exposes the neo4j instance as an OSGi service into
> the Service Registry which is usable not only by RCP apps but any OSGi
> based application (SpringDM etc etc), but RCP wraps that to some
> extend.
>
> To get an idea what pure OSGi based wrapping could look like look at
>
> https://svn.neo4j.org/laboratory/users/peter/shell/org.neo4j.osgi.neoservice/src/main/java/org/neo4j/osgi/neoservice/internal/Activator.java
> for registering the Neo4j instance, and
>
> https://svn.neo4j.org/laboratory/users/peter/shell/org.neo4j.osgi.shell.felix/src/main/java/org/neo4j/osgi/shell/felix/internal/Activator.java
> on tracking that service.
>
> If you need to use the Neo4j service together with NeoClipse, then
> IMHO we should redesign NeoClipse in order to split out and expose the
> Neo4j to others. You can file an issue on this!
>
> HTH
>
> /peter
>
> GTalk:      neubauer.peter
> Skype       peter.neubauer
> Phone       +46 704 106975
> LinkedIn   http://www.linkedin.com/in/neubauer
> Twitter      http://twitter.com/peterneubauer
>
> http://www.neo4j.org     - New Energy for Data - The Graph Database.
> http://www.ops4j.org     - New Energy for OSS Communities - Open
> Participation Software.
> http://www.oredev.org   - Where Good Geeks Grok.
> Sent from Malmo, Skåne, Sweden
>
>
> On Sat, Jun 13, 2009 at 1:23 PM, Ahmed
> Abdelsalam<[email protected]> wrote:
> >   Hi,...
> >   We are developing an eclipse RCP application in which we have Neoclipse
> >   is a component. We want to share the Neo4j database with the Neoclipse
> >   so that it can be accessed by multiple accessors. How can I do that?
> >   I've tried to implement a shared component that starts the Neo service
> >   on a certain database, and then I use this Neo service in other
> >   plugins. However, I usually get linkage error related to class loaders.
> >   Any help.
> >
> >   --
> >   Regards,...
> >   Ahmed Abdelsalam
> > _______________________________________________
> > Neo mailing list
> > [email protected]
> > https://lists.neo4j.org/mailman/listinfo/user
> >
> _______________________________________________
> Neo mailing list
> [email protected]
> https://lists.neo4j.org/mailman/listinfo/user
>
_______________________________________________
Neo mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to