Return-Path: Delivered-To: apmail-felix-dev-archive@www.apache.org Received: (qmail 168 invoked from network); 28 Jul 2009 14:23:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 28 Jul 2009 14:23:20 -0000 Received: (qmail 72263 invoked by uid 500); 28 Jul 2009 14:24:37 -0000 Delivered-To: apmail-felix-dev-archive@felix.apache.org Received: (qmail 72214 invoked by uid 500); 28 Jul 2009 14:24:37 -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 72204 invoked by uid 99); 28 Jul 2009 14:24:37 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Jul 2009 14:24:37 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Jul 2009 14:24:34 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id C81BF234C044 for ; Tue, 28 Jul 2009 07:24:14 -0700 (PDT) Message-ID: <1964957460.1248791054808.JavaMail.jira@brutus> Date: Tue, 28 Jul 2009 07:24:14 -0700 (PDT) From: "Felix Meschberger (JIRA)" To: dev@felix.apache.org Subject: [jira] Commented: (FELIX-1416) Wrong factory configuration behaviour In-Reply-To: <1639214185.1248788596176.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/FELIX-1416?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12736081#action_12736081 ] Felix Meschberger commented on FELIX-1416: ------------------------------------------ Added unit and integration (Pax Exam based) tests for the fixed configuration behaviour in Rev. 798522 In Rev. 798529 adapted the ImmediateComponentManager to the new holder mechanism. Rev. 798531 finally brings the big block of ComponentHolder and implementation. The ComponentRegistry is refactored to be a factory for ComponentHolders and has no Configuration support. The ConfigurationComponentRegistry extends the ComponentRegistry adding support for Configuration from ConfigurationAdmin. For ComponentFactory components the ComponentFactoryImpl also acts as the component holder. For Components without configuration (configuration-policy=ignore) UnconfiguredComponentHolder instances are used. This class is also used if no ConfigurationAdmin service is available. For components taking configuration the ConfiguredComponentHolder class is used. This class can cope with singleton and factory configurations. The Configuration policy "ignore" is handled by the ComponentRegistry in that an UnconfiguredComponentHolder is created to hold the component without ever forwarding configuration. For Configuration policy "require" and "optional" a ConfiguredComponentHolder is used. The "require" policy is handled by the AbstractComponentManager to prevent activation if there is no configuration. > Wrong factory configuration behaviour > ------------------------------------- > > Key: FELIX-1416 > URL: https://issues.apache.org/jira/browse/FELIX-1416 > Project: Felix > Issue Type: Bug > Components: Declarative Services (SCR), Specification compliance > Affects Versions: scr-1.0.8 > Reporter: Felix Meschberger > Assignee: Felix Meschberger > Fix For: scr-1.2.0 > > > Currently factory configurations are applied to component factories, such that each factory configuration instance creates a componnent > instances of a component factory. Reversly deleting a factory configuration also deletes component instances. This is not how it is specified. > Correct is, that > (1) Component Factories can only be configured with singleton configurations applying > the configuration to all instances created with newInstance > (2) Factory configurations are applied to non-component-factory components and > cause multiple component instances to be created. > To accomodate for this, the handling of components has to be redesigned: A component descriptor now causes the creation of a ComponentHolder. Depending on configuration availability a ComponentHolder will hold a single component (no configuration or singleton configuration) or multiple components (factory configuration). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.