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
{