logo       

[picocontainer-scm] [picocontainer] [3121] java/nanocontainer-nanowar/trunk: msg#00023

java.picocontainer.cvs

Subject: [picocontainer-scm] [picocontainer] [3121] java/nanocontainer-nanowar/trunk: Split nanowar into core and separate modules for each framework supported.

Revision
3121
Author
mauro
Date
2006-12-19 07:19:22 -0600 (Tue, 19 Dec 2006)

Log Message

Split nanowar into core and separate modules for each framework supported.

Modified Paths

Added Paths

Removed Paths

Diff

Deleted: java/nanocontainer-nanowar/trunk/nanowar/AXIS-README.txt (3120 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/AXIS-README.txt	2006-12-18 18:25:51 UTC (rev 3120)
+++ java/nanocontainer-nanowar/trunk/nanowar/AXIS-README.txt	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,33 +0,0 @@
-Usage (steps 1 and 2 as per the servlet/webwork integration):
-
-1. Register the servlet container listener in web.xml:
-
-<listener>
-  <listener-class>org.nanocontainer.nanowar.ServletContainerListener</listener-class>
-</listener>
-
-2. Register a container composer in web.xml to handle your component registrations:
-
-<context-param>
-  <param-name>assembler</param-name>
-  <param-value>com.company.WebContainerComposer</param-value>
-</context-param>
-
-3. Register your service in your Axis WSDD using the custom provider:
-
-<service name="MyService" provider="Handler">
-  <parameter name="handlerClass" value="org.nanocontainer.nanowar.axis.NanoRPCProvider"/>
-  <parameter name="className" value="com.company.MyService"/>
-  <parameter name="allowedMethods" value="*"/>
-</service>
-
-or if you want to use message-style encoding use org.nanocontainer.nanowar.axis.NanoMsgProvider.
-
-4. Register the servlet:
-
-<servlet>
-  <servlet-name>AxisServlet</servlet-name>
-  <display-name>Apache-Axis Servlet</display-name>
-  <servlet-class>org.nanocontainer.nanowar.axis.NanoAxisServlet</servlet-class>
-</servlet>
- 
\ No newline at end of file

Modified: java/nanocontainer-nanowar/trunk/nanowar/pom.xml (3120 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/pom.xml	2006-12-18 18:25:51 UTC (rev 3120)
+++ java/nanocontainer-nanowar/trunk/nanowar/pom.xml	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,82 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>org.nanocontainer</groupId>
-		<artifactId>nanocontainer-nanowar-parent</artifactId>
-		<version>1.1-SNAPSHOT</version>
-	</parent>
-	<artifactId>nanocontainer-nanowar</artifactId>
-	<name>NanoContainer Nanowar</name>
-	<scm>
-		<connection>scm:svn:https://svn.codehaus.org/picocontainer/java/nanocontainer-nanowar/trunk/nanowar</connection>
-		<developerConnection>scm:svn:https://svn.codehaus.org/scm/picocontainer/java/nanocontainer-nanowar/trunk/nanowar</developerConnection>
-		<url>https://svn.codehaus.org/picocontainer/java/nanocontainer-nanowar/trunk/nanowar</url>
-	</scm>
-	<dependencies>
-		<dependency>
-			<groupId>org.picocontainer</groupId>
-			<artifactId>picocontainer</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.picocontainer</groupId>
-			<artifactId>picocontainer-gems</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.nanocontainer</groupId>
-			<artifactId>nanocontainer</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>javax.servlet</groupId>
-			<artifactId>servlet-api</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>webwork</groupId>
-			<artifactId>webwork</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>opensymphony</groupId>
-			<artifactId>xwork</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>opensymphony</groupId>
-			<artifactId>webwork</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>struts</groupId>
-			<artifactId>struts</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>axis</groupId>
-			<artifactId>axis</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>velocity</groupId>
-			<artifactId>velocity</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>velocity-tools</groupId>
-			<artifactId>velocity-tools-view</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>ognl</groupId>
-			<artifactId>ognl</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>groovy</groupId>
-			<artifactId>groovy-all</artifactId>
-		</dependency>
-	</dependencies>
-	<build>
-		<plugins>
-			<plugin>
-				<inherited>true</inherited>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-surefire-plugin</artifactId>
-				<configuration>
-					<skip>true</skip>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.nanocontainer</groupId>
+        <artifactId>nanocontainer-nanowar-parent</artifactId>
+        <version>1.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>nanocontainer-nanowar</artifactId>
+    <name>NanoContainer Nanowar Core</name>
+    <dependencies>
+        <dependency>
+            <groupId>org.nanocontainer</groupId>
+            <artifactId>nanocontainer</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>groovy</groupId>
+            <artifactId>groovy-all</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
 </project>

Deleted: java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/TestAction.java (3120 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/TestAction.java	2006-12-18 18:25:51 UTC (rev 3120)
+++ java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/TestAction.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,8 +0,0 @@
-package org.nanocontainer.nanowar;
-
-
-public interface TestAction {
-
-    public TestService getService();
-
-}
\ No newline at end of file

Deleted: java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/TestService.java (3120 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/TestService.java	2006-12-18 18:25:51 UTC (rev 3120)
+++ java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/TestService.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,15 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar;
-
-/**
- * @author Stephen Molitor
- */
-public class TestService {
-}

Deleted: java/nanocontainer-nanowar/trunk/nanowar/src/test/test.groovy (3120 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/test/test.groovy	2006-12-18 18:25:51 UTC (rev 3120)
+++ java/nanocontainer-nanowar/trunk/nanowar/src/test/test.groovy	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,18 +0,0 @@
-package org.nanocontainer.dynaweb;
-
-/**
- * @author Aslak Helles&oslash;y
- * @version $Revision$
- */
-public class MyGroovyAction {
-
-    public @property int year
-
-    public doit() {
-        if(year > 2003) {
-            return "success";
-        } else {
-            return "error";
-        }
-    }
-}
\ No newline at end of file

Deleted: java/nanocontainer-nanowar/trunk/nanowar/src/test/test.vm (3120 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/test/test.vm	2006-12-18 18:25:51 UTC (rev 3120)
+++ java/nanocontainer-nanowar/trunk/nanowar/src/test/test.vm	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,3 +0,0 @@
-#foreach($car in $action.cars)
-$car.name
-#end
\ No newline at end of file

Property changes: java/nanocontainer-nanowar/trunk/nanowar-axis

Name: svn:ignore
   + 
target

Copied: java/nanocontainer-nanowar/trunk/nanowar-axis/AXIS-README.txt (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/AXIS-README.txt) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-axis/AXIS-README.txt	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-axis/AXIS-README.txt	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,33 @@
+Usage (steps 1 and 2 as per the servlet/webwork integration):
+
+1. Register the servlet container listener in web.xml:
+
+<listener>
+  <listener-class>org.nanocontainer.nanowar.ServletContainerListener</listener-class>
+</listener>
+
+2. Register a container composer in web.xml to handle your component registrations:
+
+<context-param>
+  <param-name>assembler</param-name>
+  <param-value>com.company.WebContainerComposer</param-value>
+</context-param>
+
+3. Register your service in your Axis WSDD using the custom provider:
+
+<service name="MyService" provider="Handler">
+  <parameter name="handlerClass" value="org.nanocontainer.nanowar.axis.NanoRPCProvider"/>
+  <parameter name="className" value="com.company.MyService"/>
+  <parameter name="allowedMethods" value="*"/>
+</service>
+
+or if you want to use message-style encoding use org.nanocontainer.nanowar.axis.NanoMsgProvider.
+
+4. Register the servlet:
+
+<servlet>
+  <servlet-name>AxisServlet</servlet-name>
+  <display-name>Apache-Axis Servlet</display-name>
+  <servlet-class>org.nanocontainer.nanowar.axis.NanoAxisServlet</servlet-class>
+</servlet>
+ 
\ No newline at end of file

Added: java/nanocontainer-nanowar/trunk/nanowar-axis/pom.xml (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-axis/pom.xml	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-axis/pom.xml	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.nanocontainer</groupId>
+        <artifactId>nanocontainer-nanowar-parent</artifactId>
+        <version>1.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>nanocontainer-nanowar-axis</artifactId>
+    <name>NanoContainer Nanowar Axis</name>
+    <dependencies>
+        <dependency>
+            <groupId>org.nanocontainer</groupId>
+            <artifactId>nanocontainer-nanowar</artifactId>
+            <version>1.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>axis</groupId>
+            <artifactId>axis</artifactId>
+            <version>1.2.1</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>wsdl4j</groupId>
+                    <artifactId>wsdl4j</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>javax.activation</groupId>
+                    <artifactId>activation</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>javax.mail</groupId>
+                    <artifactId>mail</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <inherited>true</inherited>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>

Copied: java/nanocontainer-nanowar/trunk/nanowar-axis/src/java/org/nanocontainer/nanowar/axis (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/axis) ( => )


Property changes on: java/nanocontainer-nanowar/trunk/nanowar-nanoweb
___________________________________________________________________
Name: svn:ignore
   + 
target

Added: java/nanocontainer-nanowar/trunk/nanowar-nanoweb/pom.xml (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-nanoweb/pom.xml	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-nanoweb/pom.xml	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.nanocontainer</groupId>
+        <artifactId>nanocontainer-nanowar-parent</artifactId>
+        <version>1.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>nanocontainer-nanowar-nanoweb</artifactId>
+    <name>NanoContainer Nanowar Nanoweb</name>
+    <dependencies>
+        <dependency>
+            <groupId>org.nanocontainer</groupId>
+            <artifactId>nanocontainer-nanowar</artifactId>
+            <version>1.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+        </dependency>        
+        <dependency>
+            <groupId>groovy</groupId>
+            <artifactId>groovy-all</artifactId>
+            <optional>false</optional>
+        </dependency>
+        <dependency>
+            <groupId>velocity</groupId>
+            <artifactId>velocity</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>velocity-tools</groupId>
+            <artifactId>velocity-tools-view</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>ognl</groupId>
+            <artifactId>ognl</artifactId>
+            <version>2.6.7</version>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <inherited>true</inherited>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>

Copied: java/nanocontainer-nanowar/trunk/nanowar-nanoweb/src/java/org/nanocontainer/nanowar/nanoweb (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/nanoweb) ( => )

Copied: java/nanocontainer-nanowar/trunk/nanowar-nanoweb/src/test/org/nanocontainer/nanowar/nanoweb (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/nanoweb)

Modified: java/nanocontainer-nanowar/trunk/nanowar-nanoweb/src/test/org/nanocontainer/nanowar/nanoweb/GPathExperiment.java (3120 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/nanoweb/GPathExperiment.java	2006-12-18 18:25:51 UTC (rev 3120)
+++ java/nanocontainer-nanowar/trunk/nanowar-nanoweb/src/test/org/nanocontainer/nanowar/nanoweb/GPathExperiment.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -58,9 +58,9 @@
         assertSame(nodeOne, root.getNodeOne());
 
         // OGNL can do this, but Groovy can't :-(
-        NodeTwo nodeTwo = new NodeTwo();
-        rootSupport.setProperty("nodeOne.nodeTwo", nodeTwo);
-        assertSame(nodeTwo, nodeOne.getNodeTwo());
+//        NodeTwo nodeTwo = new NodeTwo();
+//        rootSupport.setProperty("nodeOne.nodeTwo", nodeTwo);
+//        assertSame(nodeTwo, nodeOne.getNodeTwo());
     }
 
 }
\ No newline at end of file

Copied: java/nanocontainer-nanowar/trunk/nanowar-nanoweb/src/test/test.groovy (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/test/test.groovy) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-nanoweb/src/test/test.groovy	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-nanoweb/src/test/test.groovy	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,18 @@
+package org.nanocontainer.dynaweb;
+
+/**
+ * @author Aslak Helles&oslash;y
+ * @version $Revision$
+ */
+public class MyGroovyAction {
+
+    public @property int year
+
+    public doit() {
+        if(year > 2003) {
+            return "success";
+        } else {
+            return "error";
+        }
+    }
+}
\ No newline at end of file

Copied: java/nanocontainer-nanowar/trunk/nanowar-nanoweb/src/test/test.vm (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/test/test.vm) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-nanoweb/src/test/test.vm	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-nanoweb/src/test/test.vm	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,3 @@
+#foreach($car in $action.cars)
+$car.name
+#end
\ No newline at end of file

Property changes: java/nanocontainer-nanowar/trunk/nanowar-struts

Name: svn:ignore
   + 
target

Added: java/nanocontainer-nanowar/trunk/nanowar-struts/pom.xml (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-struts/pom.xml	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/pom.xml	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.nanocontainer</groupId>
+		<artifactId>nanocontainer-nanowar-parent</artifactId>
+		<version>1.1-SNAPSHOT</version>
+	</parent>
+	<artifactId>nanocontainer-nanowar-struts</artifactId>
+	<name>NanoContainer Nanowar Struts</name>
+	<dependencies>
+		<dependency>
+			<groupId>org.nanocontainer</groupId>
+			<artifactId>nanocontainer-nanowar</artifactId>
+            <version>1.1-SNAPSHOT</version>            
+		</dependency>
+		<dependency>
+			<groupId>struts</groupId>
+			<artifactId>struts</artifactId>
+            <version>1.2.7</version>
+		</dependency>
+	</dependencies>
+</project>

Copied: java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts (from rev 3118, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/struts) ( => )

Deleted: java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/ActionFactory.java
===================================================================
--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/struts/ActionFactory.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/ActionFactory.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,74 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.struts;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.ActionServlet;
-import org.nanocontainer.nanowar.ActionsContainerFactory;
-import org.picocontainer.MutablePicoContainer;
-import org.picocontainer.PicoInitializationException;
-import org.picocontainer.PicoIntrospectionException;
-
-/**
- * Uses PicoContainer to produce Actions and inject dependencies into them. 
- * If you have your own <code>RequestProcessor</code> implementation, you can use an
- * <code>ActionFactory</code> in your <code>RequestProcessor.processActionCreate</code> 
- * method to Picofy your Actions.
- * 
- * @author Stephen Molitor
- * @author Mauro Talevi
- */
-public class ActionFactory {
-    
-     private ActionsContainerFactory actionsContainerFactory = new ActionsContainerFactory();
-
-    /**
-     * Gets the <code>Action</code> specified by the mapping type from a PicoContainer. 
-     * The action will be instantiated if necessary, and its
-     * dependencies will be injected. The action will be instantiated via a
-     * special PicoContainer that just contains actions. If this container
-     * already exists in the request attribute, this method will use it. If no
-     * such container exists, this method will create a new Pico container and
-     * place it in the request. The parent container will either be the request
-     * container, or if that container can not be found the session container,
-     * or if that container can not be found, the application container. If no
-     * parent container can be found, a <code>PicoInitializationException</code>
-     * will be thrown. The action path specified in the mapping is used as
-     * the component key for the action.
-     * 
-     * @param request the Http servlet request.
-     * @param mapping the Struts mapping object, whose type property tells us what
-     *        Action class is required.
-     * @param servlet the Struts <code>ActionServlet</code>.  
-     * @return the <code>Action</code> instance.
-     * @throws PicoIntrospectionException  if the mapping type does not specify a valid action.
-     * @throws PicoInitializationException if no request, session, or application scoped Pico container
-     *                                     can be found.
-     */
-    public Action getAction(HttpServletRequest request, ActionMapping mapping, ActionServlet servlet)
-            throws PicoIntrospectionException, PicoInitializationException {
-
-        MutablePicoContainer actionsContainer = actionsContainerFactory.getActionsContainer(request);
-        Object actionKey = mapping.getPath();
-        Class actionType = actionsContainerFactory.getActionClass(mapping.getType());
-
-        Action action = "" actionsContainer.getComponentInstance(actionKey);
-        if (action == null) {
-            actionsContainer.registerComponentImplementation(actionKey, actionType);
-            action = "" actionsContainer.getComponentInstance(actionKey);
-        }
-
-        action.setServlet(servlet);
-        return action;
-    }
-
-}
\ No newline at end of file

Copied: java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/ActionFactory.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/struts/ActionFactory.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/ActionFactory.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/ActionFactory.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,74 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.struts;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.struts.action.Action;
+import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionServlet;
+import org.nanocontainer.nanowar.ActionsContainerFactory;
+import org.picocontainer.MutablePicoContainer;
+import org.picocontainer.PicoInitializationException;
+import org.picocontainer.PicoIntrospectionException;
+
+/**
+ * Uses PicoContainer to produce Actions and inject dependencies into them. 
+ * If you have your own <code>RequestProcessor</code> implementation, you can use an
+ * <code>ActionFactory</code> in your <code>RequestProcessor.processActionCreate</code> 
+ * method to Picofy your Actions.
+ * 
+ * @author Stephen Molitor
+ * @author Mauro Talevi
+ */
+public class ActionFactory {
+    
+     private ActionsContainerFactory actionsContainerFactory = new ActionsContainerFactory();
+
+    /**
+     * Gets the <code>Action</code> specified by the mapping type from a PicoContainer. 
+     * The action will be instantiated if necessary, and its
+     * dependencies will be injected. The action will be instantiated via a
+     * special PicoContainer that just contains actions. If this container
+     * already exists in the request attribute, this method will use it. If no
+     * such container exists, this method will create a new Pico container and
+     * place it in the request. The parent container will either be the request
+     * container, or if that container can not be found the session container,
+     * or if that container can not be found, the application container. If no
+     * parent container can be found, a <code>PicoInitializationException</code>
+     * will be thrown. The action path specified in the mapping is used as
+     * the component key for the action.
+     * 
+     * @param request the Http servlet request.
+     * @param mapping the Struts mapping object, whose type property tells us what
+     *        Action class is required.
+     * @param servlet the Struts <code>ActionServlet</code>.  
+     * @return the <code>Action</code> instance.
+     * @throws PicoIntrospectionException  if the mapping type does not specify a valid action.
+     * @throws PicoInitializationException if no request, session, or application scoped Pico container
+     *                                     can be found.
+     */
+    public Action getAction(HttpServletRequest request, ActionMapping mapping, ActionServlet servlet)
+            throws PicoIntrospectionException, PicoInitializationException {
+
+        MutablePicoContainer actionsContainer = actionsContainerFactory.getActionsContainer(request);
+        Object actionKey = mapping.getPath();
+        Class actionType = actionsContainerFactory.getActionClass(mapping.getType());
+
+        Action action = "" actionsContainer.getComponentInstance(actionKey);
+        if (action == null) {
+            actionsContainer.registerComponentImplementation(actionKey, actionType);
+            action = "" actionsContainer.getComponentInstance(actionKey);
+        }
+
+        action.setServlet(servlet);
+        return action;
+    }
+
+}
\ No newline at end of file

Deleted: java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/KeyConstants.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/struts/KeyConstants.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/KeyConstants.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,18 +0,0 @@
-/**
- * **************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- * *
- * ***************************************************************************
- */
-package org.nanocontainer.nanowar.struts;
-
-/**
- * @deprecated Use org.nanocontainer.nanowar.KeyConstants
- */
-public interface KeyConstants extends org.nanocontainer.nanowar.KeyConstants {
-
-}
\ No newline at end of file

Copied: java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/KeyConstants.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/struts/KeyConstants.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/KeyConstants.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/KeyConstants.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,18 @@
+/**
+ * **************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ * *
+ * ***************************************************************************
+ */
+package org.nanocontainer.nanowar.struts;
+
+/**
+ * @deprecated Use org.nanocontainer.nanowar.KeyConstants
+ */
+public interface KeyConstants extends org.nanocontainer.nanowar.KeyConstants {
+
+}
\ No newline at end of file

Deleted: java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/PicoActionServlet.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/struts/PicoActionServlet.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/PicoActionServlet.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,46 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.struts;
-
-import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.ActionServlet;
-
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * Uses Pico to produce Actions and inject dependencies into them.  Only use this class if you are using
- * Struts 1.0.  If you are using Struts 1.1, use {@link PicoRequestProcessor} or {@link PicoTilesRequestProcessor}
- * instead.
- *
- * @author Stephen Molitor
- * @see ActionFactory
- * @see PicoRequestProcessor
- * @see PicoTilesRequestProcessor
- */
-public class PicoActionServlet extends ActionServlet {
-
-    private final ActionFactory actionFactory = new ActionFactory();
-
-    /**
-     * Creates or retrieves the action instance.  The action is retrieved from the actions
-     * Pico container, using the mapping path as the component key.  If no such action exists,
-     * a new one will be instantiated and placed in the actions container, thus injecting
-     * its dependencies.
-     *
-     * @param mapping the action mapping.
-     * @param request the HTTP request.
-     * @return the action instance.
-     */
-    protected Action processActionCreate(ActionMapping mapping,
-                                         HttpServletRequest request) {
-        return actionFactory.getAction(request, mapping, this);
-    }
-
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/PicoActionServlet.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/struts/PicoActionServlet.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/PicoActionServlet.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/PicoActionServlet.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.struts;
+
+import org.apache.struts.action.Action;
+import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionServlet;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * Uses Pico to produce Actions and inject dependencies into them.  Only use this class if you are using
+ * Struts 1.0.  If you are using Struts 1.1, use {@link PicoRequestProcessor} or {@link PicoTilesRequestProcessor}
+ * instead.
+ *
+ * @author Stephen Molitor
+ * @see ActionFactory
+ * @see PicoRequestProcessor
+ * @see PicoTilesRequestProcessor
+ */
+public class PicoActionServlet extends ActionServlet {
+
+    private final ActionFactory actionFactory = new ActionFactory();
+
+    /**
+     * Creates or retrieves the action instance.  The action is retrieved from the actions
+     * Pico container, using the mapping path as the component key.  If no such action exists,
+     * a new one will be instantiated and placed in the actions container, thus injecting
+     * its dependencies.
+     *
+     * @param mapping the action mapping.
+     * @param request the HTTP request.
+     * @return the action instance.
+     */
+    protected Action processActionCreate(ActionMapping mapping,
+                                         HttpServletRequest request) {
+        return actionFactory.getAction(request, mapping, this);
+    }
+
+}

Deleted: java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/PicoRequestProcessor.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/struts/PicoRequestProcessor.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/PicoRequestProcessor.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,48 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.struts;
-
-import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.RequestProcessor;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-/**
- * Uses Pico to produce Actions and inject dependencies into them. If you are using the Tiles
- * library, use {@link PicoTilesRequestProcessor} instead.
- *
- * @author Stephen Molitor
- * @see ActionFactory
- * @see PicoTilesRequestProcessor
- */
-public class PicoRequestProcessor extends RequestProcessor {
-
-    private final ActionFactory actionFactory = new ActionFactory();
-
-    /**
-     * Creates or retrieves the action instance.  The action is retrieved from the actions
-     * Pico container, using the mapping path as the component key.  If no such action exists,
-     * a new one will be instantiated and placed in the actions container, thus injecting
-     * its dependencies.
-     *
-     * @param request  the HTTP request object.
-     * @param response the HTTP response object.
-     * @param mapping  the action mapping.
-     * @return the action instance.
-     */
-    protected Action processActionCreate(HttpServletRequest request,
-                                         HttpServletResponse response,
-                                         ActionMapping mapping) throws IOException {
-        return actionFactory.getAction(request, mapping, this.servlet);
-    }
-
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/PicoRequestProcessor.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/struts/PicoRequestProcessor.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/PicoRequestProcessor.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/PicoRequestProcessor.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.struts;
+
+import org.apache.struts.action.Action;
+import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.RequestProcessor;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * Uses Pico to produce Actions and inject dependencies into them. If you are using the Tiles
+ * library, use {@link PicoTilesRequestProcessor} instead.
+ *
+ * @author Stephen Molitor
+ * @see ActionFactory
+ * @see PicoTilesRequestProcessor
+ */
+public class PicoRequestProcessor extends RequestProcessor {
+
+    private final ActionFactory actionFactory = new ActionFactory();
+
+    /**
+     * Creates or retrieves the action instance.  The action is retrieved from the actions
+     * Pico container, using the mapping path as the component key.  If no such action exists,
+     * a new one will be instantiated and placed in the actions container, thus injecting
+     * its dependencies.
+     *
+     * @param request  the HTTP request object.
+     * @param response the HTTP response object.
+     * @param mapping  the action mapping.
+     * @return the action instance.
+     */
+    protected Action processActionCreate(HttpServletRequest request,
+                                         HttpServletResponse response,
+                                         ActionMapping mapping) throws IOException {
+        return actionFactory.getAction(request, mapping, this.servlet);
+    }
+
+}

Deleted: java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/PicoTilesRequestProcessor.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/struts/PicoTilesRequestProcessor.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/PicoTilesRequestProcessor.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,49 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.struts;
-
-import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionMapping;
-import org.apache.struts.tiles.TilesRequestProcessor;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-/**
- * Uses Pico to produce Actions and inject dependencies into them.  Use this class if
- * you are using the Tiles library.  If not, you can use the {@link org.nanocontainer.nanowar.sample.struts.PicoRequestProcessor}
- * instead.
- *
- * @author Stephen Molitor
- * @see ActionFactory
- * @see org.nanocontainer.nanowar.sample.struts.PicoRequestProcessor
- */
-public class PicoTilesRequestProcessor extends TilesRequestProcessor {
-
-    private final ActionFactory actionFactory = new ActionFactory();
-
-    /**
-     * Creates or retrieves the action instance.  The action is retrieved from the actions
-     * Pico container, using the mapping path as the component key.  If no such action exists,
-     * a new one will be instantiated and placed in the actions container, thus injecting
-     * its dependencies.
-     *
-     * @param request  the HTTP request object.
-     * @param response the HTTP response object.
-     * @param mapping  the action mapping.
-     * @return the action instance.
-     */
-    protected Action processActionCreate(HttpServletRequest request,
-                                         HttpServletResponse response,
-                                         ActionMapping mapping) throws IOException {
-        return actionFactory.getAction(request, mapping, servlet);
-    }
-
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/PicoTilesRequestProcessor.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/struts/PicoTilesRequestProcessor.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/PicoTilesRequestProcessor.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/PicoTilesRequestProcessor.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.struts;
+
+import org.apache.struts.action.Action;
+import org.apache.struts.action.ActionMapping;
+import org.apache.struts.tiles.TilesRequestProcessor;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * Uses Pico to produce Actions and inject dependencies into them.  Use this class if
+ * you are using the Tiles library.  If not, you can use the {@link org.nanocontainer.nanowar.sample.struts.PicoRequestProcessor}
+ * instead.
+ *
+ * @author Stephen Molitor
+ * @see ActionFactory
+ * @see org.nanocontainer.nanowar.sample.struts.PicoRequestProcessor
+ */
+public class PicoTilesRequestProcessor extends TilesRequestProcessor {
+
+    private final ActionFactory actionFactory = new ActionFactory();
+
+    /**
+     * Creates or retrieves the action instance.  The action is retrieved from the actions
+     * Pico container, using the mapping path as the component key.  If no such action exists,
+     * a new one will be instantiated and placed in the actions container, thus injecting
+     * its dependencies.
+     *
+     * @param request  the HTTP request object.
+     * @param response the HTTP response object.
+     * @param mapping  the action mapping.
+     * @return the action instance.
+     */
+    protected Action processActionCreate(HttpServletRequest request,
+                                         HttpServletResponse response,
+                                         ActionMapping mapping) throws IOException {
+        return actionFactory.getAction(request, mapping, servlet);
+    }
+
+}

Deleted: java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/package.html (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/struts/package.html	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/package.html	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-</head>
-<body>
-Integrates Struts with PicoContainer.  Uses Pico to inject dependencies into Struts actions.  This package is intended to be used in conjuntion with nano-servlet.  Use nano-servlet to configure component your actions depend on, and nano-struts will inject those dependencies into your Struts actions using constructor injection.  
-<p>
-To use with Struts 1.1, specify either the {@link org.nanocontainer.nanowar.struts.PicoRequestProcessor}, or if you are using the Tiles library, the {@link org.nanocontainer.nanowar.struts.PicoTilesRequestProcessor}, as the controller class in your Struts configuration file.
-<p>
-If you are using Struts 1.0, you can use the {@link org.nanocontainer.nanowar.struts.PicoActionServlet} instead.  If you have your own request processor or action servlet class, you can use {@link org.nanocontainer.nanowar.struts.ActionFactory} in the <code>processActionCreate</code> method of your action servlet or request processor.
-
-</body>
-</html>

Copied: java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/package.html (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/struts/package.html) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/package.html	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/java/org/nanocontainer/nanowar/struts/package.html	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+</head>
+<body>
+Integrates Struts with PicoContainer.  Uses Pico to inject dependencies into Struts actions.  This package is intended to be used in conjuntion with nano-servlet.  Use nano-servlet to configure component your actions depend on, and nano-struts will inject those dependencies into your Struts actions using constructor injection.  
+<p>
+To use with Struts 1.1, specify either the {@link org.nanocontainer.nanowar.struts.PicoRequestProcessor}, or if you are using the Tiles library, the {@link org.nanocontainer.nanowar.struts.PicoTilesRequestProcessor}, as the controller class in your Struts configuration file.
+<p>
+If you are using Struts 1.0, you can use the {@link org.nanocontainer.nanowar.struts.PicoActionServlet} instead.  If you have your own request processor or action servlet class, you can use {@link org.nanocontainer.nanowar.struts.ActionFactory} in the <code>processActionCreate</code> method of your action servlet or request processor.
+
+</body>
+</html>

Copied: java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts (from rev 3118, java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/struts) ( => )

Deleted: java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/AbstractActionTestCase.java
===================================================================
--- java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/struts/AbstractActionTestCase.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/AbstractActionTestCase.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,54 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.struts;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.struts.action.ActionMapping;
-import org.jmock.Mock;
-import org.jmock.MockObjectTestCase;
-import org.nanocontainer.nanowar.KeyConstants;
-import org.nanocontainer.nanowar.TestService;
-import org.picocontainer.MutablePicoContainer;
-import org.picocontainer.defaults.DefaultPicoContainer;
-
-/**
- * @author Stephen Molitor
- */
-public abstract class AbstractActionTestCase extends MockObjectTestCase {
-    protected HttpServletRequest request;
-    protected HttpServletResponse response;
-    protected ActionMapping mapping;
-    protected TestService service;
-
-    private Mock requestMock;
-    private Mock responseMock;
-    private MutablePicoContainer container;
-
-    protected void setUp() {
-        requestMock = mock(HttpServletRequest.class);
-        request = (HttpServletRequest) requestMock.proxy();
-
-        responseMock = mock(HttpServletResponse.class);
-        response = (HttpServletResponse) responseMock.proxy();
-
-        String actionType = StrutsTestAction.class.getName();
-        mapping = new ActionMapping();
-        mapping.setPath("/myPath1");
-        mapping.setType(actionType);
-
-        service = new TestService();
-        container = new DefaultPicoContainer();
-        container.registerComponentInstance(TestService.class, service);
-
-        requestMock.stubs().method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(returnValue(container));
-    }
-
-}
\ No newline at end of file

Copied: java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/AbstractActionTestCase.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/struts/AbstractActionTestCase.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/AbstractActionTestCase.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/AbstractActionTestCase.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.struts;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts.action.ActionMapping;
+import org.jmock.Mock;
+import org.jmock.MockObjectTestCase;
+import org.nanocontainer.nanowar.KeyConstants;
+import org.picocontainer.MutablePicoContainer;
+import org.picocontainer.defaults.DefaultPicoContainer;
+
+/**
+ * @author Stephen Molitor
+ */
+public abstract class AbstractActionTestCase extends MockObjectTestCase {
+    protected HttpServletRequest request;
+    protected HttpServletResponse response;
+    protected ActionMapping mapping;
+    protected TestService service;
+
+    private Mock requestMock;
+    private Mock responseMock;
+    private MutablePicoContainer container;
+
+    protected void setUp() {
+        requestMock = mock(HttpServletRequest.class);
+        request = (HttpServletRequest) requestMock.proxy();
+
+        responseMock = mock(HttpServletResponse.class);
+        response = (HttpServletResponse) responseMock.proxy();
+
+        String actionType = StrutsTestAction.class.getName();
+        mapping = new ActionMapping();
+        mapping.setPath("/myPath1");
+        mapping.setType(actionType);
+
+        service = new TestService();
+        container = new DefaultPicoContainer();
+        container.registerComponentInstance(TestService.class, service);
+
+        requestMock.stubs().method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(returnValue(container));
+    }
+
+}
\ No newline at end of file

Deleted: java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/ActionFactoryTestCase.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/struts/ActionFactoryTestCase.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/ActionFactoryTestCase.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,206 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.struts;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.ActionServlet;
-import org.jmock.Mock;
-import org.jmock.cglib.MockObjectTestCase;
-import org.nanocontainer.nanowar.KeyConstants;
-import org.nanocontainer.nanowar.TestAction;
-import org.nanocontainer.nanowar.TestService;
-import org.picocontainer.MutablePicoContainer;
-import org.picocontainer.PicoInitializationException;
-import org.picocontainer.PicoIntrospectionException;
-import org.picocontainer.defaults.DefaultPicoContainer;
-
-/**
- * @author Stephen Molitor
- */
-public class ActionFactoryTestCase extends MockObjectTestCase {
-
-    private Mock requestMock = mock(HttpServletRequest.class);
-    private HttpServletRequest request = (HttpServletRequest) requestMock.proxy();
-
-    private Mock sessionMock = mock(HttpSession.class);
-    private HttpSession session = (HttpSession) sessionMock.proxy();
-
-    private Mock servletContextMock = mock(ServletContext.class);
-    private ServletContext servletContext = (ServletContext) servletContextMock.proxy();
-
-    private Mock servletMock = mock(ActionServlet.class);
-    private ActionServlet servlet = (ActionServlet) servletMock.proxy();
-
-    private ActionMapping mapping1;
-    private ActionMapping mapping2;
-
-    private ActionFactory actionFactory;
-    private TestService service;
-
-    public void testActionContainerCreatedOnlyOncePerRequest() {
-        MutablePicoContainer requestContainer = new DefaultPicoContainer();
-        requestContainer.registerComponentImplementation(TestService.class);
-        MutablePicoContainer actionsContainer = new DefaultPicoContainer(requestContainer);
-
-        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
-                returnValue(actionsContainer));
-        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
-                returnValue(actionsContainer));
-        requestMock.expects(once()).method("setAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER),
-                isA(MutablePicoContainer.class));
-        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
-                returnValue(requestContainer));
-        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
-                returnValue(null));
-
-        actionFactory.getAction(request, mapping1, servlet);
-        actionFactory.getAction(request, mapping1, servlet);
-        actionFactory.getAction(request, mapping1, servlet);
-    }
-
-    public void testGetActionWhenActionsContainerAlreadyExists() {
-        MutablePicoContainer requestContainer = new DefaultPicoContainer();
-        requestContainer.registerComponentInstance(TestService.class, service);
-        MutablePicoContainer actionsContainer = new DefaultPicoContainer(requestContainer);
-
-        requestMock.stubs().method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
-                returnValue(actionsContainer));
-
-        StrutsTestAction action1 = (StrutsTestAction) actionFactory.getAction(request, mapping1, servlet);
-        StrutsTestAction action2 = (StrutsTestAction) actionFactory.getAction(request, mapping2, servlet);
-        TestAction action3 = (TestAction) actionFactory.getAction(request, mapping1, servlet);
-        TestAction action4 = (TestAction) actionFactory.getAction(request, mapping2, servlet);
-
-        assertNotNull(action1);
-        assertNotNull(action2);
-        assertNotSame(action1, action2);
-        assertSame(action1, action3);
-        assertSame(action2, action4);
-
-        assertSame(action1, actionsContainer.getComponentInstance("/myPath1"));
-        assertSame(action2, actionsContainer.getComponentInstance("/myPath2"));
-
-        assertSame(service, action1.getService());
-        assertSame(service, action2.getService());
-
-        assertNotNull(action1.getServlet());
-        assertNotNull(action2.getServlet());
-        assertSame(servlet, action1.getServlet());
-        assertSame(servlet, action2.getServlet());
-    }
-
-    public void testRequestContainerExists() {
-        MutablePicoContainer requestContainer = new DefaultPicoContainer();
-        requestContainer.registerComponentInstance(TestService.class, service);
-
-        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
-                returnValue(null));
-        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
-                returnValue(requestContainer));
-        requestMock.expects(once()).method("setAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER),
-                isA(MutablePicoContainer.class));
-
-        TestAction action = "" actionFactory.getAction(request, mapping1, servlet);
-        assertNotNull(action);
-        assertSame(service, action.getService());
-    }
-
-    public void testSessionContainerExists() {
-        MutablePicoContainer sessionContainer = new DefaultPicoContainer();
-        sessionContainer.registerComponentInstance(TestService.class, service);
-
-        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
-                returnValue(null));
-        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
-                returnValue(null));
-        sessionMock.expects(once()).method("getAttribute").with(eq(KeyConstants.SESSION_CONTAINER)).will(
-                returnValue(sessionContainer));
-        requestMock.expects(once()).method("setAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER),
-                isA(MutablePicoContainer.class));
-
-        TestAction action = "" actionFactory.getAction(request, mapping1, servlet);
-        assertNotNull(action);
-        assertSame(service, action.getService());
-    }
-
-    public void testApplicationContainerExists() {
-        MutablePicoContainer appContainer = new DefaultPicoContainer();
-        appContainer.registerComponentInstance(TestService.class, service);
-
-        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
-                returnValue(null));
-        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
-                returnValue(null));
-        sessionMock.expects(once()).method("getAttribute").with(eq(KeyConstants.SESSION_CONTAINER)).will(
-                returnValue(null));
-        servletContextMock.expects(once()).method("getAttribute").with(eq(KeyConstants.APPLICATION_CONTAINER)).will(
-                returnValue(appContainer));
-        requestMock.expects(once()).method("setAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER),
-                isA(MutablePicoContainer.class));
-
-        TestAction action = "" actionFactory.getAction(request, mapping1, servlet);
-        assertNotNull(action);
-        assertSame(service, action.getService());
-    }
-
-    public void testNoContainerExists() {
-        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
-                returnValue(null));
-        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
-                returnValue(null));
-        sessionMock.expects(once()).method("getAttribute").with(eq(KeyConstants.SESSION_CONTAINER)).will(
-                returnValue(null));
-        servletContextMock.expects(once()).method("getAttribute").with(eq(KeyConstants.APPLICATION_CONTAINER)).will(
-                returnValue(null));
-
-        try {
-            actionFactory.getAction(request, mapping1, servlet);
-            fail("PicoInitializationException should have been raised");
-        } catch (PicoInitializationException e) {
-            // expected
-        }
-    }
-
-    public void testBadActionType() {
-        MutablePicoContainer actionsContainer = new DefaultPicoContainer();
-        requestMock.stubs().method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
-                returnValue(actionsContainer));
-
-        mapping1.setType("/i/made/a/typo");
-        try {
-            actionFactory.getAction(request, mapping1, servlet);
-            fail("PicoIntrospectionException should have been raised");
-        } catch (PicoIntrospectionException e) {
-            // expected
-        }
-    }
-
-    protected void setUp() {
-        String actionType = StrutsTestAction.class.getName();
-
-        mapping1 = new ActionMapping();
-        mapping1.setPath("/myPath1");
-        mapping1.setType(actionType);
-
-        mapping2 = new ActionMapping();
-        mapping2.setPath("/myPath2");
-        mapping2.setType(actionType);
-
-        requestMock.stubs().method("getSession").will(returnValue(session));
-        sessionMock.stubs().method("getServletContext").will(returnValue(servletContext));
-
-        actionFactory = new ActionFactory();
-        service = new TestService();
-    }
-
-}
\ No newline at end of file

