[ 
https://issues.apache.org/jira/browse/FELIX-5050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14902231#comment-14902231
 ] 

German Vega commented on FELIX-5050:
------------------------------------

After some debugging, the problem comes from propagation of properties from the 
ConfigurationHandler to the ProvidedServiceHandler.

The method ConfigurationHandler.propagate(Dictionary newProps, Dictionary 
oldProps) invoke the provided service handler to first remove all properties 
and then adds again the properties with the new values. This is ok, as this is 
the only API available provided by the ProvidedServiceHandler to update the 
service registration.

The problem is that the method ProvidedService.deleteProperties(Dictionary 
props) just delete the property defintion from its table without verifying if 
it is a declared service property (with a specified injected filed). When the 
property is again added by the propagation the update seems to work, but the 
information about the injected fields is lost.

When the filed is accessed, the ProvidedServiceHandler  just returns null 
because it is not regsitered with any property

> Reconfiguring a component with mixing configurable properties and service 
> properties injected fields produces an error
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-5050
>                 URL: https://issues.apache.org/jira/browse/FELIX-5050
>             Project: Felix
>          Issue Type: Bug
>          Components: iPOJO
>    Affects Versions: ipojo-runtime-1.12.1
>            Reporter: German Vega
>         Attachments: bugs.ipojo.property.reconfiguration.zip
>
>
> When a component using BOTH configurable properties and service properties is 
> reconfigured, the value of the field for the service property is not 
> correctly injected.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to