Author: nicolas
Date: Fri Feb 29 01:41:30 2008
New Revision: 632272

URL: http://svn.apache.org/viewvc?rev=632272&view=rev
Log:
fix

Modified:
    
maven/archiva/branches/springy/plexus-spring/src/main/java/org/codehaus/plexus/spring/WebWorkPlexusInSpringObjectFactory.java

Modified: 
maven/archiva/branches/springy/plexus-spring/src/main/java/org/codehaus/plexus/spring/WebWorkPlexusInSpringObjectFactory.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/branches/springy/plexus-spring/src/main/java/org/codehaus/plexus/spring/WebWorkPlexusInSpringObjectFactory.java?rev=632272&r1=632271&r2=632272&view=diff
==============================================================================
--- 
maven/archiva/branches/springy/plexus-spring/src/main/java/org/codehaus/plexus/spring/WebWorkPlexusInSpringObjectFactory.java
 (original)
+++ 
maven/archiva/branches/springy/plexus-spring/src/main/java/org/codehaus/plexus/spring/WebWorkPlexusInSpringObjectFactory.java
 Fri Feb 29 01:41:30 2008
@@ -30,8 +30,8 @@
 import com.opensymphony.xwork.interceptor.Interceptor;
 
 /**
- * Replacement for WebWorkSpringObjectFactory ("webwork.objectFactory = 
spring") to support
- * plexus components lookup as expected by plexus-xwork integration.
+ * Replacement for WebWorkSpringObjectFactory ("webwork.objectFactory = 
spring")
+ * to support plexus components lookup as expected by plexus-xwork integration.
  *
  * @author <a href="mailto:[EMAIL PROTECTED]">Nicolas De Loof</a>
  */
@@ -66,5 +66,28 @@
             return super.buildBean( id, map );
         }
         return super.buildBean( name, map );
+    }
+
+    public Class getClassInstance( String className )
+        throws ClassNotFoundException
+    {
+        String id = PlexusToSpringUtils.buildSpringId( Action.class, className 
);
+        if ( appContext.containsBean( id ) )
+        {
+            return appContext.getType( id );
+        }
+
+        id = PlexusToSpringUtils.buildSpringId( Result.class, className );
+        if ( appContext.containsBean( id ) )
+        {
+            return appContext.getType( id );
+        }
+
+        id = PlexusToSpringUtils.buildSpringId( Interceptor.class, className );
+        if ( appContext.containsBean( id ) )
+        {
+            return appContext.getType( id );
+        }
+        return super.getClassInstance( className );
     }
 }


Reply via email to