Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/AbstractTagTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/AbstractTagTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/AbstractTagTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/AbstractTagTest.java
 Mon Nov 13 00:30:40 2006
@@ -22,6 +22,7 @@
 
 import java.io.File;
 import java.io.StringWriter;
+import java.util.HashMap;
 import java.util.Map;
 
 import javax.servlet.http.HttpServletResponse;
@@ -30,14 +31,15 @@
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.StrutsTestCase;
 import org.apache.struts2.TestAction;
-import org.apache.struts2.config.Settings;
 import org.apache.struts2.dispatcher.ApplicationMap;
 import org.apache.struts2.dispatcher.Dispatcher;
 import org.apache.struts2.dispatcher.RequestMap;
 import org.apache.struts2.dispatcher.SessionMap;
 
+import com.mockobjects.dynamic.Mock;
 import com.opensymphony.xwork2.Action;
 import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.inject.Container;
 import com.opensymphony.xwork2.util.ValueStack;
 import com.opensymphony.xwork2.util.ValueStackFactory;
 
@@ -60,6 +62,8 @@
     protected StrutsMockPageContext pageContext;
     protected HttpServletResponse response;
     protected StrutsMockServletContext servletContext;
+    
+    protected Mock mockContainer;
 
     /**
      * Constructs the action that we're going to test against.  For most UI 
tests, this default action should be enough.
@@ -102,7 +106,8 @@
         pageContext.setJspWriter(jspWriter);
         pageContext.setServletContext(servletContext);
 
-        Dispatcher du = new Dispatcher(pageContext.getServletContext());
+        mockContainer = new Mock(Container.class);
+        Dispatcher du = new Dispatcher(pageContext.getServletContext(), new 
HashMap());
         Dispatcher.setInstance(du);
         du.setConfigurationManager(configurationManager);
         session = new SessionMap(request);
@@ -123,8 +128,6 @@
         context.put(ServletActionContext.SERVLET_CONTEXT, servletContext);
 
         ActionContext.setContext(new ActionContext(context));
-
-        Settings.setInstance(null);
     }
 
     protected void tearDown() throws Exception {

Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java
 Mon Nov 13 00:30:40 2006
@@ -20,6 +20,8 @@
  */
 package org.apache.struts2.views.jsp;
 
+import java.util.HashMap;
+
 import javax.servlet.jsp.JspException;
 import javax.servlet.jsp.PageContext;
 
