Author: nicolas
Date: Mon Feb 25 08:36:58 2008
New Revision: 630922

URL: http://svn.apache.org/viewvc?rev=630922&view=rev
Log:
fix instantiation-strategy

Modified:
    maven/archiva/branches/springy/plexus-spring/pom.xml
    
maven/archiva/branches/springy/plexus-spring/src/main/java/org/codehaus/plexus/spring/PlexusBeanDefinitionDocumentReader.java
    
maven/archiva/branches/springy/plexus-spring/src/main/java/org/codehaus/plexus/spring/PlexusComponentFactoryBean.java
    
maven/archiva/branches/springy/plexus-spring/src/test/java/org/codehaus/plexus/spring/FieldInjectionTest.java

Modified: maven/archiva/branches/springy/plexus-spring/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/archiva/branches/springy/plexus-spring/pom.xml?rev=630922&r1=630921&r2=630922&view=diff
==============================================================================
--- maven/archiva/branches/springy/plexus-spring/pom.xml (original)
+++ maven/archiva/branches/springy/plexus-spring/pom.xml Mon Feb 25 08:36:58 
2008
@@ -40,7 +40,12 @@
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-component-api</artifactId>
-      <version>1.0-alpha-33</version>
+      <version>1.0-alpha-22</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-container-default</artifactId>
+      <version>1.0-alpha-22</version>
     </dependency>
     <dependency>
       <groupId>dom4j</groupId>

Modified: 
maven/archiva/branches/springy/plexus-spring/src/main/java/org/codehaus/plexus/spring/PlexusBeanDefinitionDocumentReader.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/branches/springy/plexus-spring/src/main/java/org/codehaus/plexus/spring/PlexusBeanDefinitionDocumentReader.java?rev=630922&r1=630921&r2=630922&view=diff
==============================================================================
--- 
maven/archiva/branches/springy/plexus-spring/src/main/java/org/codehaus/plexus/spring/PlexusBeanDefinitionDocumentReader.java
 (original)
+++ 
maven/archiva/branches/springy/plexus-spring/src/main/java/org/codehaus/plexus/spring/PlexusBeanDefinitionDocumentReader.java
 Mon Feb 25 08:36:58 2008
@@ -49,7 +49,7 @@
     public void registerBeanDefinitions( Document doc, XmlReaderContext 
readerContext )
     {
         doc = convertPlexusDescriptorToSpringBeans( doc );
-        if ( Boolean.getBoolean( "spring-plexus.debug" ) )
+        if ( Boolean.getBoolean( "plexus-spring.debug" ) )
         {
             try
             {

Modified: 
maven/archiva/branches/springy/plexus-spring/src/main/java/org/codehaus/plexus/spring/PlexusComponentFactoryBean.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/branches/springy/plexus-spring/src/main/java/org/codehaus/plexus/spring/PlexusComponentFactoryBean.java?rev=630922&r1=630921&r2=630922&view=diff
==============================================================================
--- 
maven/archiva/branches/springy/plexus-spring/src/main/java/org/codehaus/plexus/spring/PlexusComponentFactoryBean.java
 (original)
+++ 
maven/archiva/branches/springy/plexus-spring/src/main/java/org/codehaus/plexus/spring/PlexusComponentFactoryBean.java
 Mon Feb 25 08:36:58 2008
@@ -20,15 +20,12 @@
  */
 
 import java.lang.reflect.Field;
-import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 
-import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.context.Context;
 import org.codehaus.plexus.logging.LogEnabled;
@@ -65,13 +62,16 @@
 public class PlexusComponentFactoryBean
     implements FactoryBean, BeanFactoryAware, DisposableBean
 {
-    private static final char HINT = '#';
+    /**
+     * @todo isn't there a constant for this in plexus ?
+     */
+    private static final String SINGLETON = "singleton";
 
     private Class role;
 
     private Class implementation;
 
-    private String instanciationStrategy;
+    private String instanciationStrategy = SINGLETON;
 
     private Map requirements;
 
@@ -105,15 +105,9 @@
     public Object getObject()
         throws Exception
     {
-        if ( "poolable".equals( instanciationStrategy ) )
-        {
-            throw new BeanCreationException( "Plexus poolable 
instanciation-strategy is not supported" );
-        }
-
         // Spring MAY cache the object built by this factory if getSingleton()
-        // returns true,
-        // but can also requires us to ensure unicity.
-        if ( "singleton".equals( instanciationStrategy ) && 
!instances.isEmpty() )
+        // returns true, but can also requires us to ensure unicity.
+        if ( SINGLETON.equals( instanciationStrategy ) && !instances.isEmpty() 
)
         {
             return instances.get( 0 );
         }
@@ -147,6 +141,7 @@
 
         if (component instanceof Contextualizable )
         {
+            // VERRY limiter support for Contextualizable
             ((Contextualizable) component).contextualize( getContext() );
         }
 
@@ -167,7 +162,7 @@
 
     public boolean isSingleton()
     {
-        return "per-lookup".equals( instanciationStrategy );
+        return SINGLETON.equals( instanciationStrategy );
     }
 
     /**
@@ -246,7 +241,11 @@
     {
         if ( instanciationStrategy.length() == 0 )
         {
-            instanciationStrategy = "singleton";
+            instanciationStrategy = SINGLETON;
+        }
+        if ( "poolable".equals( instanciationStrategy ) )
+        {
+            throw new BeanCreationException( "Plexus poolable 
instanciation-strategy is not supported" );
         }
         this.instanciationStrategy = instanciationStrategy;
     }

Modified: 
maven/archiva/branches/springy/plexus-spring/src/test/java/org/codehaus/plexus/spring/FieldInjectionTest.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/branches/springy/plexus-spring/src/test/java/org/codehaus/plexus/spring/FieldInjectionTest.java?rev=630922&r1=630921&r2=630922&view=diff
==============================================================================
--- 
maven/archiva/branches/springy/plexus-spring/src/test/java/org/codehaus/plexus/spring/FieldInjectionTest.java
 (original)
+++ 
maven/archiva/branches/springy/plexus-spring/src/test/java/org/codehaus/plexus/spring/FieldInjectionTest.java
 Mon Feb 25 08:36:58 2008
@@ -26,6 +26,16 @@
 public class FieldInjectionTest
     extends TestCase
 {
+    /**
+     * [EMAIL PROTECTED]
+     * @see junit.framework.TestCase#setUp()
+     */
+    protected void setUp()
+        throws Exception
+    {
+        System.setProperty( "plexus-spring.debug", "true" );
+    }
+
     public void testFieldInjectionInSpringContext()
         throws Exception
     {


Reply via email to