Title: [waffle-scm] [875] sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle: merge some interface with impl

Diff

Modified: sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/ComponentRegistry.java (874 => 875)

--- sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/ComponentRegistry.java	2009-01-15 12:31:24 UTC (rev 874)
+++ sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/ComponentRegistry.java	2009-01-15 12:42:17 UTC (rev 875)
@@ -47,7 +47,6 @@
 import org.codehaus.waffle.view.DefaultViewDispatcher;
 import org.codehaus.waffle.view.DefaultViewResolver;
 import org.codehaus.waffle.registrar.pico.ParameterResolver;
-import org.codehaus.waffle.registrar.pico.DefaultParameterResolver;
 import org.picocontainer.MutablePicoContainer;
 import org.picocontainer.DefaultPicoContainer;
 import org.picocontainer.Characteristics;
@@ -103,7 +102,7 @@
         register(Validator.class, DefaultValidator.class, servletContext);
         register(ViewDispatcher.class, DefaultViewDispatcher.class, servletContext);
         register(ViewResolver.class, DefaultViewResolver.class, servletContext);
-        register(ParameterResolver.class, DefaultParameterResolver.class, servletContext);
+        register(ParameterResolver.class, ParameterResolver.class, servletContext);
 
         // register other components
         registerOtherComponents(servletContext);

Deleted: sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/registrar/pico/DefaultParameterResolver.java (874 => 875)

--- sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/registrar/pico/DefaultParameterResolver.java	2009-01-15 12:31:24 UTC (rev 874)
+++ sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/registrar/pico/DefaultParameterResolver.java	2009-01-15 12:42:17 UTC (rev 875)
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) terms as published in http://waffle.codehaus.org/license.html
- */
-package org.codehaus.waffle.registrar.pico;
-
-import org.codehaus.waffle.WaffleException;
-import org.codehaus.waffle.bind.StringTransmuter;
-import org.codehaus.waffle.i18n.DefaultMessageResources;
-import org.codehaus.waffle.i18n.MessageResources;
-import org.codehaus.waffle.registrar.ComponentReference;
-import org.codehaus.waffle.registrar.Reference;
-import org.codehaus.waffle.registrar.RequestAttributeReference;
-import org.codehaus.waffle.registrar.RequestParameterReference;
-import org.codehaus.waffle.registrar.ServletContextAttributeReference;
-import org.codehaus.waffle.registrar.SessionAttributeReference;
-import org.picocontainer.Parameter;
-import org.picocontainer.parameters.ComponentParameter;
-import org.picocontainer.parameters.ConstantParameter;
-
-/**
- * This base implementation will determine the correct {...@code Parameter} based on the argument being resolved.
- *
- * @author Michael Ward
- */
-public class DefaultParameterResolver implements ParameterResolver {
-    private final StringTransmuter stringTransmuter;
-    private final MessageResources messageResources;
-
-    public DefaultParameterResolver(StringTransmuter stringTransmuter) {
-        this(stringTransmuter, new DefaultMessageResources());
-    }
-
-    public DefaultParameterResolver(StringTransmuter stringTransmuter, MessageResources messageResources) {
-        this.stringTransmuter = stringTransmuter;
-        this.messageResources = messageResources;
-    }
-
-    /**
-     * An argument of type Reference will be mapped to the correct Parameter implemntation while other types
-     * will be treated as a constant ({...@code ConstantParameter})
-     *
-     * @param argument the argument to be resolved
-     * @return the correct Parameter.
-     */
-    public Parameter resolve(Object argument) {
-        if (argument instanceof Reference) {
-            Reference reference = (Reference) argument;
-
-            if (reference instanceof ComponentReference) {
-                return new ComponentParameter(reference.getKey());
-            } else if(reference instanceof RequestParameterReference) {
-                RequestParameterReference requestParameterReference = (RequestParameterReference) reference;
-                return new RequestParameterParameter(reference.getKey().toString(), stringTransmuter, requestParameterReference.getDefaultValue());
-            } else if(reference instanceof RequestAttributeReference) {
-                return new RequestAttributeParameter(reference.getKey().toString());
-            } else if(reference instanceof SessionAttributeReference) {
-                return new SessionAttributeParameter(reference.getKey().toString());
-            } else if(reference instanceof ServletContextAttributeReference) {
-                return new ServletContextAttributeParameter(reference.getKey().toString());
-            }
-        } else {
-            return new ConstantParameter(argument);
-        }
-
-        String message = messageResources.getMessageWithDefault("parameterNotResolved", "Unable to resolve parameter for argument ''{0}''", argument);
-        throw new WaffleException(message);
-    }
-}

