Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 88367 invoked from network); 18 May 2009 20:31:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 18 May 2009 20:31:53 -0000 Received: (qmail 70912 invoked by uid 500); 18 May 2009 20:31:53 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 70842 invoked by uid 500); 18 May 2009 20:31:53 -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 70833 invoked by uid 99); 18 May 2009 20:31:53 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 18 May 2009 20:31:53 +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, 18 May 2009 20:31:49 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id E25E42388892; Mon, 18 May 2009 20:31:28 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r776083 - /geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/context/CollectionBasedServiceReferenceRecipe.java Date: Mon, 18 May 2009 20:31:28 -0000 To: scm@geronimo.apache.org From: gawor@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090518203128.E25E42388892@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: gawor Date: Mon May 18 20:31:28 2009 New Revision: 776083 URL: http://svn.apache.org/viewvc?rev=776083&view=rev Log: return proxy in getMember() and throw ServiceUnavailableException in loadObject() Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/context/CollectionBasedServiceReferenceRecipe.java Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/context/CollectionBasedServiceReferenceRecipe.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/context/CollectionBasedServiceReferenceRecipe.java?rev=776083&r1=776082&r2=776083&view=diff ============================================================================== --- geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/context/CollectionBasedServiceReferenceRecipe.java (original) +++ geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/context/CollectionBasedServiceReferenceRecipe.java Mon May 18 20:31:28 2009 @@ -41,12 +41,12 @@ import org.apache.geronimo.blueprint.utils.DynamicSortedList; import org.apache.geronimo.blueprint.utils.DynamicSortedSet; import org.apache.xbean.recipe.ConstructionException; -import org.apache.xbean.recipe.ExecutionContext; import org.apache.xbean.recipe.Recipe; import org.apache.xbean.recipe.RecipeHelper; import org.osgi.framework.Constants; import org.osgi.framework.ServiceReference; import org.osgi.service.blueprint.context.BlueprintContext; +import org.osgi.service.blueprint.context.ServiceUnavailableException; import org.osgi.service.blueprint.reflect.RefCollectionMetadata; /** @@ -202,14 +202,11 @@ this.memberReference = memberReference; } - public synchronized Object getMember() { + public Object getMember() { if (memberReference) { return reference; } else { - if (service == null && reference != null) { - service = reference.getBundle().getBundleContext().getService(reference); - } - return service; + return proxy; } } @@ -224,7 +221,7 @@ public synchronized Object loadObject() throws Exception { if (reference == null) { - throw new ServiceUnregisteredException(); + throw new ServiceUnavailableException("Service is unavailable", null, null); } if (service == null) { service = reference.getBundle().getBundleContext().getService(reference);