Return-Path: Delivered-To: apmail-struts-commits-archive@locus.apache.org Received: (qmail 82218 invoked from network); 13 Nov 2006 08:31:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 13 Nov 2006 08:31:43 -0000 Received: (qmail 94616 invoked by uid 500); 13 Nov 2006 08:31:39 -0000 Delivered-To: apmail-struts-commits-archive@struts.apache.org Received: (qmail 94574 invoked by uid 500); 13 Nov 2006 08:31:39 -0000 Mailing-List: contact commits-help@struts.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@struts.apache.org Delivered-To: mailing list commits@struts.apache.org Received: (qmail 94562 invoked by uid 99); 13 Nov 2006 08:31:39 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Nov 2006 00:31:39 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Nov 2006 00:31:22 -0800 Received: by eris.apache.org (Postfix, from userid 65534) id 9E3991A9850; Mon, 13 Nov 2006 00:30:52 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: 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... Date: Mon, 13 Nov 2006 08:30:46 -0000 To: commits@struts.apache.org From: mrdon@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20061113083052.9E3991A9850@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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 all 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; - } - - - } - - } + /** *

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(); - 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"> --> - + + + + + + + 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"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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()); } @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 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 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 result = - compositeActionMapper.getOrderedActionMapperEntries(); - - assertEquals(result.size(), 3); - - IndividualActionMapperEntry e = null; - Iterator 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 result = - compositeActionMapper.getOrderedActionMapperEntries(); - - assertEquals(result.size(), 3); - - IndividualActionMapperEntry e = null; - Iterator 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 result = - compositeActionMapper.getOrderedActionMapperEntries(); - - assertEquals(result.size(), 2); - - IndividualActionMapperEntry e = null; - Iterator 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 result = - compositeActionMapper.getOrderedActionMapperEntries(); - - assertEquals(result.size(), 2); - - IndividualActionMapperEntry e = null; - Iterator 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 _impl = new LinkedHashMap(); - - @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"); } }