1. you could define a hivemind configuration-point into which you may
contribute your page-names, implement a service that takes that takes
this configuration-point as an arg and inject it wherever you need it.
No need to access the HM-Reg.
2. Skip hivemind altogether and do sth like:
for ( String id : getNamespace().getChildIds() ) {
INamespace lib = getNamespace().getChildNamespace( id );
List<String> pages = lib.getPageNames();
//...
}
> -----Original Message-----
> From: Eckenfellner Klaus [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, June 06, 2007 2:34 PM
> To: [email protected]
> Subject: dynamic plugins / menu problem
>
> hi everybody!
>
> i want to create a modulare application, which is organized
> into several plugins (tapestry component libraries). each
> plugin has it's own pages / services / interfaces / logic.
> each plugin in independent from the other plugin and also the
> application.
>
> the application does only contain some stylesheets and
> minimal basic functions. the plugins are registered as
> libraries in the application using the default application
> specification mechanism.
>
> my problem now is, that i must give the user some possibility
> to visit the pages of the different plugins. -> using
> pagelink. but that logic has to be dynamic because the
> application doesn't know which plugins are enabled(declared
> in application specification) or not.
>
> my solution to this problem is ....
> all plugins have a hivemind - service which implements a
> PluginInterface. now extending
> applicationServlet.constructRegistry to get hivemind
> Registry. using the method
> Registry.getServiceIds(java.lang.Class pluginInterface) i get
> all enabled plugins ... now with Registry.getService(java.lang.String
> serviceId, java.lang.Class serviceInterface) i could invoke
> each PluginService which is able to told me pages that i
> could inject -> now storing information into ASO.
>
> my questions:
> * do you know any better solution, because i am
> not sure if this is the
> best way
> * is the only way to get the Hivemind-Registry to extend
> ApplicationServlet.constructRegistry ?
>
> thx
> eckenfellner klaus
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]