You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2011/07/08 01:50:41 UTC

svn commit: r1144095 - /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java

Author: hlship
Date: Thu Jul  7 23:50:41 2011
New Revision: 1144095

URL: http://svn.apache.org/viewvc?rev=1144095&view=rev
Log:
TAP5-1567: Contributions to the ValueEncoderSource service should allow bare ValueEncoders, which can be coerced to ValueEncoderFactory

Modified:
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java?rev=1144095&r1=1144094&r2=1144095&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java Thu Jul  7 23:50:41 2011
@@ -616,7 +616,6 @@ public final class TapestryModule
         configuration.add("RenderCommand", new RenderCommandWorker());
 
 
-
         configuration.addInstance("RenderPhase", RenderPhaseMethodWorker.class);
 
         // Ideally, these should be ordered pretty late in the process to make
@@ -998,6 +997,7 @@ public final class TapestryModule
      * <li>{@link Asset} to {@link Resource}</li>
      * <li>String to {@link JSONObject}</li>
      * <li>String to {@link JSONArray}</li>
+     * <li>{@link ValueEncoder} to {@link ValueEncoderFactory}</li>
      * </ul>
      */
     public static void contributeTypeCoercer(Configuration<CoercionTuple> configuration,
@@ -1174,6 +1174,14 @@ public final class TapestryModule
         configuration.add(CoercionTuple.create(String.class, JSONObject.class, new StringToJSONObject()));
 
         configuration.add(CoercionTuple.create(String.class, JSONArray.class, new StringToJSONArray()));
+
+        configuration.add(CoercionTuple.create(ValueEncoder.class, ValueEncoderFactory.class, new Coercion<ValueEncoder, ValueEncoderFactory>()
+        {
+            public ValueEncoderFactory coerce(ValueEncoder input)
+            {
+                return new GenericValueEncoderFactory(input);
+            }
+        }));
     }
 
     /**
@@ -2212,7 +2220,7 @@ public final class TapestryModule
     }
 
     /**
-     * Contributes {@link ValueEncoderFactory}s for types:
+     * Contributes {@link ValueEncoder}s or {@link ValueEncoderFactory}s for types:
      * <ul>
      * <li>Object
      * <li>String
@@ -2220,10 +2228,10 @@ public final class TapestryModule
      * </ul>
      */
     @SuppressWarnings("all")
-    public static void contributeValueEncoderSource(MappedConfiguration<Class, ValueEncoderFactory> configuration)
+    public static void contributeValueEncoderSource(MappedConfiguration<Class, Object> configuration)
     {
         configuration.addInstance(Object.class, TypeCoercedValueEncoderFactory.class);
-        configuration.add(String.class, GenericValueEncoderFactory.create(new StringValueEncoder()));
+        configuration.add(String.class, new StringValueEncoder());
         configuration.add(Enum.class, new EnumValueEncoderFactory());
     }