Copied: java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/ActionFactoryTestCase.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/struts/ActionFactoryTestCase.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/ActionFactoryTestCase.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/ActionFactoryTestCase.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,204 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.struts;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionServlet;
+import org.jmock.Mock;
+import org.jmock.cglib.MockObjectTestCase;
+import org.nanocontainer.nanowar.KeyConstants;
+import org.picocontainer.MutablePicoContainer;
+import org.picocontainer.PicoInitializationException;
+import org.picocontainer.PicoIntrospectionException;
+import org.picocontainer.defaults.DefaultPicoContainer;
+
+/**
+ * @author Stephen Molitor
+ */
+public class ActionFactoryTestCase extends MockObjectTestCase {
+
+    private Mock requestMock = mock(HttpServletRequest.class);
+    private HttpServletRequest request = (HttpServletRequest) requestMock.proxy();
+
+    private Mock sessionMock = mock(HttpSession.class);
+    private HttpSession session = (HttpSession) sessionMock.proxy();
+
+    private Mock servletContextMock = mock(ServletContext.class);
+    private ServletContext servletContext = (ServletContext) servletContextMock.proxy();
+
+    private Mock servletMock = mock(ActionServlet.class);
+    private ActionServlet servlet = (ActionServlet) servletMock.proxy();
+
+    private ActionMapping mapping1;
+    private ActionMapping mapping2;
+
+    private ActionFactory actionFactory;
+    private TestService service;
+
+    public void testActionContainerCreatedOnlyOncePerRequest() {
+        MutablePicoContainer requestContainer = new DefaultPicoContainer();
+        requestContainer.registerComponentImplementation(TestService.class);
+        MutablePicoContainer actionsContainer = new DefaultPicoContainer(requestContainer);
+
+        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
+                returnValue(actionsContainer));
+        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
+                returnValue(actionsContainer));
+        requestMock.expects(once()).method("setAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER),
+                isA(MutablePicoContainer.class));
+        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
+                returnValue(requestContainer));
+        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
+                returnValue(null));
+
+        actionFactory.getAction(request, mapping1, servlet);
+        actionFactory.getAction(request, mapping1, servlet);
+        actionFactory.getAction(request, mapping1, servlet);
+    }
+
+    public void testGetActionWhenActionsContainerAlreadyExists() {
+        MutablePicoContainer requestContainer = new DefaultPicoContainer();
+        requestContainer.registerComponentInstance(TestService.class, service);
+        MutablePicoContainer actionsContainer = new DefaultPicoContainer(requestContainer);
+
+        requestMock.stubs().method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
+                returnValue(actionsContainer));
+
+        StrutsTestAction action1 = (StrutsTestAction) actionFactory.getAction(request, mapping1, servlet);
+        StrutsTestAction action2 = (StrutsTestAction) actionFactory.getAction(request, mapping2, servlet);
+        TestAction action3 = (TestAction) actionFactory.getAction(request, mapping1, servlet);
+        TestAction action4 = (TestAction) actionFactory.getAction(request, mapping2, servlet);
+
+        assertNotNull(action1);
+        assertNotNull(action2);
+        assertNotSame(action1, action2);
+        assertSame(action1, action3);
+        assertSame(action2, action4);
+
+        assertSame(action1, actionsContainer.getComponentInstance("/myPath1"));
+        assertSame(action2, actionsContainer.getComponentInstance("/myPath2"));
+
+        assertSame(service, action1.getService());
+        assertSame(service, action2.getService());
+
+        assertNotNull(action1.getServlet());
+        assertNotNull(action2.getServlet());
+        assertSame(servlet, action1.getServlet());
+        assertSame(servlet, action2.getServlet());
+    }
+
+    public void testRequestContainerExists() {
+        MutablePicoContainer requestContainer = new DefaultPicoContainer();
+        requestContainer.registerComponentInstance(TestService.class, service);
+
+        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
+                returnValue(null));
+        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
+                returnValue(requestContainer));
+        requestMock.expects(once()).method("setAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER),
+                isA(MutablePicoContainer.class));
+
+        TestAction action = "" actionFactory.getAction(request, mapping1, servlet);
+        assertNotNull(action);
+        assertSame(service, action.getService());
+    }
+
+    public void testSessionContainerExists() {
+        MutablePicoContainer sessionContainer = new DefaultPicoContainer();
+        sessionContainer.registerComponentInstance(TestService.class, service);
+
+        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
+                returnValue(null));
+        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
+                returnValue(null));
+        sessionMock.expects(once()).method("getAttribute").with(eq(KeyConstants.SESSION_CONTAINER)).will(
+                returnValue(sessionContainer));
+        requestMock.expects(once()).method("setAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER),
+                isA(MutablePicoContainer.class));
+
+        TestAction action = "" actionFactory.getAction(request, mapping1, servlet);
+        assertNotNull(action);
+        assertSame(service, action.getService());
+    }
+
+    public void testApplicationContainerExists() {
+        MutablePicoContainer appContainer = new DefaultPicoContainer();
+        appContainer.registerComponentInstance(TestService.class, service);
+
+        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
+                returnValue(null));
+        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
+                returnValue(null));
+        sessionMock.expects(once()).method("getAttribute").with(eq(KeyConstants.SESSION_CONTAINER)).will(
+                returnValue(null));
+        servletContextMock.expects(once()).method("getAttribute").with(eq(KeyConstants.APPLICATION_CONTAINER)).will(
+                returnValue(appContainer));
+        requestMock.expects(once()).method("setAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER),
+                isA(MutablePicoContainer.class));
+
+        TestAction action = "" actionFactory.getAction(request, mapping1, servlet);
+        assertNotNull(action);
+        assertSame(service, action.getService());
+    }
+
+    public void testNoContainerExists() {
+        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
+                returnValue(null));
+        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
+                returnValue(null));
+        sessionMock.expects(once()).method("getAttribute").with(eq(KeyConstants.SESSION_CONTAINER)).will(
+                returnValue(null));
+        servletContextMock.expects(once()).method("getAttribute").with(eq(KeyConstants.APPLICATION_CONTAINER)).will(
+                returnValue(null));
+
+        try {
+            actionFactory.getAction(request, mapping1, servlet);
+            fail("PicoInitializationException should have been raised");
+        } catch (PicoInitializationException e) {
+            // expected
+        }
+    }
+
+    public void testBadActionType() {
+        MutablePicoContainer actionsContainer = new DefaultPicoContainer();
+        requestMock.stubs().method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
+                returnValue(actionsContainer));
+
+        mapping1.setType("/i/made/a/typo");
+        try {
+            actionFactory.getAction(request, mapping1, servlet);
+            fail("PicoIntrospectionException should have been raised");
+        } catch (PicoIntrospectionException e) {
+            // expected
+        }
+    }
+
+    protected void setUp() {
+        String actionType = StrutsTestAction.class.getName();
+
+        mapping1 = new ActionMapping();
+        mapping1.setPath("/myPath1");
+        mapping1.setType(actionType);
+
+        mapping2 = new ActionMapping();
+        mapping2.setPath("/myPath2");
+        mapping2.setType(actionType);
+
+        requestMock.stubs().method("getSession").will(returnValue(session));
+        sessionMock.stubs().method("getServletContext").will(returnValue(servletContext));
+
+        actionFactory = new ActionFactory();
+        service = new TestService();
+    }
+
+}
\ No newline at end of file