Modified: sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/registrar/pico/ParameterResolver.java (874 => 875)

--- sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/registrar/pico/ParameterResolver.java	2009-01-15 12:31:24 UTC (rev 874)
+++ sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/registrar/pico/ParameterResolver.java	2009-01-15 12:42:17 UTC (rev 875)
@@ -4,6 +4,18 @@
 package org.codehaus.waffle.registrar.pico;
 
 import org.picocontainer.Parameter;
+import org.picocontainer.parameters.ComponentParameter;
+import org.picocontainer.parameters.ConstantParameter;
+import org.codehaus.waffle.bind.StringTransmuter;
+import org.codehaus.waffle.i18n.MessageResources;
+import org.codehaus.waffle.i18n.DefaultMessageResources;
+import org.codehaus.waffle.registrar.Reference;
+import org.codehaus.waffle.registrar.ComponentReference;
+import org.codehaus.waffle.registrar.RequestParameterReference;
+import org.codehaus.waffle.registrar.RequestAttributeReference;
+import org.codehaus.waffle.registrar.SessionAttributeReference;
+import org.codehaus.waffle.registrar.ServletContextAttributeReference;
+import org.codehaus.waffle.WaffleException;
 
 /**
  * Implementations of this interface will find the correct PicoContainer Parameter needed based on the
@@ -11,13 +23,47 @@
  *
  * @author Michael Ward
  */
-public interface ParameterResolver {
+public class ParameterResolver {
+    private final StringTransmuter stringTransmuter;
+    private final MessageResources messageResources;
 
+    public ParameterResolver(StringTransmuter stringTransmuter) {
+        this(stringTransmuter, new DefaultMessageResources());
+    }
+
+    public ParameterResolver(StringTransmuter stringTransmuter, MessageResources messageResources) {
+        this.stringTransmuter = stringTransmuter;
+        this.messageResources = messageResources;
+    }
+
     /**
-     * Find the correct Parameter
+     * An argument of type Reference will be mapped to the correct Parameter implemntation while other types
+     * will be treated as a constant ({...@code ConstantParameter})
      *
-     * @param arg the argument to be resolved
+     * @param argument the argument to be resolved
      * @return the correct Parameter.
      */
-    Parameter resolve(Object arg);
+    public Parameter resolve(Object argument) {
+        if (argument instanceof Reference) {
+            Reference reference = (Reference) argument;
+
+            if (reference instanceof ComponentReference) {
+                return new ComponentParameter(reference.getKey());
+            } else if(reference instanceof RequestParameterReference) {
+                RequestParameterReference requestParameterReference = (RequestParameterReference) reference;
+                return new RequestParameterParameter(reference.getKey().toString(), stringTransmuter, requestParameterReference.getDefaultValue());
+            } else if(reference instanceof RequestAttributeReference) {
+                return new RequestAttributeParameter(reference.getKey().toString());
+            } else if(reference instanceof SessionAttributeReference) {
+                return new SessionAttributeParameter(reference.getKey().toString());
+            } else if(reference instanceof ServletContextAttributeReference) {
+                return new ServletContextAttributeParameter(reference.getKey().toString());
+            }
+        } else {
+            return new ConstantParameter(argument);
+        }
+
+        String message = messageResources.getMessageWithDefault("parameterNotResolved", "Unable to resolve parameter for argument ''{0}''", argument);
+        throw new WaffleException(message);
+    }
 }

Modified: sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/context/WaffleRequestFilterTest.java (874 => 875)

--- sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/context/WaffleRequestFilterTest.java	2009-01-15 12:31:24 UTC (rev 874)
+++ sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/context/WaffleRequestFilterTest.java	2009-01-15 12:42:17 UTC (rev 875)
@@ -3,6 +3,7 @@
 import org.codehaus.waffle.ComponentRegistry;
 import org.codehaus.waffle.WaffleException;
 import org.codehaus.waffle.testmodel.StubActionMethodExecutor;
+import org.codehaus.waffle.testmodel.StubParameterResolver;
 import org.codehaus.waffle.action.ActionMethodExecutor;
 import org.codehaus.waffle.registrar.pico.ParameterResolver;
 import org.codehaus.waffle.monitor.ContextMonitor;
@@ -105,7 +106,7 @@
         });
 
         // Mock ContextContainerFactory
