You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mr...@apache.org on 2006/11/13 09:30:46 UTC
svn commit: r474191 [3/4] - in /struts/struts2/trunk:
apps/showcase/src/main/resources/ apps/showcase/src/main/webapp/WEB-INF/
core/src/main/java/org/apache/struts2/
core/src/main/java/org/apache/struts2/components/
core/src/main/java/org/apache/struts...
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/velocity/VelocityManager.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/velocity/VelocityManager.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/velocity/VelocityManager.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/velocity/VelocityManager.java Mon Nov 13 00:30:40 2006
@@ -40,7 +40,6 @@
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.StrutsConstants;
import org.apache.struts2.StrutsException;
-import org.apache.struts2.config.Settings;
import org.apache.struts2.util.VelocityStrutsUtil;
import org.apache.struts2.views.jsp.ui.OgnlTool;
import org.apache.struts2.views.util.ContextUtil;
@@ -95,6 +94,7 @@
import org.apache.velocity.tools.view.servlet.ServletToolboxManager;
import com.opensymphony.xwork2.ObjectFactory;
+import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.ValueStack;
@@ -133,14 +133,15 @@
private Properties velocityProperties;
- protected VelocityManager() {
- init();
+ private String customConfigFile;
+
+ public VelocityManager() {
}
/**
* retrieve an instance to the current VelocityManager
*/
- public synchronized static VelocityManager getInstance() {
+ /*public synchronized static VelocityManager getInstance() {
if (instance == null) {
String classname = VelocityManager.class.getName();
@@ -164,6 +165,7 @@
return instance;
}
+ */
/**
* @return a reference to the VelocityEngine used by <b>all</b> struts velocity thingies with the exception of
@@ -196,7 +198,7 @@
Map.Entry entry = (Map.Entry) iterator.next();
context.put((String) entry.getKey(), entry.getValue());
}
- context.put(STRUTS, new VelocityStrutsUtil(context, stack, req, res));
+ context.put(STRUTS, new VelocityStrutsUtil(velocityEngine, context, stack, req, res));
ServletContext ctx = null;
@@ -299,8 +301,8 @@
*/
String configfile;
- if (Settings.isSet(StrutsConstants.STRUTS_VELOCITY_CONFIGFILE)) {
- configfile = Settings.get(StrutsConstants.STRUTS_VELOCITY_CONFIGFILE);
+ if (customConfigFile != null) {
+ configfile = customConfigFile;
} else {
configfile = "velocity.properties";
}
@@ -396,23 +398,40 @@
return properties;
}
-
+
+ @Inject(StrutsConstants.STRUTS_VELOCITY_CONFIGFILE)
+ public void setCustomConfigFile(String val) {
+ this.customConfigFile = val;
+ }
+
+ @Inject(StrutsConstants.STRUTS_VELOCITY_TOOLBOXLOCATION)
+ public void setToolBoxLocation(String toolboxLocation) {
+ this.toolBoxLocation = toolboxLocation;
+ }
+
/**
- * performs one-time initializations
+ * allow users to specify via the struts.properties file a set of additional VelocityContexts to chain to the
+ * the StrutsVelocityContext. The intent is to allow these contexts to store helper objects that the ui
+ * developer may want access to. Examples of reasonable VelocityContexts would be an IoCVelocityContext, a
+ * SpringReferenceVelocityContext, and a ToolboxVelocityContext
*/
- protected void init() {
-
- // read in the names of contexts to add to each request
- initChainedContexts();
-
+ @Inject(StrutsConstants.STRUTS_VELOCITY_CONTEXTS)
+ public void setChainedContexts(String contexts) {
+ // we expect contexts to be a comma separated list of classnames
+ StringTokenizer st = new StringTokenizer(contexts, ",");
+ List contextList = new ArrayList();
- if (Settings.isSet(StrutsConstants.STRUTS_VELOCITY_TOOLBOXLOCATION)) {
- toolBoxLocation = Settings.get(StrutsConstants.STRUTS_VELOCITY_TOOLBOXLOCATION).toString();
+ while (st.hasMoreTokens()) {
+ String classname = st.nextToken();
+ contextList.add(classname);
+ }
+ if (contextList.size() > 0) {
+ String[] chainedContexts = new String[contextList.size()];
+ contextList.toArray(chainedContexts);
+ this.chainedContextNames = chainedContexts;
}
-
}
-
/**
* Initializes the ServletToolboxManager for this servlet's
* toolbox (if any).
@@ -427,34 +446,7 @@
}
- /**
- * allow users to specify via the struts.properties file a set of additional VelocityContexts to chain to the
- * the StrutsVelocityContext. The intent is to allow these contexts to store helper objects that the ui
- * developer may want access to. Examples of reasonable VelocityContexts would be an IoCVelocityContext, a
- * SpringReferenceVelocityContext, and a ToolboxVelocityContext
- */
- protected void initChainedContexts() {
-
- if (Settings.isSet(StrutsConstants.STRUTS_VELOCITY_CONTEXTS)) {
- // we expect contexts to be a comma separated list of classnames
- String contexts = Settings.get(StrutsConstants.STRUTS_VELOCITY_CONTEXTS).toString();
- StringTokenizer st = new StringTokenizer(contexts, ",");
- List contextList = new ArrayList();
-
- while (st.hasMoreTokens()) {
- String classname = st.nextToken();
- contextList.add(classname);
- }
- if (contextList.size() > 0) {
- String[] chainedContexts = new String[contextList.size()];
- contextList.toArray(chainedContexts);
- this.chainedContextNames = chainedContexts;
- }
-
-
- }
-
- }
+
/**
* <p/>
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/velocity/components/AbstractDirective.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/velocity/components/AbstractDirective.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/velocity/components/AbstractDirective.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/velocity/components/AbstractDirective.java Mon Nov 13 00:30:40 2006
@@ -30,6 +30,7 @@
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.components.Component;
+import org.apache.struts2.dispatcher.Dispatcher;
import org.apache.velocity.context.InternalContextAdapter;
import org.apache.velocity.exception.MethodInvocationException;
import org.apache.velocity.exception.ParseErrorException;
@@ -37,6 +38,7 @@
import org.apache.velocity.runtime.directive.Directive;
import org.apache.velocity.runtime.parser.node.Node;
+import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.util.ValueStack;
public abstract class AbstractDirective extends Directive {
@@ -61,7 +63,8 @@
HttpServletRequest req = (HttpServletRequest) stack.getContext().get(ServletActionContext.HTTP_REQUEST);
HttpServletResponse res = (HttpServletResponse) stack.getContext().get(ServletActionContext.HTTP_RESPONSE);
Component bean = getBean(stack, req, res);
-
+ Container container = Dispatcher.getInstance().getConfigurationManager().getConfiguration().getContainer();
+ container.inject(bean);
// get the parameters
Map params = createPropertyMap(ctx, node);
bean.copyParams(params);
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java Mon Nov 13 00:30:40 2006
@@ -42,11 +42,12 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.ServletActionContext;
-import org.apache.struts2.config.Settings;
+import org.apache.struts2.StrutsConstants;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.Result;
+import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.TextParseUtil;
import com.opensymphony.xwork2.util.ValueStack;
@@ -202,12 +203,16 @@
public XSLTResult() {
templatesCache = new HashMap<String, Templates>();
- noCache = Settings.get("struts.xslt.nocache").trim().equalsIgnoreCase("true");
}
public XSLTResult(String stylesheetLocation) {
this();
setStylesheetLocation(stylesheetLocation);
+ }
+
+ @Inject(StrutsConstants.STRUTS_XSLT_NOCACHE)
+ public void setNoCache(String val) {
+ noCache = "true".equals(val);
}
/**
Modified: struts/struts2/trunk/core/src/main/resources/org/apache/struts2/default.properties
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/resources/org/apache/struts2/default.properties?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/main/resources/org/apache/struts2/default.properties (original)
+++ struts/struts2/trunk/core/src/main/resources/org/apache/struts2/default.properties Mon Nov 13 00:30:40 2006
@@ -48,16 +48,7 @@
# struts.custom.properties=application,org/apache/struts2/extension/custom
### How request URLs are mapped to and from actions
-struts.mapper.class=org.apache.struts2.dispatcher.mapper.DefaultActionMapper
-### The above line is to be commented and following are to be uncommented to
-### enable CompositeActionMapper
-### - With CompositeActionMapper one could specified many ActionMapper instance, where
-### each of them will be chosen according to the order. Lower order number has
-### higher precedence
-#struts.mapper.class=org.apache.struts2.dispatcher.mapper.CompositeActionMapper
-#struts.mapper.composite.1=org.apache.struts2.dispatcher.mapper.DefaultActionMapper
-#struts.mapper.composite.2=foo.bar.MyActionMapper
-#struts.mapper.composite.3=foo.bar.MyAnotherActionMapper
+#struts.mapper.class=org.apache.struts2.dispatcher.mapper.DefaultActionMapper
### Used by the DefaultActionMapper
### You may provide a comma separated list, e.g. struts.action.extension=action,jnlp,do
@@ -128,10 +119,13 @@
struts.configuration.xml.reload=false
### Location of velocity.properties file. defaults to velocity.properties
-# struts.velocity.configfile = velocity.properties
+struts.velocity.configfile = velocity.properties
### Comma separated list of VelocityContext classnames to chain to the StrutsVelocityContext
-# struts.velocity.contexts =
+struts.velocity.contexts =
+
+### Location of the velocity toolbox
+struts.velocity.toolboxlocation=
### used to build URLs, such as the UrlTag
struts.url.http.port = 80
@@ -160,5 +154,8 @@
### A list of configuration files automatically loaded by Struts
struts.configuration.files=struts-default.xml,struts-plugin.xml,struts.xml
+
+### A list of template engines available
+struts.templateEngines=ftl,jsp,vm
### END SNIPPET: complete_file
Modified: struts/struts2/trunk/core/src/main/resources/struts-2.0.dtd
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/resources/struts-2.0.dtd?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/main/resources/struts-2.0.dtd (original)
+++ struts/struts2/trunk/core/src/main/resources/struts-2.0.dtd Mon Nov 13 00:30:40 2006
@@ -11,7 +11,7 @@
"http://struts.apache.org/dtds/struts-2.0.dtd">
-->
-<!ELEMENT struts (package|include)*>
+<!ELEMENT struts (package|include|bean|constant)*>
<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, global-results?, global-exception-mappings?, action*)>
<!ATTLIST package
@@ -98,6 +98,22 @@
<!ELEMENT include (#PCDATA)>
<!ATTLIST include
file CDATA #REQUIRED
+>
+
+<!ELEMENT bean (#PCDATA)>
+<!ATTLIST bean
+ type CDATA #IMPLIED
+ name CDATA #IMPLIED
+ class CDATA #REQUIRED
+ scope CDATA #IMPLIED
+ static CDATA #IMPLIED
+ optional CDATA #IMPLIED
+>
+
+<!ELEMENT constant (#PCDATA)>
+<!ATTLIST constant
+ name CDATA #REQUIRED
+ value CDATA #REQUIRED
>
<!-- END SNIPPET: strutsDtd -->
Modified: struts/struts2/trunk/core/src/main/resources/struts-default.xml
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/resources/struts-default.xml?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/main/resources/struts-default.xml (original)
+++ struts/struts2/trunk/core/src/main/resources/struts-default.xml Mon Nov 13 00:30:40 2006
@@ -5,6 +5,41 @@
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
+ <bean class="com.opensymphony.xwork2.ObjectFactory" name="xwork" />
+ <bean type="com.opensymphony.xwork2.ObjectFactory" name="struts" class="org.apache.struts2.impl.StrutsObjectFactory" />
+ <bean type="com.opensymphony.xwork2.ObjectFactory" name="spring" class="org.apache.struts2.spring.StrutsSpringObjectFactory" optional="true"/>
+
+ <bean type="com.opensymphony.xwork2.ActionProxyFactory" name="xwork" class="com.opensymphony.xwork2.DefaultActionProxyFactory"/>
+ <bean type="com.opensymphony.xwork2.ActionProxyFactory" name="struts" class="org.apache.struts2.impl.StrutsActionProxyFactory"/>
+
+ <bean type="com.opensymphony.xwork2.util.ObjectTypeDeterminer" name="tiger" class="com.opensymphony.xwork2.util.GenericsObjectTypeDeterminer"/>
+ <bean type="com.opensymphony.xwork2.util.ObjectTypeDeterminer" name="notiger" class="com.opensymphony.xwork2.util.DefaultObjectTypeDeterminer"/>
+ <bean type="com.opensymphony.xwork2.util.ObjectTypeDeterminer" name="struts" class="com.opensymphony.xwork2.util.DefaultObjectTypeDeterminer"/>
+
+ <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="struts" class="org.apache.struts2.dispatcher.mapper.DefaultActionMapper" />
+ <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="composite" class="org.apache.struts2.dispatcher.mapper.CompositeActionMapper" />
+ <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="restful" class="org.apache.struts2.dispatcher.mapper.RestfulActionMapper" />
+ <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="restful2" class="org.apache.struts2.dispatcher.mapper.Restful2ActionMapper" />
+
+ <bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest" name="struts" class="org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest" scope="default"/>
+ <bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest" name="jakarta" class="org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest" scope="default"/>
+
+ <bean class="org.apache.struts2.views.freemarker.FreemarkerManager" name="struts" optional="true"/>
+ <bean class="org.apache.struts2.views.velocity.VelocityManager" name="struts" optional="true" />
+
+ <bean class="org.apache.struts2.components.template.TemplateEngineManager" />
+ <bean type="org.apache.struts2.components.template.TemplateEngine" name="ftl" class="org.apache.struts2.components.template.FreemarkerTemplateEngine" />
+ <bean type="org.apache.struts2.components.template.TemplateEngine" name="vm" class="org.apache.struts2.components.template.VelocityTemplateEngine" />
+ <bean type="org.apache.struts2.components.template.TemplateEngine" name="jsp" class="org.apache.struts2.components.template.JspTemplateEngine" />
+
+ <!-- Only have static constant injections -->
+ <bean class="com.opensymphony.xwork2.util.OgnlValueStack" static="true" />
+ <bean class="org.apache.struts2.dispatcher.Dispatcher" static="true" />
+ <bean class="org.apache.struts2.components.Include" static="true" />
+ <bean class="org.apache.struts2.dispatcher.FilterDispatcher" static="true" />
+ <bean class="org.apache.struts2.views.util.ContextUtil" static="true" />
+ <bean class="org.apache.struts2.views.util.UrlHelper" static="true" />
+
<package name="struts-default">
<result-types>
<result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/TestConfigurationProvider.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/TestConfigurationProvider.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/TestConfigurationProvider.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/TestConfigurationProvider.java Mon Nov 13 00:30:40 2006
@@ -24,6 +24,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import org.apache.struts2.dispatcher.ServletDispatcherResult;
import org.apache.struts2.interceptor.TokenInterceptor;
@@ -31,12 +32,17 @@
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionChainResult;
+import com.opensymphony.xwork2.ActionProxyFactory;
+import com.opensymphony.xwork2.DefaultActionProxyFactory;
+import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.config.Configuration;
+import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.config.ConfigurationProvider;
import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.config.entities.InterceptorMapping;
import com.opensymphony.xwork2.config.entities.PackageConfig;
import com.opensymphony.xwork2.config.entities.ResultConfig;
+import com.opensymphony.xwork2.inject.ContainerBuilder;
import com.opensymphony.xwork2.interceptor.ParametersInterceptor;
import com.opensymphony.xwork2.mock.MockResult;
@@ -53,6 +59,7 @@
public static final String TOKEN_SESSION_ACTION_NAME = "tokenSessionAction";
public static final String TEST_NAMESPACE = "/testNamespace";
public static final String TEST_NAMESPACE_ACTION = "testNamespaceAction";
+ private Configuration configuration;
/**
@@ -60,11 +67,15 @@
*/
public void destroy() {
}
+
+ public void init(Configuration config) {
+ this.configuration = config;
+ }
/**
* Initializes the configuration object.
*/
- public void init(Configuration configurationManager) {
+ public void loadPackages() {
PackageConfig defaultPackageConfig = new PackageConfig("");
HashMap results = new HashMap();
@@ -125,7 +136,7 @@
tokenSessionActionConfig.addResultConfig(new ResultConfig("success", MockResult.class.getName()));
defaultPackageConfig.addActionConfig(TOKEN_SESSION_ACTION_NAME, tokenSessionActionConfig);
- configurationManager.addPackageConfig("", defaultPackageConfig);
+ configuration.addPackageConfig("", defaultPackageConfig);
Map testActionTagResults = new HashMap();
testActionTagResults.put(Action.SUCCESS, new ResultConfig(Action.SUCCESS, TestActionTagResult.class.getName(), new HashMap()));
@@ -140,7 +151,7 @@
ActionConfig namespaceAction = new ActionConfig(null, TestAction.class, null, null, null);
namespacePackageConfig.addActionConfig(TEST_NAMESPACE_ACTION, namespaceAction);
- configurationManager.addPackageConfig("namespacePackage", namespacePackageConfig);
+ configuration.addPackageConfig("namespacePackage", namespacePackageConfig);
}
/**
@@ -150,5 +161,14 @@
*/
public boolean needsReload() {
return false;
+ }
+
+ public void register(ContainerBuilder builder, Properties props) throws ConfigurationException {
+ if (!builder.contains(ObjectFactory.class)) {
+ builder.factory(ObjectFactory.class);
+ }
+ if (!builder.contains(ActionProxyFactory.class)) {
+ builder.factory(ActionProxyFactory.class, DefaultActionProxyFactory.class);
+ }
}
}
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/config/ClasspathConfigurationProviderTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/config/ClasspathConfigurationProviderTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/config/ClasspathConfigurationProviderTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/config/ClasspathConfigurationProviderTest.java Mon Nov 13 00:30:40 2006
@@ -49,6 +49,7 @@
customPackage.setNamespace("/custom");
config.addPackageConfig("custom-package", customPackage);
provider.init(config);
+ provider.loadPackages();
}
public void testFoundRootPackages() {
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/config/SettingsTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/config/SettingsTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/config/SettingsTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/config/SettingsTest.java Mon Nov 13 00:30:40 2006
@@ -48,7 +48,7 @@
assertEquals("de", locale.getLanguage());
int count = getKeyCount();
- assertEquals(32, count);
+ assertEquals(35, count);
}
public void testDefaultResourceBundlesLoaded() {
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ActionContextCleanUpTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ActionContextCleanUpTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ActionContextCleanUpTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ActionContextCleanUpTest.java Mon Nov 13 00:30:40 2006
@@ -21,6 +21,7 @@
package org.apache.struts2.dispatcher;
import java.io.IOException;
+import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -110,20 +111,8 @@
}
};
- cleanUp = new ActionContextCleanUp() {
- @Override
- protected Dispatcher createDispatcher() {
- return _dispatcher;
- }
- };
-
- cleanUp2 = new ActionContextCleanUp() {
- @Override
- protected Dispatcher createDispatcher() {
- return _dispatcher2;
- }
- };
-
+ cleanUp = new ActionContextCleanUp();
+ cleanUp2 = new ActionContextCleanUp();
filterChain2 = new MockFilterChain() {
@Override
public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException {
@@ -135,8 +124,6 @@
public void testSingle() throws Exception {
- assertFalse(_dispatcher.prepare);
- assertFalse(_dispatcher.wrapRequest);
assertNull(request.getAttribute("__cleanup_recursion_counter"));
cleanUp.init(filterConfig);
@@ -146,16 +133,10 @@
assertEquals(_tmpStore.size(), 1);
assertEquals(_tmpStore.get("counter0"), new Integer(1));
- assertTrue(_dispatcher.prepare);
- assertTrue(_dispatcher.wrapRequest);
assertEquals(request.getAttribute("__cleanup_recursion_counter"), new Integer("0"));
}
public void testMultiple() throws Exception {
- assertFalse(_dispatcher.prepare);
- assertFalse(_dispatcher.wrapRequest);
- assertFalse(_dispatcher2.prepare);
- assertFalse(_dispatcher2.wrapRequest);
assertNull(request.getAttribute("__cleanup_recursion_counter"));
cleanUp.init(filterConfig);
@@ -168,10 +149,6 @@
assertEquals(_tmpStore.get("counter0"), new Integer(1));
assertEquals(_tmpStore.get("counter1"), new Integer(2));
- assertFalse(_dispatcher2.prepare);
- assertFalse(_dispatcher2.wrapRequest);
- assertTrue(_dispatcher.prepare);
- assertTrue(_dispatcher.wrapRequest);
assertEquals(request.getAttribute("__cleanup_recursion_counter"), new Integer("0"));
}
@@ -182,7 +159,7 @@
public boolean service = false;
public InnerDispatcher(ServletContext servletContext) {
- super(servletContext);
+ super(servletContext, new HashMap<String,String>());
}
@Override
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java Mon Nov 13 00:30:40 2006
@@ -20,6 +20,7 @@
*/
package org.apache.struts2.dispatcher;
+import java.util.HashMap;
import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
@@ -27,7 +28,6 @@
import org.apache.struts2.StrutsConstants;
import org.apache.struts2.StrutsTestCase;
-import org.apache.struts2.config.Settings;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
@@ -58,10 +58,9 @@
HttpServletRequest req = new MockHttpServletRequest();
HttpServletResponse res = new MockHttpServletResponse();
- Settings.set(StrutsConstants.STRUTS_I18N_ENCODING, "utf-8");
-
-
- Dispatcher du = Dispatcher.getInstance();
+ Dispatcher du = initDispatcher(new HashMap() {{
+ put(StrutsConstants.STRUTS_I18N_ENCODING, "utf-8");
+ }});
du.prepare(req, res);
assertEquals(req.getCharacterEncoding(), "utf-8");
@@ -72,12 +71,11 @@
MockHttpServletResponse res = new MockHttpServletResponse();
req.setContentType("multipart/form-data");
- Settings.set(StrutsConstants.STRUTS_I18N_ENCODING, "utf-8");
-
-
- Dispatcher du = Dispatcher.getInstance();
+ Dispatcher du = initDispatcher(new HashMap() {{
+ put(StrutsConstants.STRUTS_I18N_ENCODING, "utf-8");
+ }});
du.prepare(req, res);
- assertEquals(req.getCharacterEncoding(), "utf-8");
+ assertEquals("utf-8", req.getCharacterEncoding());
}
}
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/FilterDispatcherTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/FilterDispatcherTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/FilterDispatcherTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/FilterDispatcherTest.java Mon Nov 13 00:30:40 2006
@@ -24,6 +24,7 @@
import java.util.HashMap;
import java.util.Map;
+import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
@@ -31,12 +32,9 @@
import org.apache.struts2.StrutsConstants;
import org.apache.struts2.StrutsTestCase;
-import org.apache.struts2.config.Settings;
import org.apache.struts2.dispatcher.mapper.ActionMapper;
import org.apache.struts2.dispatcher.mapper.ActionMapping;
import org.apache.struts2.util.ObjectFactoryDestroyable;
-import org.apache.struts2.util.ObjectFactoryInitializable;
-import org.apache.struts2.util.ObjectFactoryLifecycle;
import org.springframework.mock.web.MockFilterConfig;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
@@ -93,119 +91,63 @@
assertTrue(destroyedObjectFactory.destroyed);
}
-
- public void testObjectFactoryInitializable() throws Exception {
-
- Map configMap = new HashMap();
- configMap.put(StrutsConstants.STRUTS_OBJECTFACTORY, "org.apache.struts2.dispatcher.FilterDispatcherTest$InnerInitializableObjectFactory");
- configMap.put(StrutsConstants.STRUTS_CONFIGURATION_XML_RELOAD, "false");
- Settings.setInstance(new InnerConfiguration(configMap));
-
+ public void testIfActionMapperIsNullDontServiceAction() throws Exception {
MockServletContext servletContext = new MockServletContext();
MockFilterConfig filterConfig = new MockFilterConfig(servletContext);
+ MockHttpServletRequest req = new MockHttpServletRequest(servletContext);
+ MockHttpServletResponse res = new MockHttpServletResponse();
+ MockFilterChain chain = new MockFilterChain();
+ final NoOpDispatcher _dispatcher = new NoOpDispatcher(servletContext);
+ Dispatcher.setInstance(_dispatcher);
+
+ ConfigurationManager confManager = new ConfigurationManager();
+ confManager.setConfiguration(new DefaultConfiguration());
+ _dispatcher.setConfigurationManager(confManager);
+
+
+ ObjectFactory.setObjectFactory(new InnerObjectFactory());
+
+ FilterDispatcher filter = new FilterDispatcher() {
+ protected Dispatcher createDispatcher() {
+ return _dispatcher;
+ }
+ };
+ filter.setActionMapper(null);
+ filter.init(filterConfig);
+ filter.doFilter(req, res, chain);
-
- FilterDispatcher filterDispatcher = new FilterDispatcher();
- filterDispatcher.init(filterConfig);
-
- assertTrue(ObjectFactory.getObjectFactory() instanceof InnerInitializableObjectFactory);
- assertTrue(((InnerInitializableObjectFactory) ObjectFactory.getObjectFactory()).initializable);
+ assertFalse(_dispatcher.serviceRequest);
}
- public void testObjectFactoryLifecycle() throws Exception {
-
- Map configMap = new HashMap();
- configMap.put(StrutsConstants.STRUTS_OBJECTFACTORY, "org.apache.struts2.dispatcher.FilterDispatcherTest$InnerInitailizableDestroyableObjectFactory");
- configMap.put(StrutsConstants.STRUTS_CONFIGURATION_XML_RELOAD, "false");
- Settings.setInstance(new InnerConfiguration(configMap));
-
+ public void testCharacterEncodingSetBeforeRequestWrappingAndActionService() throws Exception {
MockServletContext servletContext = new MockServletContext();
MockFilterConfig filterConfig = new MockFilterConfig(servletContext);
+ MockHttpServletRequest req = new MockHttpServletRequest(servletContext);
+ MockHttpServletResponse res = new MockHttpServletResponse();
+ MockFilterChain chain = new MockFilterChain();
+ final InnerDispatcher _dispatcher = new InnerDispatcher(servletContext);
+ Dispatcher.setInstance(null);
+
+ ConfigurationManager confManager = new ConfigurationManager();
+ confManager.setConfiguration(new DefaultConfiguration());
+ _dispatcher.setConfigurationManager(confManager);
+
+
+ ObjectFactory.setObjectFactory(new InnerObjectFactory());
+
+ _dispatcher.setDefaultEncoding("UTF-16_DUMMY");
+
+ FilterDispatcher filter = new FilterDispatcher() {
+ protected Dispatcher createDispatcher(FilterConfig filterConfig) {
+ return _dispatcher;
+ }
+ };
+ filter.init(filterConfig);
+ filter.setActionMapper(new InnerActionMapper());
+ filter.doFilter(req, res, chain);
-
- FilterDispatcher filterDispatcher = new FilterDispatcher();
- filterDispatcher.init(filterConfig);
-
- assertTrue(ObjectFactory.getObjectFactory() instanceof InnerInitailizableDestroyableObjectFactory);
- assertTrue(((InnerInitailizableDestroyableObjectFactory) ObjectFactory.getObjectFactory()).initializable);
-
- assertFalse(((InnerInitailizableDestroyableObjectFactory) ObjectFactory.getObjectFactory()).destroyable);
- filterDispatcher.destroy();
- assertTrue(((InnerInitailizableDestroyableObjectFactory) ObjectFactory.getObjectFactory()).destroyable);
- }
-
- public void testIfActionMapperIsNullDontServiceAction() throws Exception {
- try {
- MockServletContext servletContext = new MockServletContext();
- MockFilterConfig filterConfig = new MockFilterConfig(servletContext);
- MockHttpServletRequest req = new MockHttpServletRequest(servletContext);
- MockHttpServletResponse res = new MockHttpServletResponse();
- MockFilterChain chain = new MockFilterChain();
- final NoOpDispatcher _dispatcher = new NoOpDispatcher(servletContext);
- Dispatcher.setInstance(null);
-
- ConfigurationManager confManager = new ConfigurationManager();
- confManager.setConfiguration(new DefaultConfiguration());
- _dispatcher.setConfigurationManager(confManager);
-
-
- ObjectFactory.setObjectFactory(new InnerObjectFactory());
-
- Map settings = new HashMap();
- settings.put(StrutsConstants.STRUTS_MAPPER_CLASS, "org.apache.struts2.dispatcher.FilterDispatcherTest$NullActionMapper");
- Settings.setInstance(new InnerConfiguration(settings));
-
- FilterDispatcher filter = new FilterDispatcher() {
- protected Dispatcher createDispatcher() {
- return _dispatcher;
- }
- };
- filter.init(filterConfig);
- filter.doFilter(req, res, chain);
-
- assertFalse(_dispatcher.serviceRequest);
- }
- finally {
- Settings.reset();
- }
- }
-
- public void testCharacterEncodingSetBeforeRequestWrappingAndActionService() throws Exception {
- try {
- MockServletContext servletContext = new MockServletContext();
- MockFilterConfig filterConfig = new MockFilterConfig(servletContext);
- MockHttpServletRequest req = new MockHttpServletRequest(servletContext);
- MockHttpServletResponse res = new MockHttpServletResponse();
- MockFilterChain chain = new MockFilterChain();
- final InnerDispatcher _dispatcher = new InnerDispatcher(servletContext);
- Dispatcher.setInstance(null);
-
- ConfigurationManager confManager = new ConfigurationManager();
- confManager.setConfiguration(new DefaultConfiguration());
- _dispatcher.setConfigurationManager(confManager);
-
-
- ObjectFactory.setObjectFactory(new InnerObjectFactory());
-
- Map settings = new HashMap();
- settings.put(StrutsConstants.STRUTS_I18N_ENCODING, "UTF-16_DUMMY");
- settings.put(StrutsConstants.STRUTS_MAPPER_CLASS, "org.apache.struts2.dispatcher.FilterDispatcherTest$InnerActionMapper");
- Settings.setInstance(new InnerConfiguration(settings));
-
- FilterDispatcher filter = new FilterDispatcher() {
- protected Dispatcher createDispatcher() {
- return _dispatcher;
- }
- };
- filter.init(filterConfig);
- filter.doFilter(req, res, chain);
-
- assertTrue(_dispatcher.wrappedRequest);
- assertTrue(_dispatcher.serviceRequest);
- }
- finally {
- Settings.reset();
- }
+ assertTrue(_dispatcher.wrappedRequest);
+ assertTrue(_dispatcher.serviceRequest);
}
@@ -219,9 +161,10 @@
protected boolean serviceRequest = false;
public NoOpDispatcher(ServletContext servletContext) {
- super(servletContext);
+ super(servletContext, new HashMap());
}
+ @Override
public HttpServletRequest wrapRequest(HttpServletRequest request, ServletContext servletContext) throws IOException {
wrappedRequest = true;
return request;
@@ -238,9 +181,10 @@
protected boolean serviceRequest = false;
public InnerDispatcher(ServletContext servletContext) {
- super(servletContext);
+ super(servletContext, new HashMap());
}
+ @Override
public HttpServletRequest wrapRequest(HttpServletRequest request, ServletContext servletContext) throws IOException {
wrappedRequest = true;
// if we set the chracter encoding AFTER we do wrap request, we will get
@@ -282,28 +226,6 @@
}
- public static class InnerConfiguration extends Settings {
- Map<String,String> m;
-
- public InnerConfiguration(Map configMap) {
- m = configMap;
- }
-
- public boolean isSetImpl(String name) {
- if (!m.containsKey(name))
- return super.isSetImpl(name);
- else
- return true;
- }
-
- public String getImpl(String aName) throws IllegalArgumentException {
- if (!m.containsKey(aName))
- return super.getImpl(aName);
- else
- return m.get(aName);
- }
- }
-
public static class InnerDestroyableObjectFactory extends ObjectFactory implements ObjectFactoryDestroyable {
public boolean destroyed = false;
@@ -311,27 +233,5 @@
destroyed = true;
}
}
-
- public static class InnerInitializableObjectFactory extends ObjectFactory implements ObjectFactoryInitializable {
- public boolean initializable = false;
-
- public void init(ServletContext servletContext) {
- initializable = true;
- }
- }
-
- public static class InnerInitailizableDestroyableObjectFactory extends ObjectFactory implements ObjectFactoryLifecycle {
- public boolean initializable = false;
- public boolean destroyable = false;
-
- public void init(ServletContext servletContext) {
- initializable = true;
- }
-
- public void destroy() {
- destroyable = true;
- }
- }
-
}
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/FilterTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/FilterTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/FilterTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/FilterTest.java Mon Nov 13 00:30:40 2006
@@ -21,7 +21,9 @@
package org.apache.struts2.dispatcher;
import java.io.IOException;
+import java.util.HashMap;
+import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
@@ -32,7 +34,6 @@
import junit.framework.TestCase;
import org.apache.struts2.StrutsConstants;
-import org.apache.struts2.config.Settings;
import org.apache.struts2.dispatcher.mapper.ActionMapper;
import org.apache.struts2.dispatcher.mapper.ActionMapping;
import org.springframework.mock.web.MockFilterConfig;
@@ -115,22 +116,11 @@
};
- cleanUp = new ActionContextCleanUp() {
- @Override
- protected Dispatcher createDispatcher() {
- cleanUpFilterCreateDispatcherCount++;
- return _dispatcher1;
- }
-
- @Override
- public String toString() {
- return "cleanUp";
- }
- };
+ cleanUp = new ActionContextCleanUp();
filterDispatcher = new FilterDispatcher() {
@Override
- protected Dispatcher createDispatcher() {
+ protected Dispatcher createDispatcher(FilterConfig filterConfig) {
filterDispatcherCreateDispatcherCount++;
return _dispatcher2;
}
@@ -147,7 +137,7 @@
ObjectFactory oldObjecFactory = ObjectFactory.getObjectFactory();
try {
ObjectFactory.setObjectFactory(new InnerObjectFactory());
- Settings.set(StrutsConstants.STRUTS_MAPPER_CLASS, "org.apache.struts2.dispatcher.FilterTest$InnerMapper");
+ filterDispatcher.setActionMapper(new FilterTest.InnerMapper());
assertEquals(cleanUpFilterCreateDispatcherCount, 0);
assertEquals(filterDispatcherCreateDispatcherCount, 0);
@@ -182,7 +172,7 @@
ObjectFactory oldObjecFactory = ObjectFactory.getObjectFactory();
try {
ObjectFactory.setObjectFactory(new InnerObjectFactory());
- Settings.set(StrutsConstants.STRUTS_MAPPER_CLASS, "org.apache.struts2.dispatcher.FilterTest$InnerMapper");
+ filterDispatcher.setActionMapper(new FilterTest.InnerMapper());
assertEquals(cleanUpFilterCreateDispatcherCount, 0);
assertEquals(filterDispatcherCreateDispatcherCount, 0);
@@ -214,11 +204,11 @@
}
}
- public void testUsingCleanUpAndFilterDispatcher() throws Exception {
+ /*public void testUsingCleanUpAndFilterDispatcher() throws Exception {
ObjectFactory oldObjecFactory = ObjectFactory.getObjectFactory();
try {
ObjectFactory.setObjectFactory(new InnerObjectFactory());
- Settings.set(StrutsConstants.STRUTS_MAPPER_CLASS, "org.apache.struts2.dispatcher.FilterTest$InnerMapper");
+ filterDispatcher.setActionMapper(new FilterTest.InnerMapper());
assertEquals(cleanUpFilterCreateDispatcherCount, 0);
assertEquals(filterDispatcherCreateDispatcherCount, 0);
@@ -235,8 +225,8 @@
filterDispatcher.destroy();
cleanUp.destroy();
- assertEquals(cleanUpFilterCreateDispatcherCount, 1);
- assertEquals(filterDispatcherCreateDispatcherCount, 1);
+ assertEquals(1, cleanUpFilterCreateDispatcherCount);
+ assertEquals(1, filterDispatcherCreateDispatcherCount);
assertTrue(_dispatcher1.prepare);
assertTrue(_dispatcher1.wrapRequest);
assertTrue(_dispatcher1.service);
@@ -255,7 +245,7 @@
ObjectFactory oldObjecFactory = ObjectFactory.getObjectFactory();
try {
ObjectFactory.setObjectFactory(new InnerObjectFactory());
- Settings.set(StrutsConstants.STRUTS_MAPPER_CLASS, "org.apache.struts2.dispatcher.FilterTest$InnerMapper");
+ filterDispatcher.setActionMapper(new FilterTest.InnerMapper());
assertEquals(cleanUpFilterCreateDispatcherCount, 0);
assertEquals(filterDispatcherCreateDispatcherCount, 0);
@@ -287,6 +277,7 @@
ObjectFactory.setObjectFactory(oldObjecFactory);
}
}
+ */
class InnerDispatcher extends Dispatcher {
@@ -295,7 +286,7 @@
public boolean service = false;
public InnerDispatcher(ServletContext servletContext) {
- super(servletContext);
+ super(servletContext, new HashMap());
}
@Override
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletActionRedirectResultTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletActionRedirectResultTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletActionRedirectResultTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletActionRedirectResultTest.java Mon Nov 13 00:30:40 2006
@@ -25,6 +25,7 @@
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.StrutsTestCase;
+import org.apache.struts2.dispatcher.mapper.ActionMapper;
import org.easymock.EasyMock;
import org.easymock.IMocksControl;
import org.springframework.mock.web.MockHttpServletRequest;
@@ -99,7 +100,7 @@
control.anyTimes();
control.replay();
-
+ result.setActionMapper(container.getInstance(ActionMapper.class));
result.execute(mockInvocation);
assertEquals("/myNamespace/myAction.action?param2=value+2¶m1=value+1¶m3=value+3", res.getRedirectedUrl());
@@ -153,7 +154,7 @@
control.andReturn(context);
control.replay();
-
+ result.setActionMapper(container.getInstance(ActionMapper.class));
result.execute(mockInvocation);
assertEquals("/myNamespace/myAction.action?param2=value+2¶m1=value+1¶m3=value+3", res.getRedirectedUrl());
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java Mon Nov 13 00:30:40 2006
@@ -100,16 +100,12 @@
protected void setUp() throws Exception {
super.setUp();
- Dispatcher du = new Dispatcher(new MockServletContext());
- Dispatcher.setInstance(du);
- ConfigurationManager cm = new ConfigurationManager();
- cm.addConfigurationProvider(new StrutsXmlConfigurationProvider("struts.xml", false));
- du.setConfigurationManager(cm);
- du.getConfigurationManager().getConfiguration().
+ configurationManager.getConfiguration().
addPackageConfig("foo", new PackageConfig("foo", "/namespace", false, null));
view = new ServletRedirectResult();
+ container.inject(view);
responseMock = new Mock(HttpServletResponse.class);
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/CompositeActionMapperTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/CompositeActionMapperTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/CompositeActionMapperTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/CompositeActionMapperTest.java Mon Nov 13 00:30:40 2006
@@ -28,11 +28,13 @@
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.StrutsConstants;
-import org.apache.struts2.config.Settings;
-import org.apache.struts2.dispatcher.mapper.CompositeActionMapper.IndividualActionMapperEntry;
import org.springframework.mock.web.MockHttpServletRequest;
+import com.mockobjects.dynamic.C;
+import com.mockobjects.dynamic.Mock;
import com.opensymphony.xwork2.config.ConfigurationManager;
+import com.opensymphony.xwork2.inject.Container;
+import com.opensymphony.xwork2.inject.Scope.Strategy;
import junit.framework.TestCase;
@@ -42,253 +44,49 @@
*/
public class CompositeActionMapperTest extends TestCase {
- /**
- * Test with empty settings (settings with no entries of interest)
- *
- * @throws Exception
- */
- public void testGetOrderActionMapperEntries1() throws Exception {
- CompositeActionMapper compositeActionMapper = new CompositeActionMapper();
- List<IndividualActionMapperEntry> result =
- compositeActionMapper.getOrderedActionMapperEntries();
-
- assertEquals(result.size(), 0);
- }
-
- /**
- * Test with a normal settings.
- *
- * @throws Exception
- */
- public void testGetOrderActionMapperEntries2() throws Exception {
- CompositeActionMapper compositeActionMapper = new CompositeActionMapper();
-
- Settings old = Settings.getInstance();
- try {
- Settings.setInstance(new InnerSettings());
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"1", InnerActionMapper1.class.getName());
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"2", InnerActionMapper2.class.getName());
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"3", InnerActionMapper3.class.getName());
-
- List<IndividualActionMapperEntry> result =
- compositeActionMapper.getOrderedActionMapperEntries();
-
- assertEquals(result.size(), 3);
-
- IndividualActionMapperEntry e = null;
- Iterator<IndividualActionMapperEntry> i = result.iterator();
-
- // 1
- e = i.next();
-
- assertEquals(e.order, new Integer(1));
- assertEquals(e.propertyName, StrutsConstants.STRUTS_MAPPER_COMPOSITE+"1");
- assertEquals(e.propertyValue, InnerActionMapper1.class.getName());
- assertEquals(e.actionMapper.getClass(), InnerActionMapper1.class);
-
- // 2
- e = i.next();
-
- assertEquals(e.order, new Integer(2));
- assertEquals(e.propertyName, StrutsConstants.STRUTS_MAPPER_COMPOSITE+"2");
- assertEquals(e.propertyValue, InnerActionMapper2.class.getName());
- assertEquals(e.actionMapper.getClass(), InnerActionMapper2.class);
-
- // 3
- e = i.next();
- assertEquals(e.order, new Integer(3));
- assertEquals(e.propertyName, StrutsConstants.STRUTS_MAPPER_COMPOSITE+"3");
- assertEquals(e.propertyValue, InnerActionMapper3.class.getName());
- assertEquals(e.actionMapper.getClass(), InnerActionMapper3.class);
- }
- finally {
- Settings.setInstance(old);
- }
- }
-
- /**
- * Test with settings where entries are out-of-order, it needs to be able to retrieve them
- * back in proper order.
- *
- * @throws Exception
- */
- public void testGetOrderActionMapperEntries3() throws Exception {
- CompositeActionMapper compositeActionMapper = new CompositeActionMapper();
-
- Settings old = Settings.getInstance();
- try {
- Settings.setInstance(new InnerSettings());
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"3", InnerActionMapper3.class.getName());
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"2", InnerActionMapper2.class.getName());
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"1", InnerActionMapper1.class.getName());
-
- List<IndividualActionMapperEntry> result =
- compositeActionMapper.getOrderedActionMapperEntries();
-
- assertEquals(result.size(), 3);
-
- IndividualActionMapperEntry e = null;
- Iterator<IndividualActionMapperEntry> i = result.iterator();
-
- // 1
- e = i.next();
-
- assertEquals(e.order, new Integer(1));
- assertEquals(e.propertyName, StrutsConstants.STRUTS_MAPPER_COMPOSITE+"1");
- assertEquals(e.propertyValue, InnerActionMapper1.class.getName());
- assertEquals(e.actionMapper.getClass(), InnerActionMapper1.class);
-
- // 2
- e = i.next();
-
- assertEquals(e.order, new Integer(2));
- assertEquals(e.propertyName, StrutsConstants.STRUTS_MAPPER_COMPOSITE+"2");
- assertEquals(e.propertyValue, InnerActionMapper2.class.getName());
- assertEquals(e.actionMapper.getClass(), InnerActionMapper2.class);
-
- // 3
- e = i.next();
- assertEquals(e.order, new Integer(3));
- assertEquals(e.propertyName, StrutsConstants.STRUTS_MAPPER_COMPOSITE+"3");
- assertEquals(e.propertyValue, InnerActionMapper3.class.getName());
- assertEquals(e.actionMapper.getClass(), InnerActionMapper3.class);
- }
- finally {
- Settings.setInstance(old);
- }
+ CompositeActionMapper compositeActionMapper;
+ Mock mockContainer;
+
+ public void setUp() throws Exception {
+ compositeActionMapper = new CompositeActionMapper();
+ mockContainer = new Mock(Container.class);
+ compositeActionMapper.setContainer((Container)mockContainer.proxy());
}
-
- /**
- * Test with a bad entry
- *
- * @throws Exception
- */
- public void testGetOrderActionMapperEntries4() throws Exception {
- CompositeActionMapper compositeActionMapper = new CompositeActionMapper();
-
- Settings old = Settings.getInstance();
- try {
- Settings.setInstance(new InnerSettings());
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"1", InnerActionMapper1.class.getName());
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"NotANumber", InnerActionMapper2.class.getName());
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"3", InnerActionMapper3.class.getName());
-
- List<IndividualActionMapperEntry> result =
- compositeActionMapper.getOrderedActionMapperEntries();
-
- assertEquals(result.size(), 2);
-
- IndividualActionMapperEntry e = null;
- Iterator<IndividualActionMapperEntry> i = result.iterator();
-
- // 1
- e = i.next();
-
- assertEquals(e.order, new Integer(1));
- assertEquals(e.propertyName, StrutsConstants.STRUTS_MAPPER_COMPOSITE+"1");
- assertEquals(e.propertyValue, InnerActionMapper1.class.getName());
- assertEquals(e.actionMapper.getClass(), InnerActionMapper1.class);
-
- // 2
- e = i.next();
- assertEquals(e.order, new Integer(3));
- assertEquals(e.propertyName, StrutsConstants.STRUTS_MAPPER_COMPOSITE+"3");
- assertEquals(e.propertyValue, InnerActionMapper3.class.getName());
- assertEquals(e.actionMapper.getClass(), InnerActionMapper3.class);
- }
- finally {
- Settings.setInstance(old);
- }
- }
-
- /**
- * Test with an entry where the action mapper class is bogus.
- * @throws Exception
- */
- public void testGetOrderActionMapperEntries5() throws Exception {
- CompositeActionMapper compositeActionMapper = new CompositeActionMapper();
-
- Settings old = Settings.getInstance();
- try {
- Settings.setInstance(new InnerSettings());
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"1", InnerActionMapper1.class.getName());
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"2", "bogus.class.name");
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"3", InnerActionMapper3.class.getName());
-
- List<IndividualActionMapperEntry> result =
- compositeActionMapper.getOrderedActionMapperEntries();
-
- assertEquals(result.size(), 2);
-
- IndividualActionMapperEntry e = null;
- Iterator<IndividualActionMapperEntry> i = result.iterator();
-
- // 1
- e = i.next();
-
- assertEquals(e.order, new Integer(1));
- assertEquals(e.propertyName, StrutsConstants.STRUTS_MAPPER_COMPOSITE+"1");
- assertEquals(e.propertyValue, InnerActionMapper1.class.getName());
- assertEquals(e.actionMapper.getClass(), InnerActionMapper1.class);
-
-
- // 2
- e = i.next();
- assertEquals(e.order, new Integer(3));
- assertEquals(e.propertyName, StrutsConstants.STRUTS_MAPPER_COMPOSITE+"3");
- assertEquals(e.propertyValue, InnerActionMapper3.class.getName());
- assertEquals(e.actionMapper.getClass(), InnerActionMapper3.class);
- }
- finally {
- Settings.setInstance(old);
- }
- }
-
-
+
public void testGetActionMappingAndUri1() throws Exception {
- CompositeActionMapper compositeActionMapper = new CompositeActionMapper();
-
- Settings old = Settings.getInstance();
- try {
- Settings.setInstance(new InnerSettings());
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"1", InnerActionMapper1.class.getName());
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"2", InnerActionMapper2.class.getName());
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"3", InnerActionMapper3.class.getName());
-
-
- ActionMapping actionMapping = compositeActionMapper.getMapping(new MockHttpServletRequest(), new ConfigurationManager());
- String uri = compositeActionMapper.getUriFromActionMapping(new ActionMapping());
-
- assertNotNull(actionMapping);
- assertNotNull(uri);
- assertTrue(actionMapping == InnerActionMapper3.actionMapping);
- assertTrue(uri == InnerActionMapper3.uri);
- }
- finally {
- Settings.setInstance(old);
- }
+ ActionMapper mapper1 = new InnerActionMapper1();
+ ActionMapper mapper2 = new InnerActionMapper2();
+ ActionMapper mapper3 = new InnerActionMapper3();
+ mockContainer.expectAndReturn("getInstance", C.args(C.eq(ActionMapper.class), C.eq("mapper1")), mapper1);
+ mockContainer.expectAndReturn("getInstance", C.args(C.eq(ActionMapper.class), C.eq("mapper2")), mapper3);
+ mockContainer.expectAndReturn("getInstance", C.args(C.eq(ActionMapper.class), C.eq("mapper3")), mapper2);
+ compositeActionMapper.setActionMappers("mapper1,mapper2,mapper3");
+
+ ActionMapping actionMapping = compositeActionMapper.getMapping(new MockHttpServletRequest(), new ConfigurationManager());
+ String uri = compositeActionMapper.getUriFromActionMapping(new ActionMapping());
+ mockContainer.verify();
+
+ assertNotNull(actionMapping);
+ assertNotNull(uri);
+ assertTrue(actionMapping == InnerActionMapper3.actionMapping);
+ assertTrue(uri == InnerActionMapper3.uri);
+
}
public void testGetActionMappingAndUri2() throws Exception {
- CompositeActionMapper compositeActionMapper = new CompositeActionMapper();
-
- Settings old = Settings.getInstance();
- try {
- Settings.setInstance(new InnerSettings());
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"1", InnerActionMapper1.class.getName());
- Settings.set(StrutsConstants.STRUTS_MAPPER_COMPOSITE+"2", InnerActionMapper2.class.getName());
+ ActionMapper mapper1 = new InnerActionMapper1();
+ ActionMapper mapper2 = new InnerActionMapper2();
+ mockContainer.expectAndReturn("getInstance", C.args(C.eq(ActionMapper.class), C.eq("mapper1")), mapper1);
+ mockContainer.expectAndReturn("getInstance", C.args(C.eq(ActionMapper.class), C.eq("mapper2")), mapper2);
+ compositeActionMapper.setActionMappers("mapper1,mapper2");
+
+ ActionMapping actionMapping = compositeActionMapper.getMapping(new MockHttpServletRequest(), new ConfigurationManager());
+ String uri = compositeActionMapper.getUriFromActionMapping(new ActionMapping());
+ mockContainer.verify();
-
- ActionMapping actionMapping = compositeActionMapper.getMapping(new MockHttpServletRequest(), new ConfigurationManager());
- String uri = compositeActionMapper.getUriFromActionMapping(new ActionMapping());
-
- assertNull(actionMapping);
- assertNull(uri);
- }
- finally {
- Settings.setInstance(old);
- }
+ assertNull(actionMapping);
+ assertNull(uri);
}
@@ -325,26 +123,4 @@
return uri;
}
}
-
- class InnerSettings extends Settings {
- private Map<String, String> _impl = new LinkedHashMap<String, String>();
-
- @Override
- public boolean isSetImpl(String name) {
- return _impl.containsKey(name);
- }
- @Override
- public void setImpl(String name, String value) throws IllegalArgumentException, UnsupportedOperationException {
- _impl.put(name, value);
- }
- @Override
- public String getImpl(String name) throws IllegalArgumentException {
- return (String) _impl.get(name);
- }
- @Override
- public Iterator listImpl() {
- return _impl.keySet().iterator();
- }
- }
-
}
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java Mon Nov 13 00:30:40 2006
@@ -25,7 +25,6 @@
import org.apache.struts2.StrutsConstants;
import org.apache.struts2.StrutsTestCase;
-import org.apache.struts2.config.Settings;
import org.apache.struts2.dispatcher.ServletRedirectResult;
import org.apache.struts2.views.jsp.StrutsMockHttpServletRequest;
@@ -96,24 +95,18 @@
public void testGetMappingWithSlashedName() throws Exception {
- String old = Settings.get(StrutsConstants.STRUTS_ENABLE_SLASHES_IN_ACTION_NAMES);
- Settings.set(StrutsConstants.STRUTS_ENABLE_SLASHES_IN_ACTION_NAMES, "true");
- try {
- req.setupGetRequestURI("/my/foo/actionName.action");
- req.setupGetServletPath("/my/foo/actionName.action");
- req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
-
- DefaultActionMapper mapper = new DefaultActionMapper();
- ActionMapping mapping = mapper.getMapping(req, configManager);
-
- assertEquals("/my", mapping.getNamespace());
- assertEquals("foo/actionName", mapping.getName());
- assertNull(mapping.getMethod()); }
- finally {
- Settings.set(StrutsConstants.STRUTS_ENABLE_SLASHES_IN_ACTION_NAMES, old);
- }
+ req.setupGetRequestURI("/my/foo/actionName.action");
+ req.setupGetServletPath("/my/foo/actionName.action");
+ req.setupGetAttribute(null);
+ req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ DefaultActionMapper mapper = new DefaultActionMapper();
+ mapper.setSlashesInActionNames("true");
+ ActionMapping mapping = mapper.getMapping(req, configManager);
+
+ assertEquals("/my", mapping.getNamespace());
+ assertEquals("foo/actionName", mapping.getName());
+ assertNull(mapping.getMethod());
}
public void testGetMappingWithUnknownNamespace() throws Exception {
@@ -157,25 +150,19 @@
}
public void testGetMappingWithNoExtension() throws Exception {
- String old = org.apache.struts2.config.Settings.get(StrutsConstants.STRUTS_ACTION_EXTENSION);
- org.apache.struts2.config.Settings.set(StrutsConstants.STRUTS_ACTION_EXTENSION, "");
- try {
- req.setupGetParameterMap(new HashMap());
- req.setupGetRequestURI("/my/namespace/actionName");
- req.setupGetServletPath("/my/namespace/actionName");
- req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
-
- DefaultActionMapper mapper = new DefaultActionMapper();
- ActionMapping mapping = mapper.getMapping(req, configManager);
-
- assertEquals("/my/namespace", mapping.getNamespace());
- assertEquals("actionName", mapping.getName());
- assertNull(mapping.getMethod());
- }
- finally {
- org.apache.struts2.config.Settings.set(StrutsConstants.STRUTS_ACTION_EXTENSION, old);
- }
+ req.setupGetParameterMap(new HashMap());
+ req.setupGetRequestURI("/my/namespace/actionName");
+ req.setupGetServletPath("/my/namespace/actionName");
+ req.setupGetAttribute(null);
+ req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+
+ DefaultActionMapper mapper = new DefaultActionMapper();
+ mapper.setExtensions("");
+ ActionMapping mapping = mapper.getMapping(req, configManager);
+
+ assertEquals("/my/namespace", mapping.getNamespace());
+ assertEquals("actionName", mapping.getName());
+ assertNull(mapping.getMethod());
}
// =============================
@@ -213,37 +200,25 @@
}
public void testParseNameAndNamespace_NoSlashes() throws Exception {
- String old = Settings.get(StrutsConstants.STRUTS_ENABLE_SLASHES_IN_ACTION_NAMES);
- Settings.set(StrutsConstants.STRUTS_ENABLE_SLASHES_IN_ACTION_NAMES, "false");
- try {
- ActionMapping actionMapping = new ActionMapping();
-
- DefaultActionMapper defaultActionMapper = new DefaultActionMapper();
- defaultActionMapper.parseNameAndNamespace("/foo/someAction", actionMapping, config);
-
- assertEquals(actionMapping.getName(), "someAction");
- assertEquals(actionMapping.getNamespace(), "");
- }
- finally {
- Settings.set(StrutsConstants.STRUTS_ENABLE_SLASHES_IN_ACTION_NAMES, old);
- }
+ ActionMapping actionMapping = new ActionMapping();
+
+ DefaultActionMapper defaultActionMapper = new DefaultActionMapper();
+ defaultActionMapper.setSlashesInActionNames("false");
+ defaultActionMapper.parseNameAndNamespace("/foo/someAction", actionMapping, config);
+
+ assertEquals(actionMapping.getName(), "someAction");
+ assertEquals(actionMapping.getNamespace(), "");
}
public void testParseNameAndNamespace_AllowSlashes() throws Exception {
- String old = Settings.get(StrutsConstants.STRUTS_ENABLE_SLASHES_IN_ACTION_NAMES);
- Settings.set(StrutsConstants.STRUTS_ENABLE_SLASHES_IN_ACTION_NAMES, "true");
- try {
- ActionMapping actionMapping = new ActionMapping();
-
- DefaultActionMapper defaultActionMapper = new DefaultActionMapper();
- defaultActionMapper.parseNameAndNamespace("/foo/someAction", actionMapping, config);
-
- assertEquals(actionMapping.getName(), "foo/someAction");
- assertEquals(actionMapping.getNamespace(), "");
- }
- finally {
- Settings.set(StrutsConstants.STRUTS_ENABLE_SLASHES_IN_ACTION_NAMES, old);
- }
+ ActionMapping actionMapping = new ActionMapping();
+
+ DefaultActionMapper defaultActionMapper = new DefaultActionMapper();
+ defaultActionMapper.setSlashesInActionNames("true");
+ defaultActionMapper.parseNameAndNamespace("/foo/someAction", actionMapping, config);
+
+ assertEquals(actionMapping.getName(), "foo/someAction");
+ assertEquals(actionMapping.getNamespace(), "");
}
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapperTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapperTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapperTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapperTest.java Mon Nov 13 00:30:40 2006
@@ -22,7 +22,6 @@
import org.apache.struts2.StrutsTestCase;
import org.apache.struts2.StrutsConstants;
-import org.apache.struts2.config.Settings;
import com.mockobjects.servlet.MockHttpServletRequest;
import com.opensymphony.xwork2.config.ConfigurationManager;
import com.opensymphony.xwork2.config.Configuration;
@@ -33,6 +32,7 @@
public class Restful2ActionMapperTest extends StrutsTestCase {
+ private Restful2ActionMapper mapper;
private MockHttpServletRequest req;
private ConfigurationManager configManager;
private Configuration config;
@@ -40,7 +40,8 @@
@Override
protected void setUp() throws Exception {
super.setUp();
- Settings.set(StrutsConstants.STRUTS_ACTION_EXTENSION, "");
+ mapper = new Restful2ActionMapper();
+ mapper.setExtensions("");
req = new MockHttpServletRequest();
req.setupGetParameterMap(new HashMap());
req.setupGetContextPath("/my/namespace");
@@ -56,7 +57,7 @@
}
};
}
-
+
public void testGetIndex() throws Exception {
req.setupGetRequestURI("/my/namespace/foo/");
req.setupGetServletPath("/my/namespace/foo/");
@@ -64,7 +65,6 @@
req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
req.setupGetMethod("GET");
- Restful2ActionMapper mapper = new Restful2ActionMapper();
ActionMapping mapping = mapper.getMapping(req, configManager);
assertEquals("/my/namespace", mapping.getNamespace());
@@ -79,7 +79,6 @@
req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
req.setupGetMethod("GET");
- Restful2ActionMapper mapper = new Restful2ActionMapper();
ActionMapping mapping = mapper.getMapping(req, configManager);
assertEquals("/my/namespace", mapping.getNamespace());
@@ -96,7 +95,6 @@
req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
req.setupGetMethod("POST");
- Restful2ActionMapper mapper = new Restful2ActionMapper();
ActionMapping mapping = mapper.getMapping(req, configManager);
assertEquals("/my/namespace", mapping.getNamespace());
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptorTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptorTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptorTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptorTest.java Mon Nov 13 00:30:40 2006
@@ -24,6 +24,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import javax.servlet.http.HttpSession;
@@ -36,13 +37,17 @@
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionProxy;
import com.opensymphony.xwork2.ActionProxyFactory;
+import com.opensymphony.xwork2.DefaultActionProxyFactory;
+import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.config.Configuration;
import com.opensymphony.xwork2.config.ConfigurationException;
+import com.opensymphony.xwork2.config.ConfigurationManager;
import com.opensymphony.xwork2.config.ConfigurationProvider;
import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.config.entities.InterceptorMapping;
import com.opensymphony.xwork2.config.entities.PackageConfig;
import com.opensymphony.xwork2.config.entities.ResultConfig;
+import com.opensymphony.xwork2.inject.ContainerBuilder;
import com.opensymphony.xwork2.interceptor.ParametersInterceptor;
import com.opensymphony.xwork2.mock.MockResult;
@@ -164,14 +169,15 @@
}
protected ActionProxy buildProxy(String actionName) throws Exception {
- return ActionProxyFactory.getFactory().createActionProxy(
+ return container.getInstance(ActionProxyFactory.class).createActionProxy(
configurationManager.getConfiguration(), "", actionName, context);
}
protected void setUp() throws Exception {
- configurationManager.clearConfigurationProviders();
+ configurationManager = new ConfigurationManager();
configurationManager.addConfigurationProvider(new WaitConfigurationProvider());
configurationManager.reload();
+ container = configurationManager.getConfiguration().getContainer();
session = new HashMap();
params = new HashMap();
@@ -194,6 +200,7 @@
private class WaitConfigurationProvider implements ConfigurationProvider {
+ Configuration configuration;
public void destroy() {
waitInterceptor.destroy();
}
@@ -201,8 +208,12 @@
public boolean needsReload() {
return false;
}
-
+
public void init(Configuration configuration) throws ConfigurationException {
+ this.configuration = configuration;
+ }
+
+ public void loadPackages() throws ConfigurationException {
PackageConfig wait = new PackageConfig("");
Map results = new HashMap();
@@ -219,6 +230,11 @@
wait.addActionConfig("action1", ac);
configuration.addPackageConfig("", wait);
+ }
+
+ public void register(ContainerBuilder builder, Properties props) throws ConfigurationException {
+ builder.factory(ObjectFactory.class);
+ builder.factory(ActionProxyFactory.class, DefaultActionProxyFactory.class);
}
}
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java Mon Nov 13 00:30:40 2006
@@ -33,6 +33,8 @@
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.StrutsTestCase;
+import org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest;
+import org.apache.struts2.dispatcher.multipart.MultiPartRequest;
import org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper;
import org.springframework.mock.web.MockHttpServletRequest;
@@ -226,7 +228,7 @@
}
private MultiPartRequestWrapper createMultipartRequest(HttpServletRequest req, int maxsize) throws IOException {
- return new MultiPartRequestWrapper(req, tempDir.getAbsolutePath(), maxsize);
+ return new MultiPartRequestWrapper(new JakartaMultiPartRequest(), req, tempDir.getAbsolutePath());
}
protected void setUp() throws Exception {
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/interceptor/TokenInterceptorTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/interceptor/TokenInterceptorTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/interceptor/TokenInterceptorTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/interceptor/TokenInterceptorTest.java Mon Nov 13 00:30:40 2006
@@ -37,6 +37,7 @@
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionProxy;
import com.opensymphony.xwork2.ActionProxyFactory;
+import com.opensymphony.xwork2.config.ConfigurationManager;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.ValueStackFactory;
@@ -106,9 +107,10 @@
}
protected void setUp() throws Exception {
- configurationManager.clearConfigurationProviders();
+ configurationManager = new ConfigurationManager();
configurationManager.addConfigurationProvider(new TestConfigurationProvider());
configurationManager.reload();
+ container = configurationManager.getConfiguration().getContainer();
session = new HashMap();
params = new HashMap();
@@ -129,7 +131,7 @@
}
protected ActionProxy buildProxy(String actionName) throws Exception {
- return ActionProxyFactory.getFactory().createActionProxy(
+ return container.getInstance(ActionProxyFactory.class).createActionProxy(
configurationManager.getConfiguration(), "", actionName, extraContext, true, true);
}
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/portlet/dispatcher/Jsr168DispatcherTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/portlet/dispatcher/Jsr168DispatcherTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/portlet/dispatcher/Jsr168DispatcherTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/portlet/dispatcher/Jsr168DispatcherTest.java Mon Nov 13 00:30:40 2006
@@ -85,6 +85,8 @@
mockConfig.stubs().method("getPortletContext").will(returnValue(mockCtx.proxy()));
mockCtx.stubs().method("getInitParameterNames").will(returnValue(Collections.enumeration(initParams.keySet())));
setupStub(initParams, mockCtx, "getInitParameter");
+ mockConfig.stubs().method("getInitParameterNames").will(returnValue(Collections.enumeration(initParams.keySet())));
+ setupStub(initParams, mockConfig, "getInitParameter");
mockConfig.stubs().method("getResourceBundle").will(returnValue(new ListResourceBundle() {
protected Object[][] getContents() {
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java Mon Nov 13 00:30:40 2006
@@ -24,7 +24,6 @@
import org.apache.struts2.StrutsConstants;
import org.apache.struts2.StrutsTestCase;
-import org.apache.struts2.config.Settings;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.mock.web.MockServletContext;
import org.springframework.web.context.ConfigurableWebApplicationContext;
@@ -41,7 +40,7 @@
// to cover situations where there will be logged an error
StrutsSpringObjectFactory fac = new StrutsSpringObjectFactory();
ServletContext msc = (ServletContext) new MockServletContext();
- fac.init(msc);
+ fac.setServletContext(msc);
assertEquals(AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, fac.getAutowireStrategy());
}
@@ -50,7 +49,7 @@
StrutsSpringObjectFactory fac = new StrutsSpringObjectFactory();
// autowire by constructure, we try a non default setting in this unit test
- Settings.set(StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_AUTOWIRE, "constructor");
+ fac.setAutoWire("constructor");
ConfigurableWebApplicationContext ac = new XmlWebApplicationContext();
ServletContext msc = (ServletContext) new MockServletContext();
@@ -59,7 +58,7 @@
ac.setConfigLocations(new String[] {"org/apache/struts2/spring/StrutsSpringObjectFactoryTest-applicationContext.xml"});
ac.refresh();
- fac.init(msc);
+ fac.setServletContext(msc);
assertEquals(AutowireCapableBeanFactory.AUTOWIRE_CONSTRUCTOR, fac.getAutowireStrategy());
}
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/TemplateEngineManagerTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/TemplateEngineManagerTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/TemplateEngineManagerTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/TemplateEngineManagerTest.java Mon Nov 13 00:30:40 2006
@@ -28,50 +28,59 @@
import org.apache.struts2.components.template.TemplateEngine;
import org.apache.struts2.components.template.TemplateEngineManager;
import org.apache.struts2.components.template.VelocityTemplateEngine;
-import org.apache.struts2.config.Settings;
+import org.apache.struts2.dispatcher.mapper.CompositeActionMapper;
+
+import com.mockobjects.dynamic.C;
+import com.mockobjects.dynamic.Mock;
+import com.opensymphony.xwork2.inject.Container;
/**
* TemplateEngineManagerTest
*
*/
public class TemplateEngineManagerTest extends TestCase {
+
+ TemplateEngineManager mgr;
+ Mock mockContainer;
+
+ public void setUp() throws Exception {
+ mgr = new TemplateEngineManager();
+ mockContainer = new Mock(Container.class);
+ mockContainer.matchAndReturn("getInstance", C.args(C.eq(TemplateEngine.class), C.eq("jsp")), new JspTemplateEngine());
+ mockContainer.matchAndReturn("getInstance", C.args(C.eq(TemplateEngine.class), C.eq("vm")), new VelocityTemplateEngine());
+ mockContainer.matchAndReturn("getInstance", C.args(C.eq(TemplateEngine.class), C.eq("ftl")), new FreemarkerTemplateEngine());
+
+ mgr.setContainer((Container)mockContainer.proxy());
+ mgr.setTemplateEngines("jsp,vm,ftl");
+ mgr.setDefaultTemplateType("jsp");
+ }
+
public void testTemplateTypeFromTemplateNameAndDefaults() {
- Settings.setInstance(new Settings() {
- public boolean isSetImpl(String name) {
- return name.equals(TemplateEngineManager.DEFAULT_TEMPLATE_TYPE_CONFIG_KEY);
- }
-
- public String getImpl(String aName) throws IllegalArgumentException {
- if (aName.equals(TemplateEngineManager.DEFAULT_TEMPLATE_TYPE_CONFIG_KEY)) {
- return "jsp";
- }
- return null;
- }
- });
- TemplateEngine engine = TemplateEngineManager.getTemplateEngine(new Template("/template", "simple", "foo"), null);
+
+ TemplateEngine engine = mgr.getTemplateEngine(new Template("/template", "simple", "foo"), null);
assertTrue(engine instanceof JspTemplateEngine);
- engine = TemplateEngineManager.getTemplateEngine(new Template("/template", "simple", "foo.vm"), null);
+ engine = mgr.getTemplateEngine(new Template("/template", "simple", "foo.vm"), null);
assertTrue(engine instanceof VelocityTemplateEngine);
}
public void testTemplateTypeOverrides() {
- TemplateEngine engine = TemplateEngineManager.getTemplateEngine(new Template("/template", "simple", "foo"), "ftl");
+ TemplateEngine engine = mgr.getTemplateEngine(new Template("/template", "simple", "foo"), "ftl");
assertTrue(engine instanceof FreemarkerTemplateEngine);
- engine = TemplateEngineManager.getTemplateEngine(new Template("/template", "simple", "foo.vm"), "ftl");
+ engine = mgr.getTemplateEngine(new Template("/template", "simple", "foo.vm"), "ftl");
assertTrue(engine instanceof VelocityTemplateEngine);
- engine = TemplateEngineManager.getTemplateEngine(new Template("/template", "simple", "foo.ftl"), "");
+ engine = mgr.getTemplateEngine(new Template("/template", "simple", "foo.ftl"), "");
assertTrue(engine instanceof FreemarkerTemplateEngine);
}
public void testTemplateTypeUsesDefaultWhenNotSetInConfiguration() {
- TemplateEngine engine = TemplateEngineManager.getTemplateEngine(new Template("/template", "simple", "foo"), null);
+ mgr.setDefaultTemplateType(null);
+ TemplateEngine engine = mgr.getTemplateEngine(new Template("/template", "simple", "foo"), null);
Template template = new Template("/template", "simple", "foo." + TemplateEngineManager.DEFAULT_TEMPLATE_TYPE);
- TemplateEngine defaultTemplateEngine = TemplateEngineManager.getTemplateEngine(template, null);
+ TemplateEngine defaultTemplateEngine = mgr.getTemplateEngine(template, null);
assertTrue(engine.getClass().equals(defaultTemplateEngine.getClass()));
}
protected void tearDown() throws Exception {
super.tearDown();
- Settings.setInstance(null);
}
}
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerManagerTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerManagerTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerManagerTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerManagerTest.java Mon Nov 13 00:30:40 2006
@@ -22,7 +22,6 @@
import org.apache.struts2.StrutsConstants;
import org.apache.struts2.StrutsTestCase;
-import org.apache.struts2.config.Settings;
import org.apache.struts2.views.jsp.StrutsMockServletContext;
/**
@@ -32,10 +31,11 @@
public class FreemarkerManagerTest extends StrutsTestCase {
public void testIfStrutsEncodingIsSetProperty() throws Exception {
- Settings.set(StrutsConstants.STRUTS_I18N_ENCODING, "UTF-8");
+ FreemarkerManager mgr = new FreemarkerManager();
+ mgr.setEncoding("UTF-8");
StrutsMockServletContext servletContext = new StrutsMockServletContext();
servletContext.setAttribute(FreemarkerManager.CONFIG_SERVLET_CONTEXT_KEY, null);
- freemarker.template.Configuration conf = FreemarkerManager.getInstance().getConfiguration(servletContext);
+ freemarker.template.Configuration conf = mgr.getConfiguration(servletContext);
assertEquals(conf.getDefaultEncoding(), "UTF-8");
}
}