Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 36732 invoked from network); 16 Jul 2009 16:29:56 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 16 Jul 2009 16:29:56 -0000 Received: (qmail 59773 invoked by uid 500); 16 Jul 2009 16:31:01 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 59716 invoked by uid 500); 16 Jul 2009 16:31:01 -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 59707 invoked by uid 99); 16 Jul 2009 16:31:01 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Jul 2009 16:31:01 +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; Thu, 16 Jul 2009 16:30:59 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 821272388980; Thu, 16 Jul 2009 16:30:39 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r794737 - in /geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint: container/ reflect/ Date: Thu, 16 Jul 2009 16:30:39 -0000 To: scm@geronimo.apache.org From: gawor@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090716163039.821272388980@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: gawor Date: Thu Jul 16 16:30:38 2009 New Revision: 794737 URL: http://svn.apache.org/viewvc?rev=794737&view=rev Log: beanMetadata.getScope() should return null when scope attribute not explicitly specified in xml Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/BlueprintContainerImpl.java geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/Parser.java geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/RecipeBuilder.java geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/ServiceRecipe.java geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/reflect/BeanMetadataImpl.java geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/reflect/MetadataUtil.java Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/BlueprintContainerImpl.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/BlueprintContainerImpl.java?rev=794737&r1=794736&r2=794737&view=diff ============================================================================== --- geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/BlueprintContainerImpl.java (original) +++ geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/BlueprintContainerImpl.java Thu Jul 16 16:30:38 2009 @@ -44,6 +44,7 @@ import org.apache.geronimo.blueprint.NamespaceHandler; import org.apache.geronimo.blueprint.Processor; import org.apache.geronimo.blueprint.reflect.EnvironmentMetadataImpl; +import org.apache.geronimo.blueprint.reflect.MetadataUtil; import org.apache.geronimo.blueprint.di.Recipe; import org.apache.geronimo.blueprint.di.Repository; import org.apache.geronimo.blueprint.namespace.ComponentDefinitionRegistryImpl; @@ -506,8 +507,7 @@ boolean eager = component.getActivation() == ComponentMetadata.ACTIVATION_EAGER; if (component instanceof BeanMetadata) { BeanMetadata local = (BeanMetadata) component; - String scope = local.getScope(); - eager &= BeanMetadata.SCOPE_SINGLETON.equals(scope); + eager &= MetadataUtil.isSingletonScope(local); } if (eager) { components.add(name); Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/Parser.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/Parser.java?rev=794737&r1=794736&r2=794737&view=diff ============================================================================== --- geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/Parser.java (original) +++ geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/Parser.java Thu Jul 16 16:30:38 2009 @@ -437,11 +437,9 @@ metadata.setActivation(parseActivation(element)); } } else { - metadata.setScope(BeanMetadata.SCOPE_SINGLETON); metadata.setActivation(parseActivation(element)); } } else { - metadata.setScope(BeanMetadata.SCOPE_PROTOTYPE); metadata.setActivation(ComponentMetadata.ACTIVATION_LAZY); } if (element.hasAttribute(CLASS_ATTRIBUTE)) { @@ -471,7 +469,7 @@ if (metadata.getFactoryComponent() != null && metadata.getFactoryMethod() == null) { throw new ComponentDefinitionException("factory-method is required when factory-component is set"); } - if (metadata.getScope().equals(BeanMetadata.SCOPE_PROTOTYPE) && metadata.getDestroyMethod() != null) { + if (MetadataUtil.isPrototypeScope(metadata) && metadata.getDestroyMethod() != null) { throw new ComponentDefinitionException("destroy-method must not be set for a with a prototype scope"); } Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/RecipeBuilder.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/RecipeBuilder.java?rev=794737&r1=794736&r2=794737&view=diff ============================================================================== --- geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/RecipeBuilder.java (original) +++ geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/RecipeBuilder.java Thu Jul 16 16:30:38 2009 @@ -205,9 +205,7 @@ deps.add(new RefRecipe(getName(null), name)); } recipe.setExplicitDependencies(deps); - if (!BeanMetadata.SCOPE_PROTOTYPE.equals(beanMetadata.getScope())) { - recipe.setPrototype(false); - } + recipe.setPrototype(MetadataUtil.isPrototypeScope(beanMetadata)); recipe.setInitMethod(beanMetadata.getInitMethod()); recipe.setDestroyMethod(beanMetadata.getDestroyMethod()); List beanArguments = beanMetadata.getArguments(); Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/ServiceRecipe.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/ServiceRecipe.java?rev=794737&r1=794736&r2=794737&view=diff ============================================================================== --- geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/ServiceRecipe.java (original) +++ geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/ServiceRecipe.java Thu Jul 16 16:30:38 2009 @@ -35,6 +35,7 @@ import org.apache.geronimo.blueprint.di.Recipe; import org.apache.geronimo.blueprint.di.RefRecipe; import org.apache.geronimo.blueprint.di.Repository; +import org.apache.geronimo.blueprint.reflect.MetadataUtil; import org.apache.geronimo.blueprint.utils.JavaUtils; import org.apache.geronimo.blueprint.utils.ReflectionUtils; import org.osgi.framework.Bundle; @@ -363,7 +364,7 @@ } if (metadata instanceof BeanMetadata) { BeanMetadata bean = (BeanMetadata) metadata; - return BeanMetadata.SCOPE_PROTOTYPE.equals(bean.getScope()); + return MetadataUtil.isPrototypeScope(bean); } else { return false; } Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/reflect/BeanMetadataImpl.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/reflect/BeanMetadataImpl.java?rev=794737&r1=794736&r2=794737&view=diff ============================================================================== --- geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/reflect/BeanMetadataImpl.java (original) +++ geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/reflect/BeanMetadataImpl.java Thu Jul 16 16:30:38 2009 @@ -51,7 +51,6 @@ private boolean processor; public BeanMetadataImpl() { - scope = SCOPE_SINGLETON; } public BeanMetadataImpl(BeanMetadata source) { Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/reflect/MetadataUtil.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/reflect/MetadataUtil.java?rev=794737&r1=794736&r2=794737&view=diff ============================================================================== --- geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/reflect/MetadataUtil.java (original) +++ geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/reflect/MetadataUtil.java Thu Jul 16 16:30:38 2009 @@ -185,11 +185,21 @@ return arguments; } + public static boolean isPrototypeScope(BeanMetadata metadata) { + return (BeanMetadata.SCOPE_PROTOTYPE.equals(metadata.getScope()) || + (metadata.getScope() == null && metadata.getId() == null)); + } + + public static boolean isSingletonScope(BeanMetadata metadata) { + return (BeanMetadata.SCOPE_SINGLETON.equals(metadata.getScope()) || + (metadata.getScope() == null && metadata.getId() != null)); + } + private static class BeanArgumentComparator implements Comparator, Serializable { public int compare(BeanArgument object1, BeanArgument object2) { return object1.getIndex() - object2.getIndex(); } } - + }