@@ -241,9 +243,7 @@
     protected void setUp() throws Exception {
         super.setUp();
 
-        configurationManager.clearConfigurationProviders();
-        configurationManager.addConfigurationProvider(new 
TestConfigurationProvider());
-        configurationManager.reload();
+        initDispatcher(new HashMap() {{ put("configProviders", 
TestConfigurationProvider.class.getName()); }});
 
         ActionContext actionContext = new ActionContext(context);
         actionContext.setValueStack(stack);

Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ElseIfTagTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ElseIfTagTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ElseIfTagTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ElseIfTagTest.java
 Mon Nov 13 00:30:40 2006
@@ -25,6 +25,7 @@
 import junit.framework.TestCase;
 
 import org.apache.struts2.ServletActionContext;
+import org.apache.struts2.StrutsTestCase;
 import org.apache.struts2.components.If;
 
 import com.mockobjects.servlet.MockJspWriter;
@@ -35,7 +36,7 @@
 /**
  *
  */
-public class ElseIfTagTest extends TestCase {
+public class ElseIfTagTest extends StrutsTestCase {
 
     protected MockPageContext pageContext;
     protected MockJspWriter jspWriter;
@@ -96,6 +97,7 @@
 
 
     protected void setUp() throws Exception {
+        super.setUp();
         stack = ValueStackFactory.getFactory().createValueStack();
 
         jspWriter = new MockJspWriter();

Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ElseTagTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ElseTagTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ElseTagTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ElseTagTest.java
 Mon Nov 13 00:30:40 2006
@@ -90,6 +90,7 @@
     }
 
     protected void setUp() throws Exception {
+        super.setUp();
         // create the needed objects
         elseTag = new ElseTag();
         stack = ValueStackFactory.getFactory().createValueStack();

Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/IfTagTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/IfTagTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/IfTagTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/IfTagTest.java
 Mon Nov 13 00:30:40 2006
@@ -26,6 +26,7 @@
 import junit.framework.TestCase;
 
 import org.apache.struts2.ServletActionContext;
+import org.apache.struts2.StrutsTestCase;
 
 import com.mockobjects.servlet.MockJspWriter;
 import com.mockobjects.servlet.MockPageContext;
@@ -36,7 +37,7 @@
 
 /**
  */
-public class IfTagTest extends TestCase {
+public class IfTagTest extends StrutsTestCase {
 
     IfTag tag;
     MockPageContext pageContext;
@@ -320,6 +321,7 @@
 
 
     protected void setUp() throws Exception {
+        super.setUp();
         // create the needed objects
         tag = new IfTag();
         stack = ValueStackFactory.getFactory().createValueStack();

Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/PortletUrlTagTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/PortletUrlTagTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/PortletUrlTagTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/PortletUrlTagTest.java
 Mon Nov 13 00:30:40 2006
@@ -39,7 +39,6 @@
 
 import junit.textui.TestRunner;
 
-import org.apache.struts2.config.Settings;
 import org.apache.struts2.dispatcher.Dispatcher;
 import org.apache.struts2.portlet.PortletActionConstants;
 import org.apache.struts2.portlet.util.PortletUrlHelper;
@@ -81,8 +80,7 @@
     public void setUp() throws Exception {
         super.setUp();
 
-        Settings.reset();
-        Dispatcher.setInstance(new Dispatcher(null));
+        Dispatcher.setInstance(new Dispatcher(null, new HashMap()));
 
         mockPortletApiAvailable();
 

Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/PropertyTagTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/PropertyTagTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/PropertyTagTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/PropertyTagTest.java
 Mon Nov 13 00:30:40 2006
@@ -20,12 +20,13 @@
  */
 package org.apache.struts2.views.jsp;
 
+import java.util.HashMap;
+
 import javax.servlet.jsp.JspException;
 
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.StrutsConstants;
 import org.apache.struts2.StrutsTestCase;
-import org.apache.struts2.config.Settings;
 
 import com.mockobjects.servlet.MockJspWriter;
 import com.mockobjects.servlet.MockPageContext;
@@ -165,8 +166,7 @@
 
     public void testWithAltSyntax1() throws Exception {
         // setups
-        Settings.set(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "true");
-        assertEquals(Settings.get(StrutsConstants.STRUTS_TAG_ALTSYNTAX), 
"true");
+        initDispatcher(new HashMap() {{ 
put(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "true");}});
 
         Foo foo = new Foo();
         foo.setTitle("tm_jee");
@@ -194,8 +194,7 @@
 
     public void testWithAltSyntax2() throws Exception {
         // setups
-        Settings.set(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "true");
-        assertEquals(Settings.get(StrutsConstants.STRUTS_TAG_ALTSYNTAX), 
"true");
+        initDispatcher(new HashMap() {{ 
put(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "true");}});
 
         Foo foo = new Foo();
         foo.setTitle("tm_jee");
@@ -223,8 +222,7 @@
 
     public void testWithoutAltSyntax1() throws Exception {
         //      setups
-        Settings.set(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "false");
-        assertEquals(Settings.get(StrutsConstants.STRUTS_TAG_ALTSYNTAX), 
"false");
+        initDispatcher(new HashMap() {{ 
put(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "false");}});
 
         Foo foo = new Foo();
         foo.setTitle("tm_jee");
@@ -253,8 +251,7 @@
 
     public void testWithoutAltSyntax2() throws Exception {
         //      setups
-        Settings.set(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "false");
-        assertEquals(Settings.get(StrutsConstants.STRUTS_TAG_ALTSYNTAX), 
"false");
+        initDispatcher(new HashMap() {{ 
put(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "false");}});
 
         Foo foo = new Foo();
         foo.setTitle("tm_jee");

Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/FormTagTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/FormTagTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/FormTagTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/FormTagTest.java
 Mon Nov 13 00:30:40 2006
@@ -21,23 +21,32 @@
 package org.apache.struts2.views.jsp.ui;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.struts2.StrutsConstants;
 import org.apache.struts2.TestAction;
 import org.apache.struts2.TestConfigurationProvider;
-import org.apache.struts2.config.Settings;
+import org.apache.struts2.components.Component;
+import org.apache.struts2.components.Form;
+import org.apache.struts2.components.template.TemplateEngineManager;
+import org.apache.struts2.dispatcher.mapper.ActionMapper;
 import org.apache.struts2.dispatcher.mapper.DefaultActionMapper;
 import org.apache.struts2.views.jsp.AbstractUITagTest;
 import org.apache.struts2.views.jsp.ActionTag;
 
+import com.mockobjects.dynamic.Mock;
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionSupport;
 import com.opensymphony.xwork2.ObjectFactory;
 import com.opensymphony.xwork2.config.RuntimeConfiguration;
 import com.opensymphony.xwork2.config.entities.ActionConfig;
 import com.opensymphony.xwork2.config.entities.InterceptorMapping;
+import com.opensymphony.xwork2.config.impl.DefaultConfiguration;
+import com.opensymphony.xwork2.inject.Container;
+import com.opensymphony.xwork2.inject.Inject;
+import com.opensymphony.xwork2.inject.Scope.Strategy;
 import com.opensymphony.xwork2.validator.ValidationInterceptor;
 
 
@@ -117,8 +126,26 @@
         ObjectFactory originalObjectFactory = ObjectFactory.getObjectFactory();
 
         try {
+            final Container cont = container;
             // used to determined if the form action needs js validation
             configurationManager.setConfiguration(new 
com.opensymphony.xwork2.config.impl.DefaultConfiguration() {
+                private DefaultConfiguration self = this;
+                public Container getContainer() {
+                    return new Container() {
+                        public <T> T inject(Class<T> implementation) {return 
null;}
+                        public void removeScopeStrategy() {}
+                        public void setScopeStrategy(Strategy scopeStrategy) {}
+                        public <T> T getInstance(Class<T> type, String name) 
{return null;}
+                        public <T> T getInstance(Class<T> type) {return null;}
+
+                        public void inject(Object o) {
+                            cont.inject(o);
+                            if (o instanceof Form) {
+                                ((Form)o).setConfiguration(self);
+                            }
+                        }
+                    };
+                }
                 public RuntimeConfiguration getRuntimeConfiguration() {
                     return new RuntimeConfiguration() {
                         public ActionConfig getActionConfig(String namespace, 
String name) {
@@ -199,9 +226,27 @@
         com.opensymphony.xwork2.config.Configuration originalConfiguration = 
configurationManager.getConfiguration();
         ObjectFactory originalObjectFactory = ObjectFactory.getObjectFactory();
 
+        final Container cont = container;
         try {
             // used to determined if the form action needs js validation
-            configurationManager.setConfiguration(new 
com.opensymphony.xwork2.config.impl.DefaultConfiguration() {
+            configurationManager.setConfiguration(new DefaultConfiguration() {
+                private DefaultConfiguration self = this;
+                public Container getContainer() {
+                    return new Container() {
+                        public <T> T inject(Class<T> implementation) {return 
null;}
+                        public void removeScopeStrategy() {}
+                        public void setScopeStrategy(Strategy scopeStrategy) {}
+                        public <T> T getInstance(Class<T> type, String name) 
{return null;}
+                        public <T> T getInstance(Class<T> type) {return null;}
+
+                        public void inject(Object o) {
+                            cont.inject(o);
+                            if (o instanceof Form) {
+                                ((Form)o).setConfiguration(self);
+                            }
+                        }
+                    };
+                }
                 public RuntimeConfiguration getRuntimeConfiguration() {
                     return new RuntimeConfiguration() {
                         public ActionConfig getActionConfig(String namespace, 
String name) {
@@ -307,9 +352,11 @@
      * config property is set to &quot;jspa&quot;.
      */
     public void testFormTagWithDifferentActionExtension() throws Exception {
+        initDispatcher(new HashMap<String,String>(){{ 
+            put(StrutsConstants.STRUTS_ACTION_EXTENSION, "jspa");
+            put("configProviders", TestConfigurationProvider.class.getName());
+        }});
         request.setupGetServletPath("/testNamespace/testNamespaceAction");
-        String oldConfiguration = (String) 
Settings.get(StrutsConstants.STRUTS_ACTION_EXTENSION);
-        Settings.set(StrutsConstants.STRUTS_ACTION_EXTENSION, "jspa");
 
         FormTag tag = new FormTag();
         tag.setPageContext(pageContext);
@@ -321,12 +368,7 @@
         tag.doStartTag();
         tag.doEndTag();
 
-        Settings.set(StrutsConstants.STRUTS_ACTION_EXTENSION, 
oldConfiguration);
-
         verify(FormTag.class.getResource("Formtag-5.txt"));
-
-        // set it back to the default
-        Settings.set(StrutsConstants.STRUTS_ACTION_EXTENSION, "action");
     }
 
     /**
@@ -519,9 +561,7 @@
 
     public void testFormWithActionAndExtension() throws Exception {
         request.setupGetServletPath("/BLA");
-        String oldConfiguration = (String) 
Settings.get(StrutsConstants.STRUTS_ACTION_EXTENSION);
-        Settings.set(StrutsConstants.STRUTS_ACTION_EXTENSION, "jspa");
-
+        
         FormTag tag = new FormTag();
         tag.setPageContext(pageContext);
         tag.setAction("/testNamespace/testNamespaceAction.jspa");
@@ -530,19 +570,17 @@
 
         tag.doStartTag();
         tag.doEndTag();
-        Settings.set(StrutsConstants.STRUTS_ACTION_EXTENSION, 
oldConfiguration);
 
         verify(FormTag.class.getResource("Formtag-8.txt"));
 
-        // set it back to the default
-        Settings.set(StrutsConstants.STRUTS_ACTION_EXTENSION, "action");
-
     }
 
+    @Override
     protected void setUp() throws Exception {
         super.setUp();
-        configurationManager.clearConfigurationProviders();
-        configurationManager.addConfigurationProvider(new 
TestConfigurationProvider());
+        initDispatcher(new HashMap<String,String>(){{ 
+            put("configProviders", TestConfigurationProvider.class.getName());
+        }});
         ActionContext.getContext().setValueStack(stack);
     }
 }

Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/TooltipTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/TooltipTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/TooltipTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/TooltipTest.java
 Mon Nov 13 00:30:40 2006
@@ -20,6 +20,8 @@
  */
 package org.apache.struts2.views.jsp.ui;
 
+import java.util.HashMap;
+
 import org.apache.struts2.TestConfigurationProvider;
 import org.apache.struts2.views.jsp.AbstractUITagTest;
 import org.apache.struts2.views.jsp.ParamTag;
@@ -34,9 +36,6 @@
 
     public void testWithoutFormOverriding() throws Exception {
 
-        configurationManager.clearConfigurationProviders();
-        configurationManager.addConfigurationProvider(new 
TestConfigurationProvider());
-
         // we test it on textfield component, but since the tooltip are common 
to
         // all components, it will be the same for other components as well.
         FormTag formTag = new FormTag();
@@ -71,9 +70,6 @@
 
     public void testWithFormOverriding() throws Exception {
 
-        configurationManager.clearConfigurationProviders();
-        configurationManager.addConfigurationProvider(new 
TestConfigurationProvider());
-
         FormTag formTag = new FormTag();
         formTag.setPageContext(pageContext);
         formTag.setName("myForm");
@@ -106,9 +102,6 @@
 
     public void testWithPartialFormOverriding() throws Exception {
 
-        configurationManager.clearConfigurationProviders();
-        configurationManager.addConfigurationProvider(new 
TestConfigurationProvider());
-
         FormTag formTag = new FormTag();
         formTag.setName("myForm");
         formTag.setPageContext(pageContext);
@@ -147,9 +140,6 @@
 
 
     public void testUsingParamValueToSetConfigurations() throws Exception {
-        configurationManager.clearConfigurationProviders();
-        configurationManager.addConfigurationProvider(new 
TestConfigurationProvider());
-
         FormTag formTag = new FormTag();
         formTag.setName("myForm");
         formTag.setPageContext(pageContext);
@@ -199,8 +189,6 @@
 
 
     public void testUsingParamBodyValueToSetConfigurations() throws Exception {
-        configurationManager.clearConfigurationProviders();
-        configurationManager.addConfigurationProvider(new 
TestConfigurationProvider());
 
         FormTag formTag = new FormTag();
         formTag.setName("myForm");
@@ -249,5 +237,16 @@
         System.out.println(writer.toString());
 
         verify(TooltipTest.class.getResource("tooltip-3.txt"));
+    }
+
+    /**
+     * @throws Exception 
+     * 
+     */
+    public void setUp() throws Exception {
+        super.setUp();
+        initDispatcher(new HashMap<String,String>(){{ 
+            put("configProviders", TestConfigurationProvider.class.getName());
+        }});
     }
 }

Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/util/ContextUtilTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/util/ContextUtilTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/util/ContextUtilTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/util/ContextUtilTest.java
 Mon Nov 13 00:30:40 2006
@@ -23,7 +23,6 @@
 import junit.framework.TestCase;
 
 import org.apache.struts2.StrutsConstants;
-import org.apache.struts2.config.Settings;
 
 import com.opensymphony.xwork2.util.ValueStack;
 import com.opensymphony.xwork2.util.ValueStackFactory;
@@ -38,10 +37,7 @@
         ValueStack stack = ValueStackFactory.getFactory().createValueStack();
         stack.getContext().put("useAltSyntax", "true");
 
-        Settings.reset();
-        Settings.set(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "true");
-
-        assertEquals(Settings.get(StrutsConstants.STRUTS_TAG_ALTSYNTAX), 
"true");
+        ContextUtil.setAltSyntax("true");
         assertTrue(ContextUtil.isUseAltSyntax(stack.getContext()));
     }
 
@@ -49,10 +45,7 @@
         ValueStack stack = ValueStackFactory.getFactory().createValueStack();
         stack.getContext().put("useAltSyntax", "false");
 
-        Settings.reset();
-        Settings.set(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "true");
-
-        assertEquals(Settings.get(StrutsConstants.STRUTS_TAG_ALTSYNTAX), 
"true");
+        ContextUtil.setAltSyntax("true");
         assertTrue(ContextUtil.isUseAltSyntax(stack.getContext()));
     }
 
@@ -60,10 +53,7 @@
         ValueStack stack = ValueStackFactory.getFactory().createValueStack();
         stack.getContext().put("useAltSyntax", "true");
 
-        Settings.reset();
-        Settings.set(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "false");
-
-        assertEquals(Settings.get(StrutsConstants.STRUTS_TAG_ALTSYNTAX), 
"false");
+        ContextUtil.setAltSyntax("false");
         assertTrue(ContextUtil.isUseAltSyntax(stack.getContext()));
     }
 
@@ -71,10 +61,7 @@
         ValueStack stack = ValueStackFactory.getFactory().createValueStack();
         stack.getContext().put("useAltSyntax", "false");
 
-        Settings.reset();
-        Settings.set(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "false");
-
-        assertEquals(Settings.get(StrutsConstants.STRUTS_TAG_ALTSYNTAX), 
"false");
+        ContextUtil.setAltSyntax("false");
         assertFalse(ContextUtil.isUseAltSyntax(stack.getContext()));
     }
 
@@ -84,40 +71,28 @@
         ValueStack stack = ValueStackFactory.getFactory().createValueStack();
         stack.getContext().put("useAltSyntax", Boolean.TRUE);
 
-        Settings.reset();
-        Settings.set(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "true");
-
-        assertEquals(Settings.get(StrutsConstants.STRUTS_TAG_ALTSYNTAX), 
"true");
+        ContextUtil.setAltSyntax("true");
         assertTrue(ContextUtil.isUseAltSyntax(stack.getContext()));
     }
     public void testAltSyntaxMethod6() throws Exception {
         ValueStack stack = ValueStackFactory.getFactory().createValueStack();
         stack.getContext().put("useAltSyntax", Boolean.FALSE);
 
-        Settings.reset();
-        Settings.set(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "true");
-
-        assertEquals(Settings.get(StrutsConstants.STRUTS_TAG_ALTSYNTAX), 
"true");
+        ContextUtil.setAltSyntax("true");
         assertTrue(ContextUtil.isUseAltSyntax(stack.getContext()));
     }
     public void testAltSyntaxMethod7() throws Exception {
         ValueStack stack = ValueStackFactory.getFactory().createValueStack();
         stack.getContext().put("useAltSyntax", Boolean.TRUE);
 
-        Settings.reset();
-        Settings.set(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "false");
-
-        assertEquals(Settings.get(StrutsConstants.STRUTS_TAG_ALTSYNTAX), 
"false");
+        ContextUtil.setAltSyntax("false");
         assertTrue(ContextUtil.isUseAltSyntax(stack.getContext()));
     }
     public void testAltSyntaxMethod8() throws Exception {
         ValueStack stack = ValueStackFactory.getFactory().createValueStack();
         stack.getContext().put("useAltSyntax", Boolean.FALSE);
 
-        Settings.reset();
-        Settings.set(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "false");
-
-        assertEquals(Settings.get(StrutsConstants.STRUTS_TAG_ALTSYNTAX), 
"false");
+        ContextUtil.setAltSyntax("false");
         assertFalse(ContextUtil.isUseAltSyntax(stack.getContext()));
     }
 
@@ -126,10 +101,7 @@
         ValueStack stack = ValueStackFactory.getFactory().createValueStack();
         stack.getContext().put("useAltSyntax", null);
 
-        Settings.reset();
-        Settings.set(StrutsConstants.STRUTS_TAG_ALTSYNTAX, "true");
-
-        assertEquals(Settings.get(StrutsConstants.STRUTS_TAG_ALTSYNTAX), 
"true");
+        ContextUtil.setAltSyntax("true");
         assertTrue(ContextUtil.isUseAltSyntax(stack.getContext()));
     }
 }

Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/util/UrlHelperTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/util/UrlHelperTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/util/UrlHelperTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/util/UrlHelperTest.java
 Mon Nov 13 00:30:40 2006
@@ -30,7 +30,6 @@
 
 import org.apache.struts2.StrutsConstants;
 import org.apache.struts2.StrutsTestCase;
-import org.apache.struts2.config.Settings;
 
 import com.mockobjects.dynamic.Mock;
 
@@ -201,8 +200,8 @@
 
         String expectedString = 
"https://www.mydomain.com:7002/mywebapp/MyAction.action?foo=bar&amp;hello=earth&amp;hello=mars";;
 
-        Settings.set(StrutsConstants.STRUTS_URL_HTTP_PORT, "7001");
-        Settings.set(StrutsConstants.STRUTS_URL_HTTPS_PORT, "7002");
+        UrlHelper.setHttpPort("7001");
+        UrlHelper.setHttpsPort("7002");
 
         Mock mockHttpServletRequest = new Mock(HttpServletRequest.class);
         mockHttpServletRequest.expectAndReturn("getServerName", 
"www.mydomain.com");
@@ -230,8 +229,8 @@
 
         String expectedString = 
"http://www.mydomain.com:7001/mywebapp/MyAction.action?foo=bar&amp;hello=earth&amp;hello=mars";;
 
-        Settings.set(StrutsConstants.STRUTS_URL_HTTP_PORT, "7001");
-        Settings.set(StrutsConstants.STRUTS_URL_HTTPS_PORT, "7002");
+        UrlHelper.setHttpPort("7001");
+        UrlHelper.setHttpsPort("7002");
 
         Mock mockHttpServletRequest = new Mock(HttpServletRequest.class);
         mockHttpServletRequest.expectAndReturn("getServerName", 
"www.mydomain.com");
@@ -303,30 +302,18 @@
 
 
     public void testTranslateAndEncode() throws Exception {
-        String defaultI18nEncoding = 
Settings.get(StrutsConstants.STRUTS_I18N_ENCODING);
-        try {
-            Settings.set(StrutsConstants.STRUTS_I18N_ENCODING, "UTF-8");
-            String result = UrlHelper.translateAndEncode("\u65b0\u805e");
-            String expectedResult = "%E6%96%B0%E8%81%9E";
-
-            assertEquals(result, expectedResult);
-        }
-        finally {
-            Settings.set(StrutsConstants.STRUTS_I18N_ENCODING, 
defaultI18nEncoding);
-        }
+        UrlHelper.setCustomEncoding("UTF-8");
+        String result = UrlHelper.translateAndEncode("\u65b0\u805e");
+        String expectedResult = "%E6%96%B0%E8%81%9E";
+
+        assertEquals(result, expectedResult);
     }
 
     public void testTranslateAndDecode() throws Exception {
-        String defaultI18nEncoding = 
Settings.get(StrutsConstants.STRUTS_I18N_ENCODING);
-        try {
-            Settings.set(StrutsConstants.STRUTS_I18N_ENCODING, "UTF-8");
-            String result = UrlHelper.translateAndDecode("%E6%96%B0%E8%81%9E");
-            String expectedResult = "\u65b0\u805e";
-
-            assertEquals(result, expectedResult);
-        }
-        finally {
-            Settings.set(StrutsConstants.STRUTS_I18N_ENCODING, 
defaultI18nEncoding);
-        }
+        UrlHelper.setCustomEncoding("UTF-8");
+        String result = UrlHelper.translateAndDecode("%E6%96%B0%E8%81%9E");
+        String expectedResult = "\u65b0\u805e";
+
+        assertEquals(result, expectedResult);
     }
 }

Modified: 
struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ActionNamesAction.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ActionNamesAction.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ActionNamesAction.java
 (original)
+++ 
struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ActionNamesAction.java
 Mon Nov 13 00:30:40 2006
@@ -24,10 +24,10 @@
 import java.util.TreeSet;
 
 import org.apache.struts2.StrutsConstants;
-import org.apache.struts2.config.Settings;
 
 import com.opensymphony.xwork2.ActionSupport;
 import com.opensymphony.xwork2.config.entities.ActionConfig;
+import com.opensymphony.xwork2.inject.Inject;
 
 /**
  * ActionNamesAction
@@ -53,6 +53,11 @@
     public void setNamespace(String namespace) {
         this.namespace = namespace;
     }
+    
+    @Inject(StrutsConstants.STRUTS_ACTION_EXTENSION)
+    public void setExtension(String ext) {
+        this.extension = ext;
+    }
 
     public ActionConfig getConfig(String actionName) {
         return ConfigurationHelper.getActionConfig(namespace, actionName);
@@ -64,12 +69,7 @@
 
     public String getExtension() {
         if ( extension == null) {
-            String ext = (String) 
Settings.get(StrutsConstants.STRUTS_ACTION_EXTENSION);
-            if ( ext == null || ext.equals("")) {
-                extension = "action";
-            } else {
-                extension = ext;
-            }
+            extension = "action";
         }
         return extension;
     }

Modified: 
struts/struts2/trunk/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java
 (original)
+++ 
struts/struts2/trunk/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java
 Mon Nov 13 00:30:40 2006
@@ -20,8 +20,12 @@
  */
 package org.apache.struts2.dispatcher.multipart;
 
-import org.apache.struts2.config.Settings;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.struts2.StrutsConstants;
+
+import com.opensymphony.xwork2.inject.Inject;
+
 import http.utils.multipartrequest.ServletMultipartRequest;
 
 import javax.servlet.http.HttpServletRequest;
@@ -38,11 +42,18 @@
  * Multipart form data request adapter for Jason Pell's multipart utils 
package.
  *
  */
-public class PellMultiPartRequest extends MultiPartRequest {
+public class PellMultiPartRequest implements MultiPartRequest {
 
+    private static final Log LOG = 
LogFactory.getLog(PellMultiPartRequest.class);
     private ServletMultipartRequest multi;
 
-
+    private String defaultEncoding;
+    
+    @Inject(StrutsConstants.STRUTS_I18N_ENCODING)
+    public void setDefaultEncoding(String enc) {
+        this.defaultEncoding = enc;
+    }
+    
     /**
      * Creates a new request wrapper to handle multi-part data using methods 
adapted from Jason Pell's
      * multipart classes (see class description).
@@ -51,16 +62,15 @@
      * @param saveDir        the directory to save off the file
      * @param servletRequest the request containing the multipart
      */
-    public PellMultiPartRequest(HttpServletRequest servletRequest, String 
saveDir, int maxSize) throws IOException {
+    public void parse(HttpServletRequest servletRequest, String saveDir) 
throws IOException {
         //this needs to be synchronised, as we should not change the encoding 
at the same time as
         //calling the constructor.  See javadoc for 
MultipartRequest.setEncoding().
         synchronized (this) {
             setEncoding();
-            multi = new ServletMultipartRequest(servletRequest, saveDir, 
maxSize);
+            multi = new ServletMultipartRequest(servletRequest, saveDir);
         }
     }
-
-
+    
     public Enumeration getFileParameterNames() {
         return multi.getFileParameterNames();
     }
@@ -120,11 +130,11 @@
      * The encoding is looked up from the configuration setting 
'struts.i18n.encoding'.  This is usually set in
      * default.properties & struts.properties.
      */
-    private static void setEncoding() {
+    private void setEncoding() {
         String encoding = null;
 
         try {
-            encoding = Settings.get(StrutsConstants.STRUTS_I18N_ENCODING);
+            encoding = defaultEncoding;
 
             if (encoding != null) {
                 //NB: This should never be called at the same time as the 
constructor for
@@ -135,9 +145,9 @@
                 
http.utils.multipartrequest.MultipartRequest.setEncoding("UTF-8");
             }
         } catch (IllegalArgumentException e) {
-            log.info("Could not get encoding property 'struts.i18n.encoding' 
for file upload.  Using system default");
+            LOG.info("Could not get encoding property 'struts.i18n.encoding' 
for file upload.  Using system default");
         } catch (UnsupportedEncodingException e) {
-            log.error("Encoding " + encoding + " is not a valid encoding.  
Please check your struts.properties file.");
+            LOG.error("Encoding " + encoding + " is not a valid encoding.  
Please check your struts.properties file.");
         }
     }
 }

Added: 
struts/struts2/trunk/plugins/pell-multipart/src/main/resources/struts-plugin.xml
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/pell-multipart/src/main/resources/struts-plugin.xml?view=auto&rev=474191
==============================================================================
--- 
struts/struts2/trunk/plugins/pell-multipart/src/main/resources/struts-plugin.xml
 (added)
+++ 
struts/struts2/trunk/plugins/pell-multipart/src/main/resources/struts-plugin.xml
 Mon Nov 13 00:30:40 2006
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE struts PUBLIC
+    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
+    "http://struts.apache.org/dtds/struts-2.0.dtd";>
+    
+<struts>
+    <bean type="org.apache.struts2.dispatcher.MultiPartRequest" name="pell" 
class="org.apache.struts2.dispatcher.PellMultiPartRequest" />
+</struts>

Modified: 
struts/struts2/trunk/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusObjectFactory.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusObjectFactory.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusObjectFactory.java
 (original)
+++ 
struts/struts2/trunk/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusObjectFactory.java
 Mon Nov 13 00:30:40 2006
@@ -27,7 +27,6 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.struts2.util.ObjectFactoryInitializable;
 import org.codehaus.plexus.PlexusContainer;
 
 import com.opensymphony.xwork2.Action;
@@ -37,6 +36,7 @@
 import com.opensymphony.xwork2.config.entities.ActionConfig;
 import com.opensymphony.xwork2.config.entities.InterceptorConfig;
 import com.opensymphony.xwork2.config.entities.ResultConfig;
+import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.interceptor.Interceptor;
 import com.opensymphony.xwork2.util.OgnlUtil;
 import com.opensymphony.xwork2.validator.Validator;
@@ -70,17 +70,17 @@
  *
  * @author <a href="mailto:[EMAIL PROTECTED]">Emmanuel Venisse</a>
  */
-public class PlexusObjectFactory extends ObjectFactory implements 
ObjectFactoryInitializable {
+public class PlexusObjectFactory extends ObjectFactory {
     private static final Log log = 
LogFactory.getLog(PlexusObjectFactory.class);
 
     private static final String PLEXUS_COMPONENT_TYPE = 
"plexus.component.type";
 
     private PlexusContainer base;
+    
+    
 
-    /* (non-Javadoc)
-     * @see 
org.apache.struts2.util.ObjectFactoryInitializable#init(javax.servlet.ServletContext)
-     */
-    public void init(ServletContext servletContext) {
+    @Inject
+    public void setServletConfig(ServletContext servletContext) {
         if (!PlexusLifecycleListener.isLoaded() || !PlexusFilter.isLoaded()) {
             // uh oh! looks like the lifecycle listener wasn't installed. 
Let's inform the user
             String message = "********** FATAL ERROR STARTING UP PLEXUS-STRUTS 
INTEGRATION **********\n" +

Added: struts/struts2/trunk/plugins/plexus/src/main/resources/struts-plugin.xml
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/plexus/src/main/resources/struts-plugin.xml?view=auto&rev=474191
==============================================================================
--- struts/struts2/trunk/plugins/plexus/src/main/resources/struts-plugin.xml 
(added)
+++ struts/struts2/trunk/plugins/plexus/src/main/resources/struts-plugin.xml 
Mon Nov 13 00:30:40 2006
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE struts PUBLIC
+    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
+    "http://struts.apache.org/dtds/struts-2.0.dtd";>
+    
+<struts>
+    <bean type="com.opensymphony.xwork.ObjectFactory" name="plexus" 
class="org.apache.struts2.plexus.PlexusObjectFactory" />
+    
+    <!--  Make the Plexus object factory the automatic default -->
+    <constant name="struts.objectFactory" value="plexus" />
+</struts>

Modified: 
struts/struts2/trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/StrutsConfigRetriever.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/StrutsConfigRetriever.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/StrutsConfigRetriever.java
 (original)
+++ 
struts/struts2/trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/StrutsConfigRetriever.java
 Mon Nov 13 00:30:40 2006
@@ -12,6 +12,8 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.struts2.config.BeanSelectionProvider;
+import org.apache.struts2.config.LegacyPropertiesConfigurationProvider;
 import org.apache.struts2.config.StrutsXmlConfigurationProvider;
 import org.apache.struts2.sitegraph.entities.FreeMarkerView;
 import org.apache.struts2.sitegraph.entities.JspView;
@@ -50,9 +52,12 @@
         String configFilePath = configDir + "/struts.xml";
         File configFile = new File(configFilePath);
         try {
-            ConfigurationProvider configProvider = new 
StrutsXmlConfigurationProvider(configFile.getCanonicalPath(), true);
+            ConfigurationProvider configProvider = new 
StrutsXmlConfigurationProvider(configFile.getCanonicalPath(), true, null);
             cm = new ConfigurationManager();
+            cm.addConfigurationProvider(new 
StrutsXmlConfigurationProvider("struts-default.xml", false, null));
             cm.addConfigurationProvider(configProvider);
+            cm.addConfigurationProvider(new 
LegacyPropertiesConfigurationProvider());
+            cm.addConfigurationProvider(new BeanSelectionProvider());
             isXWorkStarted = true;
         } catch (IOException e) {
             LOG.error("IOException", e);

Modified: 
struts/struts2/trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/entities/FileBasedView.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/entities/FileBasedView.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/entities/FileBasedView.java
 (original)
+++ 
struts/struts2/trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/entities/FileBasedView.java
 Mon Nov 13 00:30:40 2006
@@ -33,7 +33,6 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.struts2.StrutsConstants;
-import org.apache.struts2.config.Settings;
 import org.apache.struts2.sitegraph.model.Link;
 
 /**
@@ -70,7 +69,9 @@
     }
 
     protected Pattern getLinkPattern() {
-        Object ext = Settings.get(StrutsConstants.STRUTS_ACTION_EXTENSION);
+        // FIXME: work with new configuration style
+        //Object ext = Settings.get(StrutsConstants.STRUTS_ACTION_EXTENSION);
+        String ext = "action";
         String actionRegex = "([A-Za-z0-9\\._\\-\\!]+\\." + ext + ")";
         return Pattern.compile(actionRegex);
     }

Modified: 
struts/struts2/trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/renderers/DOTRenderer.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/renderers/DOTRenderer.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/renderers/DOTRenderer.java
 (original)
+++ 
struts/struts2/trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/renderers/DOTRenderer.java
 Mon Nov 13 00:30:40 2006
@@ -31,7 +31,6 @@
 import java.util.TreeMap;
 
 import org.apache.struts2.StrutsConstants;
-import org.apache.struts2.config.Settings;
 import org.apache.struts2.sitegraph.StrutsConfigRetriever;
 import org.apache.struts2.sitegraph.entities.Target;
 import org.apache.struts2.sitegraph.entities.View;
@@ -106,7 +105,8 @@
                         }
 
                         String location = getViewLocation((String) 
resultConfig.getParams().get("location"), namespace);
-                        if (location.endsWith((String) 
Settings.get(StrutsConstants.STRUTS_ACTION_EXTENSION))) {
+                        //  FIXME: work with new configuration style           
             
+                        if (location.endsWith("action")) {
                             addTempLink(action, location, Link.TYPE_RESULT, 
resultConfig.getName());
                         } else {
                             ViewNode view = new 
ViewNode(stripLocation(location));
@@ -126,7 +126,8 @@
                     } else if (resultClassName.indexOf("Redirect") != -1) {
                         // check if the redirect is to an action -- if so, 
link it
                         String location = getViewLocation((String) 
resultConfig.getParams().get("location"), namespace);
-                        if (location.endsWith((String) 
Settings.get(StrutsConstants.STRUTS_ACTION_EXTENSION))) {
+                        //  FIXME: work with new configuration style
+                        if (location.endsWith("action")) {
                             addTempLink(action, location, Link.TYPE_REDIRECT, 
resultConfig.getName());
                         } else {
                             ViewNode view = new 
ViewNode(stripLocation(location));
@@ -161,8 +162,10 @@
         for (Iterator iterator = links.iterator(); iterator.hasNext();) {
             TempLink temp = (TempLink) iterator.next();
             String location = temp.location;
-            if (location.endsWith((String) 
Settings.get(StrutsConstants.STRUTS_ACTION_EXTENSION))) {
-                location = location.substring(0, location.indexOf((String) 
Settings.get(StrutsConstants.STRUTS_ACTION_EXTENSION)) - 1);
+            
+            // FIXME: work with new configuration style
+            if (location.endsWith("action")) {
+                location = location.substring(0, location.indexOf("action") - 
1);
 
                 if (location.indexOf('!') != -1) {
                     temp.label = temp.label + "\\n(" + 
location.substring(location.indexOf('!')) + ")";

Modified: 
struts/struts2/trunk/plugins/sitegraph/src/test/java/org/apache/struts2/sitegraph/SiteGraphTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/sitegraph/src/test/java/org/apache/struts2/sitegraph/SiteGraphTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/plugins/sitegraph/src/test/java/org/apache/struts2/sitegraph/SiteGraphTest.java
 (original)
+++ 
struts/struts2/trunk/plugins/sitegraph/src/test/java/org/apache/struts2/sitegraph/SiteGraphTest.java
 Mon Nov 13 00:30:40 2006
@@ -34,7 +34,6 @@
  */
 public class SiteGraphTest extends StrutsTestCase {
     public void testWebFlow() throws Exception {
-        
Dispatcher.getInstance().getConfigurationManager().clearConfigurationProviders();
         // use the classloader rather than relying on the
         // working directory being an assumed value when
         // running the test:  so let's get this class's parent dir

Modified: 
struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreeMarkerPageFilter.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreeMarkerPageFilter.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreeMarkerPageFilter.java
 (original)
+++ 
struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreeMarkerPageFilter.java
 Mon Nov 13 00:30:40 2006
@@ -38,6 +38,7 @@
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.LocaleProvider;
+import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.util.profiling.UtilTimerStack;
 
 import freemarker.template.Configuration;
@@ -106,6 +107,13 @@
  */
 public class FreeMarkerPageFilter extends TemplatePageFilter {
     private static final Log LOG = 
LogFactory.getLog(FreeMarkerPageFilter.class);
+    
+    private static FreemarkerManager freemarkerManager;
+    
+    @Inject
+    public void setFreemarkerManager(FreemarkerManager mgr) {
+        freemarkerManager = mgr;
+    }
 
     /**
      *  Applies the decorator, using the relevent contexts
@@ -126,14 +134,13 @@
         try {
             UtilTimerStack.push(timerKey);
 
-            FreemarkerManager fmm = FreemarkerManager.getInstance();
 
             // get the configuration and template
-            Configuration config = fmm.getConfiguration(servletContext);
+            Configuration config = 
freemarkerManager.getConfiguration(servletContext);
             Template template = config.getTemplate(decorator.getPage(), 
getLocale(ctx.getActionInvocation(), config)); // WW-1181
 
             // get the main hash
-            SimpleHash model = fmm.buildTemplateModel(ctx.getValueStack(), 
null, servletContext, req, res, config.getObjectWrapper());
+            SimpleHash model = 
freemarkerManager.buildTemplateModel(ctx.getValueStack(), null, servletContext, 
req, res, config.getObjectWrapper());
 
             // populate the hash with the page
             model.put("page", page);

Modified: 
struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/TemplatePageFilter.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/TemplatePageFilter.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/TemplatePageFilter.java
 (original)
+++ 
struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/TemplatePageFilter.java
 Mon Nov 13 00:30:40 2006
@@ -30,7 +30,6 @@
 
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.StrutsConstants;
-import org.apache.struts2.config.Settings;
 import org.apache.struts2.dispatcher.Dispatcher;
 
 import com.opensymphony.module.sitemesh.Decorator;
@@ -41,6 +40,7 @@
 import com.opensymphony.xwork2.ActionProxy;
 import com.opensymphony.xwork2.ActionSupport;
 import com.opensymphony.xwork2.Result;
+import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.interceptor.PreResultListener;
 import com.opensymphony.xwork2.util.OgnlValueStack;
 
@@ -52,6 +52,13 @@
 public abstract class TemplatePageFilter extends PageFilter {
 
     private FilterConfig filterConfig;
+    
+    private static String customEncoding;
+    
+    @Inject(StrutsConstants.STRUTS_I18N_ENCODING)
+    public static void setCustomEncoding(String enc) {
+        customEncoding = enc;
+    }
 
     public void init(FilterConfig filterConfig) {
         super.init(filterConfig);
@@ -110,7 +117,7 @@
      *  Gets the L18N encoding of the system.  The default is UTF-8.
      */
     protected String getEncoding() {
-        String encoding = (String) 
Settings.get(StrutsConstants.STRUTS_I18N_ENCODING);
+        String encoding = customEncoding;
         if (encoding == null) {
             encoding = System.getProperty("file.encoding");
         }

Modified: 
struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/VelocityPageFilter.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/VelocityPageFilter.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/VelocityPageFilter.java
 (original)
+++ 
struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/VelocityPageFilter.java
 Mon Nov 13 00:30:40 2006
@@ -30,6 +30,7 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.struts2.views.freemarker.FreemarkerManager;
 import org.apache.struts2.views.velocity.VelocityManager;
 import org.apache.velocity.Template;
 import org.apache.velocity.context.Context;
@@ -38,6 +39,7 @@
 import com.opensymphony.module.sitemesh.HTMLPage;
 import com.opensymphony.module.sitemesh.Page;
 import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.inject.Inject;
 
 
 /**
@@ -47,6 +49,13 @@
 public class VelocityPageFilter extends TemplatePageFilter {
     private static final Log LOG = LogFactory.getLog(VelocityPageFilter.class);
 
+    private static VelocityManager velocityManager;
+    
+    @Inject
+    public void setVelocityManager(VelocityManager mgr) {
+        velocityManager = mgr;
+    }
+        
     /**
      *  Applies the decorator, using the relevent contexts
      *
@@ -62,17 +71,16 @@
                                   ServletContext servletContext, ActionContext 
ctx)
             throws ServletException, IOException {
         try {
-            VelocityManager vm = VelocityManager.getInstance();
 
             // init (if needed)
-            vm.init(servletContext);
+            velocityManager.init(servletContext);
 
             // get encoding
             String encoding = getEncoding();
 
             // get the template and context
-            Template template = 
vm.getVelocityEngine().getTemplate(decorator.getPage(), encoding);
-            Context context = vm.createContext(ctx.getValueStack(), req, res);
+            Template template = 
velocityManager.getVelocityEngine().getTemplate(decorator.getPage(), encoding);
+            Context context = 
velocityManager.createContext(ctx.getValueStack(), req, res);
 
             // put the page in the context
             context.put("page", page);

Added: 
struts/struts2/trunk/plugins/sitemesh/src/main/resources/struts-plugin.xml
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/sitemesh/src/main/resources/struts-plugin.xml?view=auto&rev=474191
==============================================================================
--- struts/struts2/trunk/plugins/sitemesh/src/main/resources/struts-plugin.xml 
(added)
+++ struts/struts2/trunk/plugins/sitemesh/src/main/resources/struts-plugin.xml 
Mon Nov 13 00:30:40 2006
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE struts PUBLIC
+    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
+    "http://struts.apache.org/dtds/struts-2.0.dtd";>
+    
+<struts>
+    <bean class="org.apache.struts2.sitemesh.FreeMarkerTemplatePageFilter" 
static="true" optional="true"/>
+    <bean class="org.apache.struts2.sitemesh.VelocityTemplatePageFilter" 
static="true" optional="true"/>
+</struts>

Modified: 
struts/struts2/trunk/plugins/struts1/src/test/java/org/apache/struts2/s1/Struts1FactoryTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/struts1/src/test/java/org/apache/struts2/s1/Struts1FactoryTest.java?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/plugins/struts1/src/test/java/org/apache/struts2/s1/Struts1FactoryTest.java
 (original)
+++ 
struts/struts2/trunk/plugins/struts1/src/test/java/org/apache/struts2/s1/Struts1FactoryTest.java
 Mon Nov 13 00:30:40 2006
@@ -15,6 +15,7 @@
 import org.apache.struts2.config.StrutsXmlConfigurationProvider;
 
 import com.opensymphony.xwork2.ActionSupport;
+import com.opensymphony.xwork2.ObjectFactory;
 import com.opensymphony.xwork2.config.Configuration;
 import com.opensymphony.xwork2.config.ConfigurationManager;
 import com.opensymphony.xwork2.config.ConfigurationProvider;
@@ -46,7 +47,7 @@
      */
     public void setUp() {
         ConfigurationManager manager = new ConfigurationManager();
-        ConfigurationProvider provider = new 
StrutsXmlConfigurationProvider(PACKAGE_NAME + "/test-struts-factory.xml", true);
+        StrutsXmlConfigurationProvider provider = new 
StrutsXmlConfigurationProvider(PACKAGE_NAME + "/test-struts-factory.xml", true, 
null);
         manager.addConfigurationProvider(provider);
         config = manager.getConfiguration();
         factory = new Struts1Factory(config);

Modified: 
struts/struts2/trunk/plugins/struts1/src/test/resources/org/apache/struts2/s1/test-struts-factory.xml
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/struts1/src/test/resources/org/apache/struts2/s1/test-struts-factory.xml?view=diff&rev=474191&r1=474190&r2=474191
==============================================================================
--- 
struts/struts2/trunk/plugins/struts1/src/test/resources/org/apache/struts2/s1/test-struts-factory.xml
 (original)
+++ 
struts/struts2/trunk/plugins/struts1/src/test/resources/org/apache/struts2/s1/test-struts-factory.xml
 Mon Nov 13 00:30:40 2006
@@ -6,6 +6,9 @@
         
 <!-- Used by the TestStrutsFactory TestCase. -->
 <struts>
+    <bean class="com.opensymphony.xwork2.ObjectFactory" name="default" />
+       <bean type="com.opensymphony.xwork2.ActionProxyFactory" name="default" 
class="com.opensymphony.xwork2.DefaultActionProxyFactory"/>
+       <constant name="devMode" value="false" />
   <package name="org/apache/struts2/s1" namespace="/org/apache/struts2/s1">
     <result-types>
       <result-type 
class="org.apache.struts2.dispatcher.ServletDispatcherResult" 
name="servletDispatcherResult"/>


Reply via email to