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());
}