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

Felix Meschberger edited comment on FELIX-3377 at 5/8/12 5:43 PM:
------------------------------------------------------------------

Updated patch based on FELIX-3377-4.diff :
  - use MethodResult to convey the result of the methods
  - only support Map as a result (in line Map being used to convey 
configuration to activate)
  - Properly differentiate between null-result (reset service properties) and 
void (no action)
  - Created a new namespace required to support the new functionality
     (components with older namespaces are not allowed to return Map)
  - updated the testcase for the new namespace

My own patch from May 5th is non-functional.
                
      was (Author: fmeschbe):
    Updated patch based on FELIX-3337-4.diff :
  - use MethodResult to convey the result of the methods
  - only support Map as a result (in line Map being used to convey 
configuration to activate)
  - Properly differentiate between null-result (reset service properties) and 
void (no action)
  - Created a new namespace required to support the new functionality
     (components with older namespaces are not allowed to return Map)
  - updated the testcase for the new namespace

My own patch from May 5th is non-functional.
                  
> Allow a component to update its own service properties
> ------------------------------------------------------
>
>                 Key: FELIX-3377
>                 URL: https://issues.apache.org/jira/browse/FELIX-3377
>             Project: Felix
>          Issue Type: Improvement
>          Components: Declarative Services (SCR)
>    Affects Versions:  scr-1.6.0
>            Reporter: David Jencks
>         Attachments: FELIX-3377-2.diff, FELIX-3377-3.diff, 
> FELIX-3377-4-fmeschbe.patch, FELIX-3377-4.diff, 
> FELIX-3377-returnDictionary.patch, FELIX-3377.diff
>
>
> If you just register a service in code, you can give the ServiceRegistration 
> to the service and it can update its service properties to reflect what it 
> can discover about its environment.  This proposes that services registered 
> through DS should be able to do this too, by calling an 
> updateProperties(Dictionary) method on the ComponentContext.  (Since we'd 
> need a spec update to add the method to ComponentContext, I added a new 
> interface that ComponentContextImpl implements).
> Right now a service could get Config Admin and modify the properties there, 
> but then (a) the update method is called even though the component itself 
> initiated the changes and (b) the new property values are persisted which is 
> presumably not desired.
> According to the spec config admin properties override default property 
> values specified in the component xml.  I think that in order to reduce 
> confusion, once a property has been set through config admin it should not be 
> possible to update it through this update method.  This also makes 
> implementing this idea easy.
> IIUC this idea does not make sense for component factories.
> This idea was originally suggested by Erin Schnabel in OSGI bug 2250.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to