felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Clement Escoffier (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (FELIX-4207) ipojo @Component with propagation set to true doesn't propagate properties
Date Wed, 04 Sep 2013 08:24:51 GMT

     [ https://issues.apache.org/jira/browse/FELIX-4207?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Clement Escoffier updated FELIX-4207:
-------------------------------------

    Assignee: Clement Escoffier
    
> ipojo @Component with propagation set to true doesn't propagate properties
> --------------------------------------------------------------------------
>
>                 Key: FELIX-4207
>                 URL: https://issues.apache.org/jira/browse/FELIX-4207
>             Project: Felix
>          Issue Type: Bug
>          Components: iPOJO
>    Affects Versions: ipojo-runtime-1.10.1
>            Reporter: Guillaume Delafosse
>            Assignee: Clement Escoffier
>              Labels: annotations, component, propagation
>
> I use config admin to instantiate my component and I want its property to be deployed
with its registered service as a service property.
> According to the documentation, I have to set the flag propagation to true to do so.
So my code is like :
> @Component(name="component", propagation=true)
> @Provides
> public class MyComponent implements MyService
> {
>     @Property(name="p")
>     private String p;
>     
> }
> Then I look to my instance details and I don't see the property attached to the service,
it's just attached to the component instance :
> instance name="component.16d0dcc1-ae65-49b9-a7fe-17f6723997db" state="valid" bundle="8"
component.type="component"
> 	handler name="org.apache.felix.ipojo:properties" state="valid"
> 		property name="p" value="1"
> 	handler name="org.apache.felix.ipojo:provides" state="valid"
> 		provides specifications="[test.ipojo.MyService]" state="registered" service.id="50"
> 			property name="service.pid" value="component.16d0dcc1-ae65-49b9-a7fe-17f6723997db"
> 			property name="service.factoryPid" value="component"
> 			property name="factory.name" value="component"
> 			property name="instance.name" value="component.16d0dcc1-ae65-49b9-a7fe-17f6723997db"
> 	handler name="org.apache.felix.ipojo:architecture" state="valid"
> Then I tried to add the @ServiceProperty on my property field and I also removed the
propgation flag. So my code is now like :
> @Component(name="component")
> @Provides
> public class MyComponent implements MyService
> {
>     @Property(name="p")
>     @ServiceProperty
>     private String p;
>     
> }
> and if I look to my instance details I can see the property attached to both my component
and my service :
> instance name="component.c4ee23a1-14c3-447c-93f8-78caf65a8304" state="valid" bundle="8"
component.type="component"
> 	handler name="org.apache.felix.ipojo:properties" state="valid"
> 		property name="p" value="1"
> 	handler name="org.apache.felix.ipojo:provides" state="valid"
> 		provides specifications="[test.ipojo.MyService]" state="registered" service.id="52"
> 			property name="service.pid" value="component.c4ee23a1-14c3-447c-93f8-78caf65a8304"
> 			property name="service.factoryPid" value="component"
> 			property name="p" value="1"
> 			property name="factory.name" value="component"
> 			property name="instance.name" value="component.c4ee23a1-14c3-447c-93f8-78caf65a8304"
> 	handler name="org.apache.felix.ipojo:architecture" state="valid"
> Is it a but with the propagation flag or is the documentation wrong?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message