Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 46036 invoked from network); 20 Jul 2009 06:02:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 20 Jul 2009 06:02:06 -0000 Received: (qmail 33909 invoked by uid 500); 20 Jul 2009 06:03:12 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 33841 invoked by uid 500); 20 Jul 2009 06:03:12 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 33832 invoked by uid 99); 20 Jul 2009 06:03:12 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Jul 2009 06:03:12 +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.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Jul 2009 06:03:10 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id CF9DB238887A; Mon, 20 Jul 2009 06:02:49 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r795697 - /geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/AbstractServiceReferenceRecipe.java Date: Mon, 20 Jul 2009 06:02:49 -0000 To: scm@geronimo.apache.org From: gawor@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090720060249.CF9DB238887A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: gawor Date: Mon Jul 20 06:02:49 2009 New Revision: 795697 URL: http://svn.apache.org/viewvc?rev=795697&view=rev Log: simplify satisfaction tracking of service references Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/AbstractServiceReferenceRecipe.java Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/AbstractServiceReferenceRecipe.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/AbstractServiceReferenceRecipe.java?rev=795697&r1=795696&r2=795697&view=diff ============================================================================== --- geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/AbstractServiceReferenceRecipe.java (original) +++ geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/AbstractServiceReferenceRecipe.java Mon Jul 20 06:02:49 2009 @@ -130,8 +130,10 @@ ServiceReference[] references = blueprintContainer.getBundleContext().getServiceReferences(null, getOsgiFilter()); if (references != null) { for (ServiceReference reference : references) { - serviceAdded(reference); + this.references.add(reference); + track(reference); } + satisfied.set(optional || !this.references.isEmpty()); } } } catch (InvalidSyntaxException e) { @@ -282,20 +284,16 @@ private void serviceAdded(ServiceReference ref) { LOGGER.debug("Tracking reference {} for OSGi service {}", ref, getOsgiFilter()); - boolean added; - boolean satisfied; synchronized (references) { - added = references.add(ref); - satisfied = optional || !references.isEmpty(); + references.add(ref); } - if (added) { - track(ref); - } - setSatisfied(satisfied); + track(ref); + setSatisfied(true); } private void serviceModified(ServiceReference ref) { - serviceAdded(ref); + // ref must be in references and must be satisfied + track(ref); } private void serviceRemoved(ServiceReference ref) {