-        final ContextContainerFactory contextContainerFactory = new ContextContainerFactory(mockery.mock(MessageResources.class), mockery.mock(ContextMonitor.class), mockery.mock(RegistrarMonitor.class), mockery.mock(ParameterResolver.class)) {
+        final ContextContainerFactory contextContainerFactory = new ContextContainerFactory(mockery.mock(MessageResources.class), mockery.mock(ContextMonitor.class), mockery.mock(RegistrarMonitor.class), new StubParameterResolver()) {
             public MutablePicoContainer buildRequestLevelContainer(HttpServletRequest request) {
                 return container;
             }

Modified: sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoWaffleContextListenerTest.java (874 => 875)

--- sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoWaffleContextListenerTest.java	2009-01-15 12:31:24 UTC (rev 874)
+++ sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoWaffleContextListenerTest.java	2009-01-15 12:42:17 UTC (rev 875)
@@ -10,6 +10,7 @@
 import org.codehaus.waffle.ComponentRegistry;
 import org.codehaus.waffle.Constants;
 import org.codehaus.waffle.WaffleException;
+import org.codehaus.waffle.testmodel.StubParameterResolver;
 import org.codehaus.waffle.registrar.pico.ParameterResolver;
 import org.codehaus.waffle.monitor.RegistrarMonitor;
 import org.codehaus.waffle.monitor.ContextMonitor;
@@ -40,7 +41,7 @@
 
         final StringBuilder sb = new StringBuilder();
         
-        final ContextContainerFactory contextContainerFactory = new ContextContainerFactory(mockery.mock(MessageResources.class), mockery.mock(ContextMonitor.class), mockery.mock(RegistrarMonitor.class), mockery.mock(ParameterResolver.class)) {
+        final ContextContainerFactory contextContainerFactory = new ContextContainerFactory(mockery.mock(MessageResources.class), mockery.mock(ContextMonitor.class), mockery.mock(RegistrarMonitor.class), new StubParameterResolver()) {
             public void initialize(ServletContext servletContext) throws WaffleException {
                 sb.append("init;");
             }
@@ -109,7 +110,7 @@
 
         final StringBuilder sb = new StringBuilder();
 
-        final ContextContainerFactory contextContainerFactory = new ContextContainerFactory(mockery.mock(MessageResources.class), mockery.mock(ContextMonitor.class), mockery.mock(RegistrarMonitor.class), mockery.mock(ParameterResolver.class)) {
+        final ContextContainerFactory contextContainerFactory = new ContextContainerFactory(mockery.mock(MessageResources.class), mockery.mock(ContextMonitor.class), mockery.mock(RegistrarMonitor.class), new StubParameterResolver()) {
             public MutablePicoContainer buildSessionLevelContainer() {
                 sb.append("bs;");
                 return container;

Modified: sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/DefaultPicoContainerParameterResolverTest.java (874 => 875)

--- sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/DefaultPicoContainerParameterResolverTest.java	2009-01-15 12:31:24 UTC (rev 874)
+++ sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/DefaultPicoContainerParameterResolverTest.java	2009-01-15 12:42:17 UTC (rev 875)
@@ -18,13 +18,13 @@
 
     @Test
     public void canResolveConstantParameters() {
-        ParameterResolver parameterResolver = new DefaultParameterResolver(null);
+        ParameterResolver parameterResolver = new ParameterResolver(null);
         Assert.assertTrue(parameterResolver.resolve("foobar") instanceof ConstantParameter);
     }
 
     @Test
     public void canResolveComponentParameters() {
-        ParameterResolver parameterResolver = new DefaultParameterResolver(null);
+        ParameterResolver parameterResolver = new ParameterResolver(null);
         Reference reference = new ComponentReference("foo");
 
         Assert.assertTrue(parameterResolver.resolve(reference) instanceof ComponentParameter);
@@ -32,7 +32,7 @@
 
     @Test
     public void canResolveRequestParameterParameter() {
-        ParameterResolver parameterResolver = new DefaultParameterResolver(null);
+        ParameterResolver parameterResolver = new ParameterResolver(null);
         Reference reference = new RequestParameterReference("foo");
 
         Assert.assertTrue(parameterResolver.resolve(reference) instanceof RequestParameterParameter);
@@ -40,7 +40,7 @@
     
     @Test
     public void canResolveRequestAttributeParameter() {
-        ParameterResolver parameterResolver = new DefaultParameterResolver(null);
+        ParameterResolver parameterResolver = new ParameterResolver(null);
         Reference reference = new RequestAttributeReference("foo");
 
         Assert.assertTrue(parameterResolver.resolve(reference) instanceof RequestAttributeParameter);
@@ -48,7 +48,7 @@
 
     @Test
     public void canResolveSessionAttributeParameter() {
-        ParameterResolver parameterResolver = new DefaultParameterResolver(null);
+        ParameterResolver parameterResolver = new ParameterResolver(null);
         Reference reference = new SessionAttributeReference("foo");
 
         Assert.assertTrue(parameterResolver.resolve(reference) instanceof SessionAttributeParameter);
@@ -56,7 +56,7 @@
 
     @Test
     public void canResolveServletContextAttributeParameter() {
-        ParameterResolver parameterResolver = new DefaultParameterResolver(null);
+        ParameterResolver parameterResolver = new ParameterResolver(null);
         Reference reference = new ServletContextAttributeReference("foo");
 
         Assert.assertTrue(parameterResolver.resolve(reference) instanceof ServletContextAttributeParameter);

Modified: sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/PicoRegistrarTest.java (874 => 875)

--- sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/PicoRegistrarTest.java	2009-01-15 12:31:24 UTC (rev 874)
+++ sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/PicoRegistrarTest.java	2009-01-15 12:42:17 UTC (rev 875)
@@ -209,7 +209,7 @@
     @Test
     public void canRegisterComponentWithConstantParameters() {
         MutablePicoContainer pico = new DefaultPicoContainer(new Caching(), new NullLifecycleStrategy(), new EmptyPicoContainer(), componentMonitor);
-        ParameterResolver parameterResolver = new DefaultParameterResolver(null);
+        ParameterResolver parameterResolver = new ParameterResolver(null);
         Registrar registrar = new PicoRegistrar(pico, parameterResolver, lifecycleStrategy, monitor, componentMonitor, messageResources);
 
         registrar.register("component", ComponentWithParameterDependencies.class, "foo", "bar");
@@ -224,7 +224,7 @@
     @Test
     public void canRegisterComponentWithNamedDependency() {
         MutablePicoContainer pico = new DefaultPicoContainer(new Caching(), new NullLifecycleStrategy(), new EmptyPicoContainer(), componentMonitor);
-        ParameterResolver parameterResolver = new DefaultParameterResolver(null);
+        ParameterResolver parameterResolver = new ParameterResolver(null);
         Registrar registrar = new PicoRegistrar(pico, parameterResolver, lifecycleStrategy, monitor, componentMonitor, messageResources);
 
         registrar.registerInstance("one", "foo")

Modified: sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubParameterResolver.java (874 => 875)

--- sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubParameterResolver.java	2009-01-15 12:31:24 UTC (rev 874)
+++ sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubParameterResolver.java	2009-01-15 12:42:17 UTC (rev 875)
@@ -4,9 +4,14 @@
 package org.codehaus.waffle.testmodel;
 
 import org.codehaus.waffle.registrar.pico.ParameterResolver;
+import org.codehaus.waffle.bind.StringTransmuter;
 import org.picocontainer.Parameter;
 
-public class StubParameterResolver implements ParameterResolver {
+public class StubParameterResolver extends ParameterResolver {
+    public StubParameterResolver() {
+        super(new StubStringTransmuter());    
+    }
+
     public Parameter resolve(Object arg) {
         return null;
     }

Modified: sandbox/v2experiment/waffle-mock/src/main/java/org/codehaus/waffle/mock/PicoRegistrarMockery.java (874 => 875)

--- sandbox/v2experiment/waffle-mock/src/main/java/org/codehaus/waffle/mock/PicoRegistrarMockery.java	2009-01-15 12:31:24 UTC (rev 874)
+++ sandbox/v2experiment/waffle-mock/src/main/java/org/codehaus/waffle/mock/PicoRegistrarMockery.java	2009-01-15 12:42:17 UTC (rev 875)
@@ -6,7 +6,6 @@
 import org.codehaus.waffle.context.pico.WaffleLifecycleStrategy;
 import org.codehaus.waffle.i18n.DefaultMessageResources;
 import org.codehaus.waffle.registrar.Registrar;
-import org.codehaus.waffle.registrar.pico.DefaultParameterResolver;
 import org.codehaus.waffle.registrar.pico.ParameterResolver;
 import org.codehaus.waffle.registrar.pico.PicoRegistrar;
 import org.picocontainer.LifecycleStrategy;
@@ -27,7 +26,7 @@
     protected Registrar createRegistrar(ContextContainer container) {
         LifecycleStrategy lifecycleStrategy = new WaffleLifecycleStrategy(new NullComponentMonitor());
         DefaultMessageResources messageResources = new DefaultMessageResources();
-        ParameterResolver parameterResolver = new DefaultParameterResolver(new DefaultStringTransmuter(
+        ParameterResolver parameterResolver = new ParameterResolver(new DefaultStringTransmuter(
                 new OgnlValueConverterFinder()), messageResources);
         return new PicoRegistrar((MutablePicoContainer) container.getDelegate(), parameterResolver, lifecycleStrategy,
                 getRegistrarMonitor(container), new NullComponentMonitor(), messageResources);

Modified: sandbox/v2experiment/waffle-testing/src/main/java/org/codehaus/waffle/testing/registrar/RegistrarHelper.java (874 => 875)

--- sandbox/v2experiment/waffle-testing/src/main/java/org/codehaus/waffle/testing/registrar/RegistrarHelper.java	2009-01-15 12:31:24 UTC (rev 874)
+++ sandbox/v2experiment/waffle-testing/src/main/java/org/codehaus/waffle/testing/registrar/RegistrarHelper.java	2009-01-15 12:42:17 UTC (rev 875)
@@ -30,8 +30,8 @@
 import org.codehaus.waffle.i18n.DefaultMessageResources;
 import org.codehaus.waffle.monitor.SilentMonitor;
 import org.codehaus.waffle.registrar.Registrar;
-import org.codehaus.waffle.registrar.pico.DefaultParameterResolver;
 import org.codehaus.waffle.registrar.pico.PicoRegistrar;
+import org.codehaus.waffle.registrar.pico.ParameterResolver;
 import org.picocontainer.DefaultPicoContainer;
 import org.picocontainer.MutablePicoContainer;
 import org.picocontainer.monitors.NullComponentMonitor;
@@ -123,7 +123,7 @@
             initContainer.addComponent(WaffleLifecycleStrategy.class);
             initContainer.addComponent(SilentMonitor.class);
             initContainer.addComponent(DefaultMessageResources.class);
-            initContainer.addComponent(DefaultParameterResolver.class);
+            initContainer.addComponent(ParameterResolver.class);
             initContainer.addComponent(DefaultStringTransmuter.class);
             initContainer.addComponent(OgnlValueConverterFinder.class);
             initContainer.addComponent(PicoRegistrar.class);


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to