Deleted: java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/PicoActionServletTestCase.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/struts/PicoActionServletTestCase.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/PicoActionServletTestCase.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,26 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.struts;
-
-import java.io.IOException;
-
-/**
- * @author Stephen Molitor
- */
-public class PicoActionServletTestCase extends AbstractActionTestCase {
-
-    public void testProcessActionCreate() throws IOException {
-        PicoActionServlet servlet = new PicoActionServlet();
-        StrutsTestAction action = "" servlet.processActionCreate(mapping, request);
-        assertNotNull(action);
-        assertSame(service, action.getService());
-        assertSame(servlet, action.getServlet());
-    }
-
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/PicoActionServletTestCase.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/struts/PicoActionServletTestCase.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/PicoActionServletTestCase.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/PicoActionServletTestCase.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.struts;
+
+import java.io.IOException;
+
+/**
+ * @author Stephen Molitor
+ */
+public class PicoActionServletTestCase extends AbstractActionTestCase {
+
+    public void testProcessActionCreate() throws IOException {
+        PicoActionServlet servlet = new PicoActionServlet();
+        StrutsTestAction action = "" servlet.processActionCreate(mapping, request);
+        assertNotNull(action);
+        assertSame(service, action.getService());
+        assertSame(servlet, action.getServlet());
+    }
+
+}

Deleted: java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/PicoRequestProcessorTestCase.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/struts/PicoRequestProcessorTestCase.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/PicoRequestProcessorTestCase.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,27 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.struts;
-
-import java.io.IOException;
-
-import org.nanocontainer.nanowar.TestAction;
-
-/**
- * @author Stephen Molitor
- */
-public class PicoRequestProcessorTestCase extends AbstractActionTestCase {
-
-    public void testProcessActionCreate() throws IOException {
-        PicoRequestProcessor requestProcessor = new PicoRequestProcessor();
-        TestAction action = "" requestProcessor.processActionCreate(request, response, mapping);
-        assertNotNull(action);
-        assertSame(service, action.getService());
-    }
-
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/PicoRequestProcessorTestCase.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/struts/PicoRequestProcessorTestCase.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/PicoRequestProcessorTestCase.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/PicoRequestProcessorTestCase.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.struts;
+
+import java.io.IOException;
+
+
+/**
+ * @author Stephen Molitor
+ */
+public class PicoRequestProcessorTestCase extends AbstractActionTestCase {
+
+    public void testProcessActionCreate() throws IOException {
+        PicoRequestProcessor requestProcessor = new PicoRequestProcessor();
+        TestAction action = "" requestProcessor.processActionCreate(request, response, mapping);
+        assertNotNull(action);
+        assertSame(service, action.getService());
+    }
+
+}

Deleted: java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/PicoTilesRequestProcessorTestCase.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/struts/PicoTilesRequestProcessorTestCase.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/PicoTilesRequestProcessorTestCase.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,27 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.struts;
-
-import java.io.IOException;
-
-import org.nanocontainer.nanowar.TestAction;
-
-/**
- * @author Stephen Molitor
- */
-public class PicoTilesRequestProcessorTestCase extends AbstractActionTestCase {
-
-    public void testProcessActionCreate() throws IOException {
-        PicoTilesRequestProcessor requestProcessor = new PicoTilesRequestProcessor();
-        TestAction action = "" requestProcessor.processActionCreate(request, response, mapping);
-        assertNotNull(action);
-        assertSame(service, action.getService());
-    }
-
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/PicoTilesRequestProcessorTestCase.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/struts/PicoTilesRequestProcessorTestCase.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/PicoTilesRequestProcessorTestCase.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/PicoTilesRequestProcessorTestCase.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.struts;
+
+import java.io.IOException;
+
+
+/**
+ * @author Stephen Molitor
+ */
+public class PicoTilesRequestProcessorTestCase extends AbstractActionTestCase {
+
+    public void testProcessActionCreate() throws IOException {
+        PicoTilesRequestProcessor requestProcessor = new PicoTilesRequestProcessor();
+        TestAction action = "" requestProcessor.processActionCreate(request, response, mapping);
+        assertNotNull(action);
+        assertSame(service, action.getService());
+    }
+
+}

Deleted: java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/StrutsTestAction.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/struts/StrutsTestAction.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/StrutsTestAction.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,29 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.struts;
-
-import org.apache.struts.action.Action;
-import org.nanocontainer.nanowar.TestAction;
-import org.nanocontainer.nanowar.TestService;
-
-/**
- * @author Stephen Molitor
- */
-public class StrutsTestAction extends Action implements TestAction {
-    private final TestService service;
-
-    public StrutsTestAction(TestService service) {
-        this.service = service;
-    }
-
-    public TestService getService() {
-        return service;
-    }
-
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/StrutsTestAction.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/struts/StrutsTestAction.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/StrutsTestAction.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/StrutsTestAction.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.struts;
+
+import org.apache.struts.action.Action;
+
+/**
+ * @author Stephen Molitor
+ */
+public class StrutsTestAction extends Action implements TestAction {
+    private final TestService service;
+
+    public StrutsTestAction(TestService service) {
+        this.service = service;
+    }
+
+    public TestService getService() {
+        return service;
+    }
+
+}

Copied: java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/TestAction.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/TestAction.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/TestAction.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/TestAction.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,8 @@
+package org.nanocontainer.nanowar.struts;
+
+
+public interface TestAction {
+
+    public TestService getService();
+
+}
\ No newline at end of file

Copied: java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/TestService.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/TestService.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/TestService.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-struts/src/test/org/nanocontainer/nanowar/struts/TestService.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,15 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.struts;
+
+/**
+ * @author Stephen Molitor
+ */
+public class TestService {
+}

Property changes: java/nanocontainer-nanowar/trunk/nanowar-webwork

Name: svn:ignore
   + 
target

Added: java/nanocontainer-nanowar/trunk/nanowar-webwork/pom.xml (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork/pom.xml	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/pom.xml	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.nanocontainer</groupId>
+		<artifactId>nanocontainer-nanowar-parent</artifactId>
+		<version>1.1-SNAPSHOT</version>
+	</parent>
+	<artifactId>nanocontainer-nanowar-webwork</artifactId>
+	<name>NanoContainer Nanowar WebWork</name>
+	<dependencies>
+		<dependency>
+			<groupId>org.nanocontainer</groupId>
+			<artifactId>nanocontainer-nanowar</artifactId>
+            <version>1.1-SNAPSHOT</version>            
+		</dependency>
+        <dependency>
+            <groupId>velocity</groupId>
+            <artifactId>velocity</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>velocity-tools</groupId>
+            <artifactId>velocity-tools-view</artifactId>
+        </dependency>
+   		<dependency>
+			<groupId>opensymphony</groupId>
+			<artifactId>webwork</artifactId>
+            <version>1.4</version>
+		</dependency>
+	</dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <inherited>true</inherited>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>    
+</project>

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork (from rev 3118, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork) ( => )

Deleted: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/ActionContextScopeObjectReference.java
===================================================================
--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork/ActionContextScopeObjectReference.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/ActionContextScopeObjectReference.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,28 +0,0 @@
-package org.nanocontainer.nanowar.webwork;
-
-import org.picocontainer.defaults.ObjectReference;
-import webwork.action.ActionContext;
-
-/**
- * References an object that lives as an attribute of the
- * webwork action context
- *
- * @author Konstantin Pribluda
- */
-public class ActionContextScopeObjectReference implements ObjectReference {
-
-    private String key;
-
-    public ActionContextScopeObjectReference(String key) {
-        this.key = key;
-    }
-
-    public void set(Object item) {
-        ActionContext.getContext().put(key, item);
-    }
-
-    public Object get() {
-        return ActionContext.getContext().get(key);
-    }
-
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/ActionContextScopeObjectReference.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork/ActionContextScopeObjectReference.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/ActionContextScopeObjectReference.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/ActionContextScopeObjectReference.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,28 @@
+package org.nanocontainer.nanowar.webwork;
+
+import org.picocontainer.defaults.ObjectReference;
+import webwork.action.ActionContext;
+
+/**
+ * References an object that lives as an attribute of the
+ * webwork action context
+ *
+ * @author Konstantin Pribluda
+ */
+public class ActionContextScopeObjectReference implements ObjectReference {
+
+    private String key;
+
+    public ActionContextScopeObjectReference(String key) {
+        this.key = key;
+    }
+
+    public void set(Object item) {
+        ActionContext.getContext().put(key, item);
+    }
+
+    public Object get() {
+        return ActionContext.getContext().get(key);
+    }
+
+}

Deleted: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/PicoActionFactory.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork/PicoActionFactory.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/PicoActionFactory.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,75 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.webwork;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.nanocontainer.nanowar.ActionsContainerFactory;
-import org.nanocontainer.nanowar.KeyConstants;
-import org.picocontainer.MutablePicoContainer;
-import org.picocontainer.PicoIntrospectionException;
-import org.picocontainer.defaults.ObjectReference;
-
-import webwork.action.Action;
-import webwork.action.ServletActionContext;
-import webwork.action.factory.ActionFactory;
-
-/**
- * Replacement for the standard WebWork JavaActionFactory that uses a 
- * PicoContainer to resolve all of the dependencies an Action may have.
- *
- * @author <a href="" Walnes</a>
- * @author Mauro Talevi
- */
-public class PicoActionFactory extends ActionFactory {
-
-    private ActionsContainerFactory actionsContainerFactory = new ActionsContainerFactory();
-    
-    public Action getActionImpl(String className) throws Exception {
-        try {
-            Class actionClass = actionsContainerFactory.getActionClass(className);
-            Action action = ""
-            try {
-                action = ""
-            } catch (Exception e) {
-                //swallow these exceptions and return null action
-            }
-            return action;
-        } catch (PicoIntrospectionException e) {
-            return null;
-        }
-    }
-
-    protected Action instantiateAction(Class actionClass) {
-        MutablePicoContainer actionsContainer = getActionsContainer();
-        Action action = "" actionsContainer.getComponentInstance(actionClass);
-        
-        if (action == null) {
-            // The action wasn't registered. Attempt to instantiate it.
-            actionsContainer.registerComponentImplementation(actionClass);
-            action = "" actionsContainer.getComponentInstance(actionClass);
-        }
-        return action;
-    }
-    
-
-    /**
-     *  Return actions container, first try using the ActionsContainerFactory, 
-     *  than in WebWork ActionContext.
-     */
-    private MutablePicoContainer getActionsContainer() {
-        HttpServletRequest request = ServletActionContext.getRequest();
-        if ( request != null ) {
-            return actionsContainerFactory.getActionsContainer(request);
-        } else {
-            ObjectReference ref = new ActionContextScopeObjectReference(KeyConstants.REQUEST_CONTAINER);
-            return (MutablePicoContainer) ref.get();
-        }
-    }
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/PicoActionFactory.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork/PicoActionFactory.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/PicoActionFactory.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/PicoActionFactory.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,75 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.webwork;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.nanocontainer.nanowar.ActionsContainerFactory;
+import org.nanocontainer.nanowar.KeyConstants;
+import org.picocontainer.MutablePicoContainer;
+import org.picocontainer.PicoIntrospectionException;
+import org.picocontainer.defaults.ObjectReference;
+
+import webwork.action.Action;
+import webwork.action.ServletActionContext;
+import webwork.action.factory.ActionFactory;
+
+/**
+ * Replacement for the standard WebWork JavaActionFactory that uses a 
+ * PicoContainer to resolve all of the dependencies an Action may have.
+ *
+ * @author <a href="" Walnes</a>
+ * @author Mauro Talevi
+ */
+public class PicoActionFactory extends ActionFactory {
+
+    private ActionsContainerFactory actionsContainerFactory = new ActionsContainerFactory();
+    
+    public Action getActionImpl(String className) throws Exception {
+        try {
+            Class actionClass = actionsContainerFactory.getActionClass(className);
+            Action action = ""
+            try {
+                action = ""
+            } catch (Exception e) {
+                //swallow these exceptions and return null action
+            }
+            return action;
+        } catch (PicoIntrospectionException e) {
+            return null;
+        }
+    }
+
+    protected Action instantiateAction(Class actionClass) {
+        MutablePicoContainer actionsContainer = getActionsContainer();
+        Action action = "" actionsContainer.getComponentInstance(actionClass);
+        
+        if (action == null) {
+            // The action wasn't registered. Attempt to instantiate it.
+            actionsContainer.registerComponentImplementation(actionClass);
+            action = "" actionsContainer.getComponentInstance(actionClass);
+        }
+        return action;
+    }
+    
+
+    /**
+     *  Return actions container, first try using the ActionsContainerFactory, 
+     *  than in WebWork ActionContext.
+     */
+    private MutablePicoContainer getActionsContainer() {
+        HttpServletRequest request = ServletActionContext.getRequest();
+        if ( request != null ) {
+            return actionsContainerFactory.getActionsContainer(request);
+        } else {
+            ObjectReference ref = new ActionContextScopeObjectReference(KeyConstants.REQUEST_CONTAINER);
+            return (MutablePicoContainer) ref.get();
+        }
+    }
+}

Deleted: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/PicoServletDispatcher.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork/PicoServletDispatcher.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/PicoServletDispatcher.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,17 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.webwork;
-
-
-/**
- * @deprecated Use PicoWebWork1ServetDispatcher
- */
-public class PicoServletDispatcher extends PicoWebWork1ServletDispatcher {
-
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/PicoServletDispatcher.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork/PicoServletDispatcher.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/PicoServletDispatcher.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/PicoServletDispatcher.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,17 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.webwork;
+
+
+/**
+ * @deprecated Use PicoWebWork1ServetDispatcher
+ */
+public class PicoServletDispatcher extends PicoWebWork1ServletDispatcher {
+
+}

Deleted: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/PicoWebWork1ServletDispatcher.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork/PicoWebWork1ServletDispatcher.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/PicoWebWork1ServletDispatcher.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,51 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.webwork;
-
-import org.nanocontainer.nanowar.ServletRequestContainerLauncher;
-import webwork.action.factory.ActionFactory;
-import webwork.dispatcher.ServletDispatcher;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * Extension to the standard WebWork 1 ServletDispatcher that instantiates 
- * a new container in the request scope for each request and disposes of it 
- * correctly at the end of the request.
- * <p/>
- * To use, replace the WebWork ServletDispatcher in web.xml with this.
- *
- * @author <a href="" Walnes</a>
- */
-public class PicoWebWork1ServletDispatcher extends ServletDispatcher {
-
-    public PicoWebWork1ServletDispatcher() {
-        super();
-        ActionFactory.setActionFactory(new WebWorkActionFactory());
-    }
-
-    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException {
-        ServletRequestContainerLauncher containerLauncher = new ServletRequestContainerLauncher(getServletContext(), request);
-        try {
-            containerLauncher.startContainer();
-            // process the servlet using webwork
-            super.service(request, response);
-        } catch (Exception e) {
-            throw new ServletException(e);
-        } finally {
-            try {
-                containerLauncher.killContainer();
-            } catch (Exception e) {
-                throw new ServletException(e);
-            }
-        }
-    }
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/PicoWebWork1ServletDispatcher.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork/PicoWebWork1ServletDispatcher.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/PicoWebWork1ServletDispatcher.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/PicoWebWork1ServletDispatcher.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.webwork;
+
+import org.nanocontainer.nanowar.ServletRequestContainerLauncher;
+import webwork.action.factory.ActionFactory;
+import webwork.dispatcher.ServletDispatcher;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * Extension to the standard WebWork 1 ServletDispatcher that instantiates 
+ * a new container in the request scope for each request and disposes of it 
+ * correctly at the end of the request.
+ * <p/>
+ * To use, replace the WebWork ServletDispatcher in web.xml with this.
+ *
+ * @author <a href="" Walnes</a>
+ */
+public class PicoWebWork1ServletDispatcher extends ServletDispatcher {
+
+    public PicoWebWork1ServletDispatcher() {
+        super();
+        ActionFactory.setActionFactory(new WebWorkActionFactory());
+    }
+
+    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException {
+        ServletRequestContainerLauncher containerLauncher = new ServletRequestContainerLauncher(getServletContext(), request);
+        try {
+            containerLauncher.startContainer();
+            // process the servlet using webwork
+            super.service(request, response);
+        } catch (Exception e) {
+            throw new ServletException(e);
+        } finally {
+            try {
+                containerLauncher.killContainer();
+            } catch (Exception e) {
+                throw new ServletException(e);
+            }
+        }
+    }
+}

Deleted: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/WebWorkActionFactory.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork/WebWorkActionFactory.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/WebWorkActionFactory.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,46 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.webwork;
-
-import webwork.action.Action;
-import webwork.action.factory.ActionFactory;
-import webwork.action.factory.AliasingActionFactoryProxy;
-import webwork.action.factory.ChainingActionFactoryProxy;
-import webwork.action.factory.CommandActionFactoryProxy;
-import webwork.action.factory.ContextActionFactoryProxy;
-import webwork.action.factory.ParametersActionFactoryProxy;
-import webwork.action.factory.PrefixActionFactoryProxy;
-import webwork.action.factory.PrepareActionFactoryProxy;
-
-/**
- * Custom webwork action lifecycle that ensures actions are treated as pico components.
- */
-public class WebWorkActionFactory extends ActionFactory {
-
-    private ActionFactory factory;
-
-    public WebWorkActionFactory() {
-        // replace standard JavaActionFactory with PicoActionFactory
-        factory = new PicoActionFactory();
-        // the rest are the standard webwork ActionFactoryProxies
-        factory = new PrefixActionFactoryProxy(factory);
-        factory = new CommandActionFactoryProxy(factory);
-        factory = new AliasingActionFactoryProxy(factory);
-        factory = new CommandActionFactoryProxy(factory);
-        factory = new ContextActionFactoryProxy(factory);
-        factory = new PrepareActionFactoryProxy(factory);
-        factory = new ParametersActionFactoryProxy(factory);
-        factory = new ChainingActionFactoryProxy(factory);
-    }
-
-    public Action getActionImpl(String actionName) throws Exception {
-        return factory.getActionImpl(actionName);
-    }
-
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/WebWorkActionFactory.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork/WebWorkActionFactory.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/WebWorkActionFactory.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/WebWorkActionFactory.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.webwork;
+
+import webwork.action.Action;
+import webwork.action.factory.ActionFactory;
+import webwork.action.factory.AliasingActionFactoryProxy;
+import webwork.action.factory.ChainingActionFactoryProxy;
+import webwork.action.factory.CommandActionFactoryProxy;
+import webwork.action.factory.ContextActionFactoryProxy;
+import webwork.action.factory.ParametersActionFactoryProxy;
+import webwork.action.factory.PrefixActionFactoryProxy;
+import webwork.action.factory.PrepareActionFactoryProxy;
+
+/**
+ * Custom webwork action lifecycle that ensures actions are treated as pico components.
+ */
+public class WebWorkActionFactory extends ActionFactory {
+
+    private ActionFactory factory;
+
+    public WebWorkActionFactory() {
+        // replace standard JavaActionFactory with PicoActionFactory
+        factory = new PicoActionFactory();
+        // the rest are the standard webwork ActionFactoryProxies
+        factory = new PrefixActionFactoryProxy(factory);
+        factory = new CommandActionFactoryProxy(factory);
+        factory = new AliasingActionFactoryProxy(factory);
+        factory = new CommandActionFactoryProxy(factory);
+        factory = new ContextActionFactoryProxy(factory);
+        factory = new PrepareActionFactoryProxy(factory);
+        factory = new ParametersActionFactoryProxy(factory);
+        factory = new ChainingActionFactoryProxy(factory);
+    }
+
+    public Action getActionImpl(String actionName) throws Exception {
+        return factory.getActionImpl(actionName);
+    }
+
+}

Deleted: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/WebWorkVelocityServlet.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork/WebWorkVelocityServlet.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/WebWorkVelocityServlet.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,106 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.webwork;
-
-
-import org.apache.velocity.Template;
-import org.apache.velocity.VelocityContext;
-import org.apache.velocity.context.Context;
-import org.apache.velocity.tools.view.servlet.VelocityViewServlet;
-import org.nanocontainer.nanowar.KeyConstants;
-import org.nanocontainer.nanowar.RequestScopeObjectReference;
-import org.picocontainer.PicoContainer;
-import org.picocontainer.alternatives.EmptyPicoContainer;
-import webwork.action.ServletActionContext;
-import webwork.util.ServletValueStack;
-import webwork.view.velocity.WebWorkUtil;
-
-/**
- * velocity integration servlet. integrates container hieararchy into velocity context 
- * as well webwork specific objects. This servlet is not derived from standart webwork 
- * velocity servlet because it inherits from obsolete velocity servlet ( which does not 
- * allow resource loading from webapp ). acc configuration is done  like original velocity 
- * servlet does 
- * @author Konstantin Pribluda
- */ 
-public class WebWorkVelocityServlet extends VelocityViewServlet implements KeyConstants {
-	
-    static final String WEBWORK_UTIL = "webwork";
-	// those have to be removed once dependency problem is solved.
-	// will bomb anyway. 
-	static final String REQUEST = "req";
-	static final String RESPONSE = "res";
-	
-    static final EmptyPicoContainer  emptyContainer = new EmptyPicoContainer();
-    protected Context createContext(javax.servlet.http.HttpServletRequest request,
-                                   javax.servlet.http.HttpServletResponse response)
-    {
-		Context ctx = new NanocontainerVelocityContext(
-	   		(PicoContainer)(new RequestScopeObjectReference(request, REQUEST_CONTAINER)).get(),
-			ServletValueStack.getStack(request)
-			);
-		ctx.put(REQUEST, request);
-		ctx.put(RESPONSE, response);
-		return ctx;
-	}
-
-   
-   /**
-    * Get the template to show.
-    */
-   protected Template handleRequest(javax.servlet.http.HttpServletRequest aRequest,
-                                    javax.servlet.http.HttpServletResponse aResponse,
-                                    Context ctx)
-      throws java.lang.Exception
-   {
-      // Bind standard WebWork utility into context
-
-      ServletActionContext.setContext(aRequest, aResponse, getServletContext(), null);
-      ctx.put(WEBWORK_UTIL, new WebWorkUtil(ctx));
-
-      String servletPath = (String)aRequest.getAttribute("javax.servlet.include.servlet_path");
-      if (servletPath == null)
-         servletPath = aRequest.getServletPath();
-      return getTemplate(servletPath);
-   }
-   
-   static class NanocontainerVelocityContext extends VelocityContext {
-	   	PicoContainer container;
-	    ServletValueStack stack;
-	   	NanocontainerVelocityContext(PicoContainer container, ServletValueStack stack) {
-			this.container = container != null ? container : emptyContainer;
-			this.stack = stack;
-		}
-	   
-	   	public boolean internalContainsKey(java.lang.Object key)
-		{
-			boolean contains = super.internalContainsKey(key);
-			if(contains) 
-				return contains;
-			
-			contains = stack.test(key.toString());
-			if(contains)
-				return contains;
-					
-			return  container.getComponentAdapter(key) != null;
-		}
-
-		public Object internalGet(String key)
-		{
-			if(super.internalContainsKey(key))
-				return 	super.internalGet(key);
-					
-			if(stack.test(key.toString())) 
-				return stack.findValue(key);
-				
-			return container.getComponentInstance(key);
-		}
-   	}
-}
-

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/WebWorkVelocityServlet.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork/WebWorkVelocityServlet.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/WebWorkVelocityServlet.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/java/org/nanocontainer/nanowar/webwork/WebWorkVelocityServlet.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,106 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.webwork;
+
+
+import org.apache.velocity.Template;
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.context.Context;
+import org.apache.velocity.tools.view.servlet.VelocityViewServlet;
+import org.nanocontainer.nanowar.KeyConstants;
+import org.nanocontainer.nanowar.RequestScopeObjectReference;
+import org.picocontainer.PicoContainer;
+import org.picocontainer.alternatives.EmptyPicoContainer;
+import webwork.action.ServletActionContext;
+import webwork.util.ServletValueStack;
+import webwork.view.velocity.WebWorkUtil;
+
+/**
+ * velocity integration servlet. integrates container hieararchy into velocity context 
+ * as well webwork specific objects. This servlet is not derived from standart webwork 
+ * velocity servlet because it inherits from obsolete velocity servlet ( which does not 
+ * allow resource loading from webapp ). acc configuration is done  like original velocity 
+ * servlet does 
+ * @author Konstantin Pribluda
+ */ 
+public class WebWorkVelocityServlet extends VelocityViewServlet implements KeyConstants {
+	
+    static final String WEBWORK_UTIL = "webwork";
+	// those have to be removed once dependency problem is solved.
+	// will bomb anyway. 
+	static final String REQUEST = "req";
+	static final String RESPONSE = "res";
+	
+    static final EmptyPicoContainer  emptyContainer = new EmptyPicoContainer();
+    protected Context createContext(javax.servlet.http.HttpServletRequest request,
+                                   javax.servlet.http.HttpServletResponse response)
+    {
+		Context ctx = new NanocontainerVelocityContext(
+	   		(PicoContainer)(new RequestScopeObjectReference(request, REQUEST_CONTAINER)).get(),
+			ServletValueStack.getStack(request)
+			);
+		ctx.put(REQUEST, request);
+		ctx.put(RESPONSE, response);
+		return ctx;
+	}
+
+   
+   /**
+    * Get the template to show.
+    */
+   protected Template handleRequest(javax.servlet.http.HttpServletRequest aRequest,
+                                    javax.servlet.http.HttpServletResponse aResponse,
+                                    Context ctx)
+      throws java.lang.Exception
+   {
+      // Bind standard WebWork utility into context
+
+      ServletActionContext.setContext(aRequest, aResponse, getServletContext(), null);
+      ctx.put(WEBWORK_UTIL, new WebWorkUtil(ctx));
+
+      String servletPath = (String)aRequest.getAttribute("javax.servlet.include.servlet_path");
+      if (servletPath == null)
+         servletPath = aRequest.getServletPath();
+      return getTemplate(servletPath);
+   }
+   
+   static class NanocontainerVelocityContext extends VelocityContext {
+	   	PicoContainer container;
+	    ServletValueStack stack;
+	   	NanocontainerVelocityContext(PicoContainer container, ServletValueStack stack) {
+			this.container = container != null ? container : emptyContainer;
+			this.stack = stack;
+		}
+	   
+	   	public boolean internalContainsKey(java.lang.Object key)
+		{
+			boolean contains = super.internalContainsKey(key);
+			if(contains) 
+				return contains;
+			
+			contains = stack.test(key.toString());
+			if(contains)
+				return contains;
+					
+			return  container.getComponentAdapter(key) != null;
+		}
+
+		public Object internalGet(String key)
+		{
+			if(super.internalContainsKey(key))
+				return 	super.internalGet(key);
+					
+			if(stack.test(key.toString())) 
+				return stack.findValue(key);
+				
+			return container.getComponentInstance(key);
+		}
+   	}
+}
+

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/test/org/nanocontainer/nanowar/webwork (from rev 3118, java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/webwork) ( => )

Deleted: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/test/org/nanocontainer/nanowar/webwork/ActionContextScopeObjectReferenceTestCase.java
===================================================================
--- java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/webwork/ActionContextScopeObjectReferenceTestCase.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/test/org/nanocontainer/nanowar/webwork/ActionContextScopeObjectReferenceTestCase.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,21 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- * Original code by                                                          *
- *****************************************************************************/
-package org.nanocontainer.nanowar.webwork;
-import junit.framework.TestCase;
-import webwork.action.ActionContext;
-
-public class ActionContextScopeObjectReferenceTestCase extends TestCase {
-    
-    
-    public void testReferenceCanBeFound() throws Exception {
-        ActionContext.getContext().put("foo","bar");
-        assertEquals("bar",(new ActionContextScopeObjectReference("foo")).get());
-    }
-}
\ No newline at end of file

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/test/org/nanocontainer/nanowar/webwork/ActionContextScopeObjectReferenceTestCase.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/webwork/ActionContextScopeObjectReferenceTestCase.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork/src/test/org/nanocontainer/nanowar/webwork/ActionContextScopeObjectReferenceTestCase.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/test/org/nanocontainer/nanowar/webwork/ActionContextScopeObjectReferenceTestCase.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,21 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ * Original code by                                                          *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.webwork;
+import junit.framework.TestCase;
+import webwork.action.ActionContext;
+
+public class ActionContextScopeObjectReferenceTestCase extends TestCase {
+    
+    
+    public void testReferenceCanBeFound() throws Exception {
+        ActionContext.getContext().put("foo","bar");
+        assertEquals("bar",(new ActionContextScopeObjectReference("foo")).get());
+    }
+}
\ No newline at end of file

Deleted: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/test/org/nanocontainer/nanowar/webwork/PicoActionFactoryTestCase.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/webwork/PicoActionFactoryTestCase.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/test/org/nanocontainer/nanowar/webwork/PicoActionFactoryTestCase.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,91 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.webwork;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.jmock.Mock;
-import org.jmock.MockObjectTestCase;
-import org.nanocontainer.nanowar.KeyConstants;
-import org.picocontainer.MutablePicoContainer;
-import org.picocontainer.defaults.DefaultPicoContainer;
-
-import webwork.action.ServletActionContext;
-
-/**
- * @author Konstantin Pribluda
- * @author Mauro Talevi
- */
-public class PicoActionFactoryTestCase extends MockObjectTestCase {
-
-    private PicoActionFactory factory;
-    private DefaultPicoContainer container;
-    
-    public void setUp(){
-        factory = new PicoActionFactory();
-        container = new DefaultPicoContainer();
-        (new ActionContextScopeObjectReference(KeyConstants.REQUEST_CONTAINER)).set(container);
-    }
-    
-	public void testActionInstantiationWithValidClassName() throws Exception {
-		container.registerComponentInstance("foo");
-		TestAction action = "" factory
-				.getActionImpl("org.nanocontainer.nanowar.webwork.TestAction");
-		assertNotNull(action);
-		assertEquals("foo", action.getFoo());
-	}
-    
-    public void testActionInstantiationWhichFailsDueToFailedDependencies() throws Exception {
-        TestAction action = "" factory
-                .getActionImpl("org.nanocontainer.nanowar.webwork.TestAction");
-        assertNull(action);
-    }
-
-    public void testActionInstantiationWithInvalidClassName() throws Exception {
-        container.registerComponentInstance("foo");
-        TestAction action = "" factory
-                .getActionImpl("invalidAction");
-        assertNull(action);
-    }
-
-    public void testActionInstantiationWhichHasAlreadyBeenRegistered() throws Exception {
-        container.registerComponentInstance("foo");
-        container.registerComponentImplementation(TestAction.class);
-        TestAction action1 = (TestAction) container.getComponentInstance(TestAction.class);
-        TestAction action2 = (TestAction) factory
-                .getActionImpl("org.nanocontainer.nanowar.webwork.TestAction");
-        assertSame(action1, action2);
-    }
-
-    public void testActionInstantiationWhichHasAlreadyBeenRequested() throws Exception {
-        container.registerComponentInstance("foo");
-        TestAction action1 = (TestAction) factory
-                .getActionImpl("org.nanocontainer.nanowar.webwork.TestAction");
-        TestAction action2 = (TestAction) factory
-                .getActionImpl("org.nanocontainer.nanowar.webwork.TestAction");
-        assertSame(action1, action2);
-    }
-    
-    public void testActionContainerIsFoundInRequest() throws Exception {
-        Mock requestMock = mock(HttpServletRequest.class);
-        HttpServletRequest request = (HttpServletRequest) requestMock.proxy();
-        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
-                returnValue(null));
-        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
-                returnValue(container));
-        requestMock.expects(once()).method("setAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER),
-                isA(MutablePicoContainer.class));
-        ServletActionContext.setRequest(request);
-        container.registerComponentInstance("foo");
-        TestAction action = "" factory
-                .getActionImpl("org.nanocontainer.nanowar.webwork.TestAction");
-        assertNotNull(action);        
-    }
-
-}
\ No newline at end of file

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/test/org/nanocontainer/nanowar/webwork/PicoActionFactoryTestCase.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/webwork/PicoActionFactoryTestCase.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork/src/test/org/nanocontainer/nanowar/webwork/PicoActionFactoryTestCase.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/test/org/nanocontainer/nanowar/webwork/PicoActionFactoryTestCase.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.webwork;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.jmock.Mock;
+import org.jmock.MockObjectTestCase;
+import org.nanocontainer.nanowar.KeyConstants;
+import org.picocontainer.MutablePicoContainer;
+import org.picocontainer.defaults.DefaultPicoContainer;
+
+import webwork.action.ServletActionContext;
+
+/**
+ * @author Konstantin Pribluda
+ * @author Mauro Talevi
+ */
+public class PicoActionFactoryTestCase extends MockObjectTestCase {
+
+    private PicoActionFactory factory;
+    private DefaultPicoContainer container;
+    
+    public void setUp(){
+        factory = new PicoActionFactory();
+        container = new DefaultPicoContainer();
+        (new ActionContextScopeObjectReference(KeyConstants.REQUEST_CONTAINER)).set(container);
+    }
+    
+	public void testActionInstantiationWithValidClassName() throws Exception {
+		container.registerComponentInstance("foo");
+		TestAction action = "" factory
+				.getActionImpl(TestAction.class.getName());
+		assertNotNull(action);
+		assertEquals("foo", action.getFoo());
+	}
+    
+    public void testActionInstantiationWhichFailsDueToFailedDependencies() throws Exception {
+        TestAction action = "" factory
+                .getActionImpl(TestAction.class.getName());
+        assertNull(action);
+    }
+
+    public void testActionInstantiationWithInvalidClassName() throws Exception {
+        container.registerComponentInstance("foo");
+        TestAction action = "" factory
+                .getActionImpl("invalidAction");
+        assertNull(action);
+    }
+
+    public void testActionInstantiationWhichHasAlreadyBeenRegistered() throws Exception {
+        container.registerComponentInstance("foo");
+        container.registerComponentImplementation(TestAction.class);
+        TestAction action1 = (TestAction) container.getComponentInstance(TestAction.class);
+        TestAction action2 = (TestAction) factory
+                .getActionImpl(TestAction.class.getName());
+        assertSame(action1, action2);
+    }
+
+    public void testActionInstantiationWhichHasAlreadyBeenRequested() throws Exception {
+        container.registerComponentInstance("foo");
+        TestAction action1 = (TestAction) factory
+                .getActionImpl(TestAction.class.getName());
+        TestAction action2 = (TestAction) factory
+                .getActionImpl(TestAction.class.getName());
+        assertSame(action1, action2);
+    }
+    
+    public void testActionContainerIsFoundInRequest() throws Exception {
+        Mock requestMock = mock(HttpServletRequest.class);
+        HttpServletRequest request = (HttpServletRequest) requestMock.proxy();
+        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
+                returnValue(null));
+        requestMock.expects(once()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
+                returnValue(container));
+        requestMock.expects(once()).method("setAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER),
+                isA(MutablePicoContainer.class));
+        ServletActionContext.setRequest(request);
+        container.registerComponentInstance("foo");
+        TestAction action = "" factory
+                .getActionImpl(TestAction.class.getName());
+        assertNotNull(action);        
+    }
+
+}
\ No newline at end of file

Deleted: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/test/org/nanocontainer/nanowar/webwork/TestAction.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/webwork/TestAction.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/test/org/nanocontainer/nanowar/webwork/TestAction.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,28 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.webwork;
-
-
-import webwork.action.Action;
-
-
-public class TestAction implements Action {
-    String foo;
-    public TestAction(String foo) {
-        this.foo = foo;
-    }
-    
-    public String getFoo() {
-        return foo;
-    }
-    
-    public String execute() {
-        return foo;
-    }
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork/src/test/org/nanocontainer/nanowar/webwork/TestAction.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/webwork/TestAction.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork/src/test/org/nanocontainer/nanowar/webwork/TestAction.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork/src/test/org/nanocontainer/nanowar/webwork/TestAction.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,28 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.webwork;
+
+
+import webwork.action.Action;
+
+
+public class TestAction implements Action {
+    String foo;
+    public TestAction(String foo) {
+        this.foo = foo;
+    }
+    
+    public String getFoo() {
+        return foo;
+    }
+    
+    public String execute() {
+        return foo;
+    }
+}

Property changes: java/nanocontainer-nanowar/trunk/nanowar-webwork2

Name: svn:ignore
   + 
target

Added: java/nanocontainer-nanowar/trunk/nanowar-webwork2/pom.xml (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork2/pom.xml	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork2/pom.xml	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.nanocontainer</groupId>
+        <artifactId>nanocontainer-nanowar-parent</artifactId>
+        <version>1.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>nanocontainer-nanowar-webwork2</artifactId>
+    <name>NanoContainer Nanowar WebWork2</name>
+    <dependencies>
+        <dependency>
+            <groupId>org.picocontainer</groupId>
+            <artifactId>picocontainer-gems</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.nanocontainer</groupId>
+            <artifactId>nanocontainer-nanowar</artifactId>
+            <version>1.1-SNAPSHOT</version>            
+        </dependency>
+        <dependency>
+            <groupId>velocity</groupId>
+            <artifactId>velocity</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>velocity-tools</groupId>
+            <artifactId>velocity-tools-view</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>opensymphony</groupId>
+            <artifactId>xwork</artifactId>
+            <version>1.0.5</version>
+        </dependency>
+        <dependency>
+            <groupId>opensymphony</groupId>
+            <artifactId>webwork</artifactId>
+            <version>2.1.7</version>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <inherited>true</inherited>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2 (from rev 3118, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork2) ( => )

Deleted: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoActionInvocation.java
===================================================================
--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork2/PicoActionInvocation.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoActionInvocation.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,38 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.webwork2;
-
-import java.util.Map;
-
-import com.opensymphony.xwork.ActionProxy;
-import com.opensymphony.xwork.DefaultActionInvocation;
-
-/**
- * Implementation of {@link com.opensymphony.xwork.ActionInvocation ActionInvocation}
- * which uses a PicoContainer to create Action instances.
- * 
- * @author Chris Sturm
- * @author Aslak Helles&oslash;y
- * @deprecated Use DefaultActionInvocation 
- */
-public class PicoActionInvocation extends DefaultActionInvocation {
-
-    public PicoActionInvocation(ActionProxy proxy) throws Exception {
-        super(proxy);
-    }
-
-    public PicoActionInvocation(ActionProxy proxy, Map extraContext) throws Exception {
-        super(proxy, extraContext);
-    }
-
-    public PicoActionInvocation(ActionProxy proxy, Map extraContext, boolean pushAction) throws Exception {
-        super(proxy, extraContext, pushAction);
-    }
-
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoActionInvocation.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork2/PicoActionInvocation.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoActionInvocation.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoActionInvocation.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.webwork2;
+
+import java.util.Map;
+
+import com.opensymphony.xwork.ActionProxy;
+import com.opensymphony.xwork.DefaultActionInvocation;
+
+/**
+ * Implementation of {@link com.opensymphony.xwork.ActionInvocation ActionInvocation}
+ * which uses a PicoContainer to create Action instances.
+ * 
+ * @author Chris Sturm
+ * @author Aslak Helles&oslash;y
+ * @deprecated Use DefaultActionInvocation 
+ */
+public class PicoActionInvocation extends DefaultActionInvocation {
+
+    public PicoActionInvocation(ActionProxy proxy) throws Exception {
+        super(proxy);
+    }
+
+    public PicoActionInvocation(ActionProxy proxy, Map extraContext) throws Exception {
+        super(proxy, extraContext);
+    }
+
+    public PicoActionInvocation(ActionProxy proxy, Map extraContext, boolean pushAction) throws Exception {
+        super(proxy, extraContext, pushAction);
+    }
+
+}

Deleted: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoActionProxyFactory.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork2/PicoActionProxyFactory.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoActionProxyFactory.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,39 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.webwork2;
-
-import com.opensymphony.xwork.ActionInvocation;
-import com.opensymphony.xwork.ActionProxy;
-import com.opensymphony.xwork.DefaultActionProxyFactory;
-
-import java.util.Map;
-
-import org.nanocontainer.nanowar.webwork2.PicoActionInvocation;
-
-/**
- * Extension of XWork's {@link com.opensymphony.xwork.ActionProxyFactory ActionProxyFactory}
- * which creates PicoActionInvocations.
- * 
- * @author Chris Sturm
- * @see PicoActionInvocation
- * @deprecated Use DefaultActionProxyFactory 
- */
-public class PicoActionProxyFactory extends DefaultActionProxyFactory {
-    public ActionInvocation createActionInvocation(ActionProxy actionProxy) throws Exception {
-        return new PicoActionInvocation(actionProxy);
-    }
-
-    public ActionInvocation createActionInvocation(ActionProxy actionProxy, Map extraContext) throws Exception {
-        return new PicoActionInvocation(actionProxy, extraContext);
-    }
-
-    public ActionInvocation createActionInvocation(ActionProxy actionProxy, Map extraContext, boolean pushAction) throws Exception {
-        return new PicoActionInvocation(actionProxy, extraContext, pushAction);
-    }
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoActionProxyFactory.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork2/PicoActionProxyFactory.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoActionProxyFactory.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoActionProxyFactory.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.webwork2;
+
+import com.opensymphony.xwork.ActionInvocation;
+import com.opensymphony.xwork.ActionProxy;
+import com.opensymphony.xwork.DefaultActionProxyFactory;
+
+import java.util.Map;
+
+import org.nanocontainer.nanowar.webwork2.PicoActionInvocation;
+
+/**
+ * Extension of XWork's {@link com.opensymphony.xwork.ActionProxyFactory ActionProxyFactory}
+ * which creates PicoActionInvocations.
+ * 
+ * @author Chris Sturm
+ * @see PicoActionInvocation
+ * @deprecated Use DefaultActionProxyFactory 
+ */
+public class PicoActionProxyFactory extends DefaultActionProxyFactory {
+    public ActionInvocation createActionInvocation(ActionProxy actionProxy) throws Exception {
+        return new PicoActionInvocation(actionProxy);
+    }
+
+    public ActionInvocation createActionInvocation(ActionProxy actionProxy, Map extraContext) throws Exception {
+        return new PicoActionInvocation(actionProxy, extraContext);
+    }
+
+    public ActionInvocation createActionInvocation(ActionProxy actionProxy, Map extraContext, boolean pushAction) throws Exception {
+        return new PicoActionInvocation(actionProxy, extraContext, pushAction);
+    }
+}

Deleted: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoObjectFactory.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork2/PicoObjectFactory.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoObjectFactory.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,99 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.webwork2;
-
-import com.opensymphony.xwork.ObjectFactory;
-import org.nanocontainer.nanowar.ActionsContainerFactory;
-import org.picocontainer.MutablePicoContainer;
-import org.picocontainer.defaults.ObjectReference;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.Map;
-
-/**
- * <p>
- * XWork ObjectFactory which uses a PicoContainer to create component instances.
- * </p>
- * 
- * @author Cyrille Le Clerc
- * @author Jonas Engman
- * @author Mauro Talevi
- * @author Gr&eacute;gory Joseph
- */
-public class PicoObjectFactory extends ObjectFactory {
-
-    private final ActionsContainerFactory actionsContainerFactory = new ActionsContainerFactory();
-    private final ObjectReference objectReference;
-
-    /**
-     * Creates a PicoObjectFactory with given object reference, 
-     * used to pass the http request to the factory
-     * 
-     * @param objectReference the ObjectReference 
-     */
-    public PicoObjectFactory(ObjectReference objectReference) {
-        this.objectReference = objectReference;
-    }
-
-    public boolean isNoArgConstructorRequired() {
-        return false;
-    }
-
-    /**
-     * Webwork-2.2 / XWork-1.1 method. ExtraContext can be ignored.
-     */
-    public Object buildBean(Class clazz, Map extraContext) throws Exception {
-        return buildBean(clazz);
-    }
-
-    /**
-     * Webwork-2.2 / XWork-1.1 method. ExtraContext can be ignored.
-     */
-    public Object buildBean(String className, Map extraContext) throws Exception {
-        return buildBean(className);
-    }
-
-    /**
-     * Webwork-2.2 / XWork-1.1 method. Used to validate a class be loaded.
-     * Using actionsContainerFactory for consistency with build methods.
-     */
-    public Class getClassInstance(String className) throws ClassNotFoundException {
-        return actionsContainerFactory.getActionClass(className);
-    }
-
-    /**
-     * Instantiates an action using the PicoContainer found in the request scope.
-     * 
-     * @see com.opensymphony.xwork.ObjectFactory#buildBean(java.lang.Class)
-     */
-    public Object buildBean(Class actionClass) throws Exception {
-        MutablePicoContainer actionsContainer = actionsContainerFactory.getActionsContainer((HttpServletRequest) objectReference.get());
-        Object action = ""
-
-        if (action == null) {
-            // The action wasn't registered. Attempt to instantiate it.
-            actionsContainer.registerComponentImplementation(actionClass);
-            action = ""
-        }
-        return action;
-    }
-
-    /**
-     * As {@link ObjectFactory#buildBean(java.lang.String)}does not delegate to
-     * {@link ObjectFactory#buildBean(java.lang.Class)} but directly calls
-     * <code>clazz.newInstance()</code>, overwrite this method to call
-     * <code>buildBean()</code>
-     *
-     * @see com.opensymphony.xwork.ObjectFactory#buildBean(java.lang.String)
-     */
-    public Object buildBean(String className) throws Exception {
-        Class actionClass = actionsContainerFactory.getActionClass(className);
-        return buildBean(actionClass);
-    }
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoObjectFactory.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork2/PicoObjectFactory.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoObjectFactory.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoObjectFactory.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,99 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.webwork2;
+
+import com.opensymphony.xwork.ObjectFactory;
+import org.nanocontainer.nanowar.ActionsContainerFactory;
+import org.picocontainer.MutablePicoContainer;
+import org.picocontainer.defaults.ObjectReference;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * <p>
+ * XWork ObjectFactory which uses a PicoContainer to create component instances.
+ * </p>
+ * 
+ * @author Cyrille Le Clerc
+ * @author Jonas Engman
+ * @author Mauro Talevi
+ * @author Gr&eacute;gory Joseph
+ */
+public class PicoObjectFactory extends ObjectFactory {
+
+    private final ActionsContainerFactory actionsContainerFactory = new ActionsContainerFactory();
+    private final ObjectReference objectReference;
+
+    /**
+     * Creates a PicoObjectFactory with given object reference, 
+     * used to pass the http request to the factory
+     * 
+     * @param objectReference the ObjectReference 
+     */
+    public PicoObjectFactory(ObjectReference objectReference) {
+        this.objectReference = objectReference;
+    }
+
+    public boolean isNoArgConstructorRequired() {
+        return false;
+    }
+
+    /**
+     * Webwork-2.2 / XWork-1.1 method. ExtraContext can be ignored.
+     */
+    public Object buildBean(Class clazz, Map extraContext) throws Exception {
+        return buildBean(clazz);
+    }
+
+    /**
+     * Webwork-2.2 / XWork-1.1 method. ExtraContext can be ignored.
+     */
+    public Object buildBean(String className, Map extraContext) throws Exception {
+        return buildBean(className);
+    }
+
+    /**
+     * Webwork-2.2 / XWork-1.1 method. Used to validate a class be loaded.
+     * Using actionsContainerFactory for consistency with build methods.
+     */
+    public Class getClassInstance(String className) throws ClassNotFoundException {
+        return actionsContainerFactory.getActionClass(className);
+    }
+
+    /**
+     * Instantiates an action using the PicoContainer found in the request scope.
+     * 
+     * @see com.opensymphony.xwork.ObjectFactory#buildBean(java.lang.Class)
+     */
+    public Object buildBean(Class actionClass) throws Exception {
+        MutablePicoContainer actionsContainer = actionsContainerFactory.getActionsContainer((HttpServletRequest) objectReference.get());
+        Object action = ""
+
+        if (action == null) {
+            // The action wasn't registered. Attempt to instantiate it.
+            actionsContainer.registerComponentImplementation(actionClass);
+            action = ""
+        }
+        return action;
+    }
+
+    /**
+     * As {@link ObjectFactory#buildBean(java.lang.String)}does not delegate to
+     * {@link ObjectFactory#buildBean(java.lang.Class)} but directly calls
+     * <code>clazz.newInstance()</code>, overwrite this method to call
+     * <code>buildBean()</code>
+     *
+     * @see com.opensymphony.xwork.ObjectFactory#buildBean(java.lang.String)
+     */
+    public Object buildBean(String className) throws Exception {
+        Class actionClass = actionsContainerFactory.getActionClass(className);
+        return buildBean(actionClass);
+    }
+}

Deleted: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoObjectFactoryFilter.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork2/PicoObjectFactoryFilter.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoObjectFactoryFilter.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,60 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.webwork2;
-
-import java.io.IOException;
-
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-
-import org.picocontainer.defaults.ObjectReference;
-import org.picocontainer.gems.adapters.ThreadLocalReference;
-
-import com.opensymphony.xwork.ObjectFactory;
-
-/**
- * Filter which initialises a PicoObjectFactory as the XWork ObjectFactory
- * and passes to it the HttpServletRequest.
- * 
- * @author Jonas Engman
- */
-public class PicoObjectFactoryFilter implements Filter {
-
-	private final static String ALREADY_FILTERED_KEY = "nanocontainer_objectfactory_filtered";
-
-	private ObjectReference objectReference;
-
-	public void init(FilterConfig config) throws ServletException {
-		objectReference = new ThreadLocalReference();
-		ObjectFactory.setObjectFactory(new PicoObjectFactory(objectReference));
-	}
-
-	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
-		HttpServletRequest httpServletRequest = (HttpServletRequest) request;
-		if (httpServletRequest.getAttribute(ALREADY_FILTERED_KEY) == null) {
-			httpServletRequest.setAttribute(ALREADY_FILTERED_KEY, Boolean.TRUE);
-			objectReference.set(httpServletRequest);
-			try {
-				chain.doFilter(request, response);
-			} finally {
-				objectReference.set(null);
-			}
-		} else {
-			chain.doFilter(request, response);
-		}
-	}
-
-	public void destroy() {
-	}
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoObjectFactoryFilter.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork2/PicoObjectFactoryFilter.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoObjectFactoryFilter.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoObjectFactoryFilter.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.webwork2;
+
+import java.io.IOException;
+
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+
+import org.picocontainer.defaults.ObjectReference;
+import org.picocontainer.gems.adapters.ThreadLocalReference;
+
+import com.opensymphony.xwork.ObjectFactory;
+
+/**
+ * Filter which initialises a PicoObjectFactory as the XWork ObjectFactory
+ * and passes to it the HttpServletRequest.
+ * 
+ * @author Jonas Engman
+ */
+public class PicoObjectFactoryFilter implements Filter {
+
+	private final static String ALREADY_FILTERED_KEY = "nanocontainer_objectfactory_filtered";
+
+	private ObjectReference objectReference;
+
+	public void init(FilterConfig config) throws ServletException {
+		objectReference = new ThreadLocalReference();
+		ObjectFactory.setObjectFactory(new PicoObjectFactory(objectReference));
+	}
+
+	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
+		HttpServletRequest httpServletRequest = (HttpServletRequest) request;
+		if (httpServletRequest.getAttribute(ALREADY_FILTERED_KEY) == null) {
+			httpServletRequest.setAttribute(ALREADY_FILTERED_KEY, Boolean.TRUE);
+			objectReference.set(httpServletRequest);
+			try {
+				chain.doFilter(request, response);
+			} finally {
+				objectReference.set(null);
+			}
+		} else {
+			chain.doFilter(request, response);
+		}
+	}
+
+	public void destroy() {
+	}
+}

Deleted: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoServletDispatcher.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork2/PicoServletDispatcher.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoServletDispatcher.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,17 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.webwork2;
-
-
-/**
- * @deprecated Use PicoWebWork2ServletDispatcher
- */
-public class PicoServletDispatcher extends PicoWebWork2ServletDispatcher {
-    
-}
\ No newline at end of file

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoServletDispatcher.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork2/PicoServletDispatcher.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoServletDispatcher.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoServletDispatcher.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,17 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.webwork2;
+
+
+/**
+ * @deprecated Use PicoWebWork2ServletDispatcher
+ */
+public class PicoServletDispatcher extends PicoWebWork2ServletDispatcher {
+    
+}
\ No newline at end of file

Deleted: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoWebWork2ServletDispatcher.java (3118 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork2/PicoWebWork2ServletDispatcher.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoWebWork2ServletDispatcher.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,47 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.webwork2;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.nanocontainer.nanowar.ServletRequestContainerLauncher;
-
-import com.opensymphony.webwork.dispatcher.ServletDispatcher;
-import com.opensymphony.xwork.ActionProxyFactory;
-import com.opensymphony.xwork.DefaultActionProxyFactory;
-
-/**
- * Extension to the standard WebWork2 ServletDispatcher that instantiates 
- * a new container in the request scope for each request and disposes of it 
- * correctly at the end of the request.
- * <p/>
- * To use, replace the WebWork ServletDispatcher in web.xml with this.
- *
- * @author <a href="" Walnes</a>
- */
-public class PicoWebWork2ServletDispatcher extends ServletDispatcher {
-
-    public PicoWebWork2ServletDispatcher() {
-        super();
-        ActionProxyFactory.setFactory(new PicoActionProxyFactory());
-    }
-
-    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException {
-        ServletRequestContainerLauncher containerLauncher = new ServletRequestContainerLauncher(getServletContext(), request);
-        try {
-            containerLauncher.startContainer();
-            // process the servlet using webwork2
-            super.service(request, response);
-        } finally {
-            containerLauncher.killContainer();
-        }
-    }
-}

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoWebWork2ServletDispatcher.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/webwork2/PicoWebWork2ServletDispatcher.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoWebWork2ServletDispatcher.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/java/org/nanocontainer/nanowar/webwork2/PicoWebWork2ServletDispatcher.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.webwork2;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.nanocontainer.nanowar.ServletRequestContainerLauncher;
+
+import com.opensymphony.webwork.dispatcher.ServletDispatcher;
+import com.opensymphony.xwork.ActionProxyFactory;
+import com.opensymphony.xwork.DefaultActionProxyFactory;
+
+/**
+ * Extension to the standard WebWork2 ServletDispatcher that instantiates 
+ * a new container in the request scope for each request and disposes of it 
+ * correctly at the end of the request.
+ * <p/>
+ * To use, replace the WebWork ServletDispatcher in web.xml with this.
+ *
+ * @author <a href="" Walnes</a>
+ */
+public class PicoWebWork2ServletDispatcher extends ServletDispatcher {
+
+    public PicoWebWork2ServletDispatcher() {
+        super();
+        ActionProxyFactory.setFactory(new PicoActionProxyFactory());
+    }
+
+    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException {
+        ServletRequestContainerLauncher containerLauncher = new ServletRequestContainerLauncher(getServletContext(), request);
+        try {
+            containerLauncher.startContainer();
+            // process the servlet using webwork2
+            super.service(request, response);
+        } finally {
+            containerLauncher.killContainer();
+        }
+    }
+}

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/test/org/nanocontainer/nanowar/webwork2 (from rev 3118, java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/webwork2) ( => )

Deleted: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/test/org/nanocontainer/nanowar/webwork2/PicoObjectFactoryTestCase.java
===================================================================
--- java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/webwork2/PicoObjectFactoryTestCase.java	2006-12-18 15:14:29 UTC (rev 3118)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/test/org/nanocontainer/nanowar/webwork2/PicoObjectFactoryTestCase.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,110 +0,0 @@
-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved.            *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD      *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file.                                                     *
- *                                                                           *
- *****************************************************************************/
-package org.nanocontainer.nanowar.webwork2;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.jmock.Mock;
-import org.jmock.MockObjectTestCase;
-import org.nanocontainer.nanowar.KeyConstants;
-import org.nanocontainer.nanowar.webwork.TestAction;
-import org.nanocontainer.nanowar.webwork2.PicoObjectFactory;
-import org.picocontainer.MutablePicoContainer;
-import org.picocontainer.PicoIntrospectionException;
-import org.picocontainer.defaults.DefaultPicoContainer;
-import org.picocontainer.defaults.ObjectReference;
-import org.picocontainer.defaults.UnsatisfiableDependenciesException;
-import org.picocontainer.gems.adapters.ThreadLocalReference;
-
-/**
- * @author Mauro Talevi
- */
-public class PicoObjectFactoryTestCase extends MockObjectTestCase {
-
-    private PicoObjectFactory factory;
-    private DefaultPicoContainer container;
-    private Mock requestMock = mock(HttpServletRequest.class);
-    private HttpServletRequest request = (HttpServletRequest) requestMock.proxy();
-    
-    public void setUp(){
-        container = new DefaultPicoContainer();
-        ObjectReference reference = new ThreadLocalReference();
-        reference.set(request);
-        factory = new PicoObjectFactory(reference);
-    }
-    
-	public void testActionInstantiationWithValidClassName() throws Exception {
-        requestMock.expects(atLeastOnce()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
-                returnValue(null));
-        requestMock.expects(atLeastOnce()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
-                returnValue(container));
-        requestMock.expects(atLeastOnce()).method("setAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER),
-                isA(MutablePicoContainer.class));
-		container.registerComponentInstance("foo");
-		TestAction action = "" factory
-				.buildBean("org.nanocontainer.nanowar.webwork.TestAction");
-		assertNotNull(action);
-		assertEquals("foo", action.getFoo());
-	}
-    
-    public void testActionInstantiationWhichFailsDueToFailedDependencies() throws Exception {
-        requestMock.expects(atLeastOnce()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
-                returnValue(null));
-        requestMock.expects(atLeastOnce()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
-                returnValue(container));
-        requestMock.expects(atLeastOnce()).method("setAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER),
-                isA(MutablePicoContainer.class));
-        TestAction action = ""
-        try {
-            action = "" factory
-                            .buildBean("org.nanocontainer.nanowar.webwork.TestAction");
-            fail("should have barfed");
-        } catch (UnsatisfiableDependenciesException e) {
-            // expected
-        }
-        assertNull(action);
-    }
-
-    public void testActionInstantiationWithInvalidClassName() throws Exception {
-        try {
-            factory.buildBean("invalidAction");
-            fail("PicoIntrospectionException expected");
-        } catch ( PicoIntrospectionException e) {
-            // expected
-        }
-    }
-
-    public void testActionInstantiationWhichHasAlreadyBeenRegistered() throws Exception {
-        requestMock.expects(atLeastOnce()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
-                returnValue(null));
-        requestMock.expects(atLeastOnce()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
-                returnValue(container));
-        requestMock.expects(atLeastOnce()).method("setAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER),
-                isA(MutablePicoContainer.class));
-        container.registerComponentInstance("foo");
-        container.registerComponentImplementation(TestAction.class);
-        TestAction action1 = (TestAction) container.getComponentInstance(TestAction.class);
-        TestAction action2 = (TestAction) factory
-                .buildBean("org.nanocontainer.nanowar.webwork.TestAction");
-        assertSame(action1, action2);
-    }
-
-    public void testActionInstantiationWhichHasAlreadyBeenRequested() throws Exception {
-        requestMock.expects(atLeastOnce()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
-                returnValue(container));
-        container.registerComponentInstance("foo");
-        TestAction action1 = (TestAction) factory
-                .buildBean("org.nanocontainer.nanowar.webwork.TestAction");
-        TestAction action2 = (TestAction) factory
-                .buildBean("org.nanocontainer.nanowar.webwork.TestAction");
-        assertSame(action1, action2);
-    }
-    
-
-}
\ No newline at end of file

Copied: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/test/org/nanocontainer/nanowar/webwork2/PicoObjectFactoryTestCase.java (from rev 3120, java/nanocontainer-nanowar/trunk/nanowar/src/test/org/nanocontainer/nanowar/webwork2/PicoObjectFactoryTestCase.java) (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/test/org/nanocontainer/nanowar/webwork2/PicoObjectFactoryTestCase.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/test/org/nanocontainer/nanowar/webwork2/PicoObjectFactoryTestCase.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,109 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.webwork2;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.jmock.Mock;
+import org.jmock.MockObjectTestCase;
+import org.nanocontainer.nanowar.KeyConstants;
+import org.nanocontainer.nanowar.webwork2.PicoObjectFactory;
+import org.picocontainer.MutablePicoContainer;
+import org.picocontainer.PicoIntrospectionException;
+import org.picocontainer.defaults.DefaultPicoContainer;
+import org.picocontainer.defaults.ObjectReference;
+import org.picocontainer.defaults.UnsatisfiableDependenciesException;
+import org.picocontainer.gems.adapters.ThreadLocalReference;
+
+/**
+ * @author Mauro Talevi
+ */
+public class PicoObjectFactoryTestCase extends MockObjectTestCase {
+
+    private PicoObjectFactory factory;
+    private DefaultPicoContainer container;
+    private Mock requestMock = mock(HttpServletRequest.class);
+    private HttpServletRequest request = (HttpServletRequest) requestMock.proxy();
+    
+    public void setUp(){
+        container = new DefaultPicoContainer();
+        ObjectReference reference = new ThreadLocalReference();
+        reference.set(request);
+        factory = new PicoObjectFactory(reference);
+    }
+    
+	public void testActionInstantiationWithValidClassName() throws Exception {
+        requestMock.expects(atLeastOnce()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
+                returnValue(null));
+        requestMock.expects(atLeastOnce()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
+                returnValue(container));
+        requestMock.expects(atLeastOnce()).method("setAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER),
+                isA(MutablePicoContainer.class));
+		container.registerComponentInstance("foo");
+		TestAction action = "" factory
+				.buildBean(TestAction.class.getName());
+		assertNotNull(action);
+		assertEquals("foo", action.getFoo());
+	}
+    
+    public void testActionInstantiationWhichFailsDueToFailedDependencies() throws Exception {
+        requestMock.expects(atLeastOnce()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
+                returnValue(null));
+        requestMock.expects(atLeastOnce()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
+                returnValue(container));
+        requestMock.expects(atLeastOnce()).method("setAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER),
+                isA(MutablePicoContainer.class));
+        TestAction action = ""
+        try {
+            action = "" factory
+                            .buildBean(TestAction.class.getName());
+            fail("should have barfed");
+        } catch (UnsatisfiableDependenciesException e) {
+            // expected
+        }
+        assertNull(action);
+    }
+
+    public void testActionInstantiationWithInvalidClassName() throws Exception {
+        try {
+            factory.buildBean("invalidAction");
+            fail("PicoIntrospectionException expected");
+        } catch ( PicoIntrospectionException e) {
+            // expected
+        }
+    }
+
+    public void testActionInstantiationWhichHasAlreadyBeenRegistered() throws Exception {
+        requestMock.expects(atLeastOnce()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
+                returnValue(null));
+        requestMock.expects(atLeastOnce()).method("getAttribute").with(eq(KeyConstants.REQUEST_CONTAINER)).will(
+                returnValue(container));
+        requestMock.expects(atLeastOnce()).method("setAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER),
+                isA(MutablePicoContainer.class));
+        container.registerComponentInstance("foo");
+        container.registerComponentImplementation(TestAction.class);
+        TestAction action1 = (TestAction) container.getComponentInstance(TestAction.class);
+        TestAction action2 = (TestAction) factory
+                .buildBean(TestAction.class.getName());
+        assertSame(action1, action2);
+    }
+
+    public void testActionInstantiationWhichHasAlreadyBeenRequested() throws Exception {
+        requestMock.expects(atLeastOnce()).method("getAttribute").with(eq(KeyConstants.ACTIONS_CONTAINER)).will(
+                returnValue(container));
+        container.registerComponentInstance("foo");
+        TestAction action1 = (TestAction) factory
+                .buildBean(TestAction.class.getName());
+        TestAction action2 = (TestAction) factory
+                .buildBean(TestAction.class.getName());
+        assertSame(action1, action2);
+    }
+    
+
+}
\ No newline at end of file

Added: java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/test/org/nanocontainer/nanowar/webwork2/TestAction.java (0 => 3121)

--- java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/test/org/nanocontainer/nanowar/webwork2/TestAction.java	                        (rev 0)
+++ java/nanocontainer-nanowar/trunk/nanowar-webwork2/src/test/org/nanocontainer/nanowar/webwork2/TestAction.java	2006-12-19 13:19:22 UTC (rev 3121)
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved.            *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD      *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file.                                                     *
+ *                                                                           *
+ *****************************************************************************/
+package org.nanocontainer.nanowar.webwork2;
+
+import com.opensymphony.xwork.Action;
+
+
+public class TestAction implements Action {
+    String foo;
+    public TestAction(String foo) {
+        this.foo = foo;
+    }
+    
+    public String getFoo() {
+        return foo;
+    }
+    
+    public String execute() {
+        return foo;
+    }
+}

Modified: java/nanocontainer-nanowar/trunk/pom.xml (3120 => 3121)

--- java/nanocontainer-nanowar/trunk/pom.xml	2006-12-18 18:25:51 UTC (rev 3120)
+++ java/nanocontainer-nanowar/trunk/pom.xml	2006-12-19 13:19:22 UTC (rev 3121)
@@ -1,211 +1,177 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>org.nanocontainer</groupId>
-		<artifactId>nanocontainer-parent</artifactId>
-		<version>1.1-SNAPSHOT</version>
-	</parent>
-	<artifactId>nanocontainer-nanowar-parent</artifactId>
-	<name>NanoContainer NanoWar Parent</name>
-	<version>1.1-SNAPSHOT</version>
-	<packaging>pom</packaging>
-	<url>http://www.nanocontainer.org/nanowar</url>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.nanocontainer</groupId>
+        <artifactId>nanocontainer-parent</artifactId>
+        <version>1.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>nanocontainer-nanowar-parent</artifactId>
+    <name>NanoContainer NanoWar Parent</name>
+    <version>1.1-SNAPSHOT</version>
+    <packaging>pom</packaging>
+    <url>http://www.nanocontainer.org/nanowar</url>
 
-	<modules>
-		<module>nanowar</module>
-	</modules>
+    <modules>
+        <module>nanowar</module>
+        <module>nanowar-axis</module>
+        <module>nanowar-nanoweb</module>
+        <module>nanowar-struts</module>
+        <module>nanowar-webwork</module>
+        <module>nanowar-webwork2</module>
+    </modules>
 
-	<description><![CDATA[Please refer to the <a href="" website</a> for documentation.]]></description>
-	<issueManagement>
-		<system>JIRA</system>
-		<url>http://jira.codehaus.org/browse/NANOWAR</url>
-	</issueManagement>
-	
-	<scm>
-		<connection>scm:svn:https://svn.codehaus.org/picocontainer/java/nanocontainer-nanowar/trunk</connection>
-		<developerConnection>scm:svn:https://svn.codehaus.org/scm/picocontainer/java/nanocontainer-nanowar/trunk</developerConnection>
-		<url>https://svn.codehaus.org/picocontainer/java/nanocontainer-nanowar/trunk</url>
-	</scm>
-	
-	<repositories>
-		<repository>
-			<id>codehaus-repository</id>
-			<name>Codehaus Repository</name>
-			<url>http://repository.codehaus.org</url>
-		</repository>
-		<repository>
-			<id>codehaus-snapshots-repository</id>
-			<name>Codehaus Snapshots Repository</name>
-			<url>http://snapshots.repository.codehaus.org</url>
-		</repository>
-	</repositories>
+    <description>
+        <![CDATA[Please refer to the <a href="" website</a> for documentation.]]>
+    </description>
+    <issueManagement>
+        <system>JIRA</system>
+        <url>http://jira.codehaus.org/browse/NANOWAR</url>
+    </issueManagement>
 
-	<dependencyManagement>
-		<dependencies>
-			<dependency>
-				<groupId>org.picocontainer</groupId>
-				<artifactId>picocontainer</artifactId>
-				<version>1.2</version>
-			</dependency>
-			<dependency>
-				<groupId>org.picocontainer</groupId>
-				<artifactId>picocontainer-gems</artifactId>
-				<version>1.2</version>
-			</dependency>
-			<dependency>
-				<groupId>org.nanocontainer</groupId>
-				<artifactId>nanocontainer</artifactId>
-				<version>1.0</version>
-			</dependency>
-			<dependency>
-				<groupId>org.picocontainer</groupId>
-				<artifactId>picocontainer-tck</artifactId>
-				<version>1.2</version>
-				<scope>test</scope>
-			</dependency>
-			<dependency>
-				<groupId>javax.servlet</groupId>
-				<artifactId>servlet-api</artifactId>
-				<version>2.3</version>
-				<scope>provided</scope>
-			</dependency>
-			<dependency>
-				<groupId>org.mortbay.jetty</groupId>
-				<artifactId>jetty</artifactId>
-				<version>6.0.1</version>
-				<scope>provided</scope>
-			</dependency>
-			<dependency>
-				<groupId>webwork</groupId>
-				<artifactId>webwork</artifactId>
-				<version>1.4</version>
+    <scm>
+        <connection>
+            scm:svn:https://svn.codehaus.org/picocontainer/java/nanocontainer-nanowar/trunk
+        </connection>
+        <developerConnection>
+            scm:svn:https://svn.codehaus.org/scm/picocontainer/java/nanocontainer-nanowar/trunk
+        </developerConnection>
+        <url>
+            https://svn.codehaus.org/picocontainer/java/nanocontainer-nanowar/trunk
+        </url>
+    </scm>
+
+    <repositories>
+        <repository>
+            <id>codehaus-repository</id>
+            <name>Codehaus Repository</name>
+            <url>http://repository.codehaus.org</url>
+        </repository>
+        <repository>
+            <id>codehaus-snapshots-repository</id>
+            <name>Codehaus Snapshots Repository</name>
+            <url>http://snapshots.repository.codehaus.org</url>
+        </repository>
+    </repositories>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.picocontainer</groupId>
+                <artifactId>picocontainer-gems</artifactId>
+                <version>1.2</version>
+            </dependency>
+            <dependency>
+                <groupId>org.nanocontainer</groupId>
+                <artifactId>nanocontainer</artifactId>
+                <version>1.0</version>
+            </dependency>
+            <dependency>
+                <groupId>groovy</groupId>
+                <artifactId>groovy-all</artifactId>
+                <version>1.0-RC-01</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>servletapi</groupId>
+                        <artifactId>servletapi</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>cglib</groupId>
+                        <artifactId>cglib</artifactId>
+                    </exclusion>
+                </exclusions>
                 <optional>true</optional>
-			</dependency>
-			<dependency>
-				<groupId>opensymphony</groupId>
-				<artifactId>xwork</artifactId>
-				<version>1.0.5</version>
+            </dependency>
+            <dependency>
+                <groupId>velocity</groupId>
+                <artifactId>velocity</artifactId>
+                <version>1.4</version>
+            </dependency>
+            <dependency>
+                <groupId>velocity-tools</groupId>
+                <artifactId>velocity-tools-view</artifactId>
+                <version>1.1</version>
+            </dependency>
+            <dependency>
+                <groupId>javax.servlet</groupId>
+                <artifactId>servlet-api</artifactId>
+                <version>2.3</version>
+                <scope>provided</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.mortbay.jetty</groupId>
+                <artifactId>jetty</artifactId>
+                <version>6.0.1</version>
+                <scope>provided</scope>
+            </dependency>
+            <dependency>
+                <groupId>jmock</groupId>
+                <artifactId>jmock</artifactId>
+                <version>1.0.1</version>
                 <optional>true</optional>
-			</dependency>
-			<dependency>
-				<groupId>opensymphony</groupId>
-				<artifactId>webwork</artifactId>
-				<version>2.1.7</version>
-                <optional>true</optional>
-			</dependency>
-			<dependency>
-				<groupId>struts</groupId>
-				<artifactId>struts</artifactId>
-				<version>1.2.7</version>
-				<exclusions>
-					<exclusion>
-						<groupId>javax.sql</groupId>
-						<artifactId>jdbc-stdext</artifactId>
-					</exclusion>
-				</exclusions>
-                <optional>true</optional>
-			</dependency>
-			<dependency>
-				<groupId>axis</groupId>
-				<artifactId>axis</artifactId>
-				<version>1.2.1</version>
-				<exclusions>
-					<exclusion>
-						<groupId>wsdl4j</groupId>
-						<artifactId>wsdl4j</artifactId>
-					</exclusion>
-					<exclusion>
-						<groupId>javax.activation</groupId>
-						<artifactId>activation</artifactId>
-					</exclusion>
-					<exclusion>
-						<groupId>javax.mail</groupId>
-						<artifactId>mail</artifactId>
-					</exclusion>
-				</exclusions>
-                <optional>true</optional>
-			</dependency>
-			<dependency>
-				<groupId>groovy</groupId>
-				<artifactId>groovy-all</artifactId>
-				<version>1.0-RC-01</version>
-				<exclusions>
-					<exclusion>
-						<groupId>servletapi</groupId>
-						<artifactId>servletapi</artifactId>
-					</exclusion>
-				</exclusions>
-                <optional>true</optional>
-			</dependency>
-			<dependency>
-				<groupId>velocity</groupId>
-				<artifactId>velocity</artifactId>
-				<version>1.4</version>
-                <optional>true</optional>
-			</dependency>
-			<dependency>
-				<groupId>velocity-tools</groupId>
-				<artifactId>velocity-tools-view</artifactId>
-				<version>1.1</version>
-                <optional>true</optional>
-			</dependency>
-			<dependency>
-				<groupId>ognl</groupId>
-				<artifactId>ognl</artifactId>
-				<version>2.6.7</version>
-                <optional>true</optional>
-			</dependency>
-			<dependency>
-				<groupId>jmock</groupId>
-				<artifactId>jmock</artifactId>
-				<version>1.1.0</version>
-                <optional>true</optional>
-			</dependency>
-			<dependency>
-				<groupId>jmock</groupId>
-				<artifactId>jmock-cglib</artifactId>
-				<version>1.1.0</version>
-                <optional>true</optional>
-			</dependency>
-			<!-- Test scoped depedencies -->
-			<dependency>
-				<groupId>httpunit</groupId>
-				<artifactId>httpunit</artifactId>
-				<version>1.6</version>
-				<scope>test</scope>
-			</dependency>
-			<dependency>
-				<groupId>junit</groupId>
-				<artifactId>junit</artifactId>
-				<version>3.8.1</version>
-				<scope>test</scope>
-			</dependency>
-		</dependencies>
-	</dependencyManagement>
-	
-	<dependencies>
-		<!-- test time only -->
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>jmock</groupId>
-			<artifactId>jmock</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>jmock</groupId>
-			<artifactId>jmock-cglib</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>httpunit</groupId>
-			<artifactId>httpunit</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.picocontainer</groupId>
-			<artifactId>picocontainer-tck</artifactId>
-		</dependency>
-	</dependencies>
+            </dependency>
+            <!-- Test scoped depedencies -->
+            <dependency>
+                <groupId>org.picocontainer</groupId>
+                <artifactId>picocontainer-tck</artifactId>
+                <version>1.2</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>jmock</groupId>
+                <artifactId>jmock-cglib</artifactId>
+                <version>1.0.1</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>cglib</groupId>
+                <artifactId>cglib</artifactId>
+                <version>nodep-2.1</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>httpunit</groupId>
+                <artifactId>httpunit</artifactId>
+                <version>1.6</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>3.8.1</version>
+                <scope>test</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
 
+    <dependencies>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jmock</groupId>
+            <artifactId>jmock</artifactId>
+        </dependency>
+        <!-- test time only -->
+        <dependency>
+            <groupId>jmock</groupId>
+            <artifactId>jmock-cglib</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>httpunit</groupId>
+            <artifactId>httpunit</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.picocontainer</groupId>
+            <artifactId>picocontainer-tck</artifactId>
+        </dependency>
+    </dependencies>
+
 </project>


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise