felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Clement Escoffier <clement.escoff...@gmail.com>
Subject Re: [ipojo] Help wih @Stereotype and custom handler
Date Thu, 29 Jan 2015 19:03:21 GMT

On 29 janvier 2015 at 19:23:16, Thiago Souza (tcostasouza@gmail.com) wrote:

Hi clement! 

Well, so maybe you could give me a hint. 

Is there any way to know when all the components of a custom handler of a 
specific bundle has been instantiated and activated? For example, a bundle 
X defines components A and B wit a custom handler NS:H. Components A and B 
are all immediate annotated with @Instantiate. So, how can I know when 
iPojo finishes processing bundle X? 

I tried listening to Bundle.STARTED event, but it seems that ipojo 
processing is happening after this event (or it's async, I don't know). 
Yes, it’s async by default. What you need to know is to listen the 2 queue service provided
by iPOJO.

Check https://github.com/wisdom-framework/wisdom/blob/master/core/wisdom-test/src/main/java/org/wisdom/test/parents/Stability.java#L78.
This function waits for all queues to be empty.

Cheers,

Clement





Any help apreciated! 

Thanks 



On Thu Jan 29 2015 at 4:08:06 PM clement escoffier [via Apache Felix] < 
ml-node+s18485n5011306h67@n6.nabble.com> wrote: 

> Hi, 
> 
> 
> On 29 janvier 2015 at 15:21:00, Thiago Souza ([hidden email] 
> <http:///user/SendEmail.jtp?type=node&node=5011306&i=0>) wrote: 
> 
> Hi! 
> 
> Thanks for the tips! I ended up creating a custom handler for this. 
> 
> Now, what I need to do is to generate some metadata to bundle's manifest. 
> Is it possible using the visitor? If not, I'll have to solve this in 
> runtime. 
> No the visitor does not let you do such kind of enhancement.The visitor 
> lets you write the iPOJO metadata you want (well, they are stored in the 
> manifest, so maybe it’s enough for you). 
> 
> 
> 
> Cheers, 
> 
> 
> 
> Clement 
> 
> 
> 
> 
> 
> Thanks! 
> 
> On Mon Jan 26 2015 at 3:40:06 AM clement escoffier [via Apache Felix] < 
> [hidden email] <http:///user/SendEmail.jtp?type=node&node=5011306&i=1>> 
> wrote: 
> 
> > Hi, 
> > 
> > On 25 janvier 2015 at 22:45:46, Thiago Souza ([hidden email] 
> > <http:///user/SendEmail.jtp?type=node&node=5011275&i=0>) wrote: 
> > Hi! 
> > 
> > I could implement a prototype that generates metadata in the component 
> > descriptor. 
> > 
> > Now I can create an iPojo that requires component factories with these 
> > metadata. But I'm not being able to find a way to access the pojo 
> > instance 
> > itself given a factory, is it possible? 
> > You use the Factory to create a ComponentInstance, then you have two 
> ways: 
> > 
> > 1) The best way is to retrieve a service exposed by the freshly created 
> > instance. You can use the ‘instance.name’ property to select the 
> service. 
> > That way, you manager ‘invalid’ instance (instances that depends on 
> > unavailable services), as the service won’t be exposed in this case. 
> > 
> > try { 
> > ServiceReference[] refs = 
> > 
> > context.getServiceReferences(YourServiceInterface.class.getName(), 
> > "(instance.name=" + instance.getInstanceName() +")"); 
> > if (refs != null) { 
> > Foo your_object = (Foo) context.getService(refs[0]); 
> > } 
> > } catch (InvalidSyntaxException e) { 
> > // Should not happen 
> > } 
> > 2) You can use the following snippet: 
> > 
> > if (instance.getState() == ComponentInstance.VALID) { 
> > ImplementationClass object = 
> > (ImplementationClass) ((InstanceManager) instance).getPojoObject(); 
> > } else { 
> > System.out.println("Cannot get an implementation object from an invalid 
> > instance"); 
> > } 
> > 
> > First it requires a cast to InstanceManager. InstanceManager is the 
> > implementation class behind @Component. As iPOJO supports her type of 
> > entities, you need to be sure you are using @Component before casting 
> > (others are Handler, Composite…). Once you have the instance manager 
> you 
> > can call the ‘getPojoObject’ to retrieve the pojo instance. If none 
> exist, 
> > one is created. 
> > 
> > 
> > Cheers, 
> > 
> > Clement 
> > 
> > 
> > 
> > 
> > Regards 
> > 
> > On Sun, Jan 25, 2015, 14:15 clement escoffier [via Apache Felix] < 
> > [hidden email] <http:///user/SendEmail.jtp?type=node&node=5011275&i=1>> 
> 
> > wrote: 
> > 
> > > Hi, 
> > > 
> > > Unfortunately stereotypes do not support ‘parameter’ right now, but 
> you 
> > > can use ‘visitors’ which are small classes rewriting the annotation. 
> > > Here is something similar to what you try to do: 
> > > 
> > 
> https://github.com/wisdom-framework/wisdom/blob/master/core/wisdom-ipojo-module/src/main/java/org/wisdom/ipojo/module/WisdomServiceVisitor.java 
> 
> > 
> > > 
> > > Cheers, 
> > > 
> > > Clement 
> > > On 25 janvier 2015 at 16:42:50, Thiago Souza ([hidden email] 
> > > <http:///user/SendEmail.jtp?type=node&node=5011272&i=0>) wrote: 
> > > 
> > > Hi all, 
> > > 
> > > I'm trying to create a custom handler with a @Stereotype annotation 
> > (named 
> > > 
> > > @Namespace) with the following use case: 
> > > 
> > > @Namespace("a-namespace") 
> > > public class ANamespaceComponent { 
> > > } 
> > > 
> > > The ANamespaceComponent would also inherit 
> > @Component(name="a-namespace") 
> > > 
> > > and @Instantiate with additional processing. 
> > > 
> > > Unfortunatelly I'm not being able to understand, from the 
> > documentation, 
> > > what artifacts (and how) should be created. 
> > > 
> > > Any help appreciated! 
> > > 
> > > Thanks! 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > -- 
> > > View this message in context: 
> > > 
> > 
> http://apache-felix.18485.x6.nabble.com/ipojo-Help-wih-Stereotype-and-custom-handler-tp5011271.html 
> 
> > 
> > > 
> > > Sent from the Apache Felix - Users mailing list archive at 
> Nabble.com. 
> > > 
> > > --------------------------------------------------------------------- 
> > > To unsubscribe, e-mail: [hidden email] 
> > > <http:///user/SendEmail.jtp?type=node&node=5011272&i=1> 
> > > For additional commands, e-mail: [hidden email] 
> > > <http:///user/SendEmail.jtp?type=node&node=5011272&i=2> 
> > > 
> > > 
> > > 
> > > ------------------------------ 
> > > If you reply to this email, your message will be added to the 
> > discussion 
> > > below: 
> > > 
> > > 
> > 
> http://apache-felix.18485.x6.nabble.com/ipojo-Help-wih-Stereotype-and-custom-handler-tp5011271p5011272.html 
> 
> > 
> > > To unsubscribe from [ipojo] Help wih @Stereotype and custom handler, 
> > click 
> > > here 
> > > < 
> > 
> > > . 
> > > NAML 
> > > < 
> > 
> http://apache-felix.18485.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> 
> 
> > 
> > > 
> > 
> > 
> > 
> > 
> > -- 
> > View this message in context: 
> > 
> http://apache-felix.18485.x6.nabble.com/ipojo-Help-wih-Stereotype-and-custom-handler-tp5011271p5011274.html 
> 
> > 
> > Sent from the Apache Felix - Users mailing list archive at Nabble.com. 
> > 
> > If you reply to this email, your message will be added to the 
> discussion 
> > below: 
> > 
> > 
> http://apache-felix.18485.x6.nabble.com/ipojo-Help-wih-Stereotype-and-custom-handler-tp5011271p5011275.html 
> 
> > To unsubscribe from [ipojo] Help wih @Stereotype and custom handler, 
> click 
> > here 
> > < 
> > . 
> > NAML 
> > < 
> http://apache-felix.18485.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> 
> 
> > 
> 
> 
> 
> 
> -- 
> View this message in context: 
> http://apache-felix.18485.x6.nabble.com/ipojo-Help-wih-Stereotype-and-custom-handler-tp5011271p5011303.html 
> 
> Sent from the Apache Felix - Users mailing list archive at Nabble.com. 
> 
> If you reply to this email, your message will be added to the discussion 
> below: 
> 
> http://apache-felix.18485.x6.nabble.com/ipojo-Help-wih-Stereotype-and-custom-handler-tp5011271p5011306.html 
> To unsubscribe from [ipojo] Help wih @Stereotype and custom handler, click 
> here 
> <http://apache-felix.18485.x6.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5011271&code=dGNvc3Rhc291emFAZ21haWwuY29tfDUwMTEyNzF8LTEyNzI0NjQ3MjU=> 
> . 
> NAML 
> <http://apache-felix.18485.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> 
> 




-- 
View this message in context: http://apache-felix.18485.x6.nabble.com/ipojo-Help-wih-Stereotype-and-custom-handler-tp5011271p5011308.html 
Sent from the Apache Felix - Users mailing list archive at Nabble.com.
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message