Return-Path: X-Original-To: apmail-felix-dev-archive@www.apache.org Delivered-To: apmail-felix-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id BF2F2D6D9 for ; Mon, 5 Nov 2012 07:01:16 +0000 (UTC) Received: (qmail 83840 invoked by uid 500); 5 Nov 2012 07:01:16 -0000 Delivered-To: apmail-felix-dev-archive@felix.apache.org Received: (qmail 83629 invoked by uid 500); 5 Nov 2012 07:01:14 -0000 Mailing-List: contact dev-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@felix.apache.org Delivered-To: mailing list dev@felix.apache.org Received: (qmail 83573 invoked by uid 99); 5 Nov 2012 07:01:13 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 05 Nov 2012 07:01:13 +0000 Date: Mon, 5 Nov 2012 07:01:13 +0000 (UTC) From: "Felix Meschberger (JIRA)" To: dev@felix.apache.org Message-ID: <1645108223.67767.1352098873165.JavaMail.jiratomcat@arcas> In-Reply-To: <1398106426.65392.1351990032953.JavaMail.jiratomcat@arcas> Subject: [jira] [Commented] (FELIX-3744) [DS] Component should set implementation object before propagating changed service properties MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/FELIX-3744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13490480#comment-13490480 ] Felix Meschberger commented on FELIX-3744: ------------------------------------------ Is this a release blocker ? On the implementation: This looks tricky because the properties are updated in the createImplementationObject and disposeImplementationObject methods, resp., while the fields are set in the callers -- and not all callers to the same handling. Now, the disposeImplementationObject method could just return the service properties to be set. But the createImplementationObject returns the service object and so cannot easily return the properties. One option would be to enhance the MethodResult object with the component reference and the methods return MethodResult. This would convey all we need but isn't this breaching some encapsulation barrier ? (Though it remains in the same classe) > [DS] Component should set implementation object before propagating changed service properties > --------------------------------------------------------------------------------------------- > > Key: FELIX-3744 > URL: https://issues.apache.org/jira/browse/FELIX-3744 > Project: Felix > Issue Type: Bug > Components: Declarative Services (SCR) > Affects Versions: scr-1.6.2 > Reporter: David Jencks > Assignee: David Jencks > Fix For: scr-1.6.2 > > > A component needs to set its implementation object before propagating the service property changes from the activate method. Otherwise the new service properties could satisfy a target filter and result in a getService() request before the implementation object is set but after it has been created. -- 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