Author: hlship
Date: Thu Jul 21 21:53:10 2011
New Revision: 1149382
URL: http://svn.apache.org/viewvc?rev=1149382&view=rev
Log:
TAP5-1508: Convert RetainWorker from CCTW to CCTW2
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/RetainWorker.java
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/internal/transform/RetainWorker.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/RetainWorker.java?rev=1149382&r1=1149381&r2=1149382&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/RetainWorker.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/RetainWorker.java
Thu Jul 21 21:53:10 2011
@@ -14,34 +14,29 @@
package org.apache.tapestry5.internal.transform;
-import java.util.List;
-
import org.apache.tapestry5.annotations.Retain;
import org.apache.tapestry5.model.MutableComponentModel;
-import org.apache.tapestry5.services.ClassTransformation;
-import org.apache.tapestry5.services.ComponentClassTransformWorker;
-import org.apache.tapestry5.services.TransformField;
+import org.apache.tapestry5.plastic.PlasticClass;
+import org.apache.tapestry5.plastic.PlasticField;
+import org.apache.tapestry5.services.transform.ComponentClassTransformWorker2;
+import org.apache.tapestry5.services.transform.TransformationSupport;
/**
* Identifies fields with the {@link org.apache.tapestry5.annotations.Retain}
annotation, and "claims" them so that no
* special work will occur on them. Retain has been deprecated in Tapestry 5.2
and will likely be removed in the future.
*/
-public final class RetainWorker implements ComponentClassTransformWorker
+public final class RetainWorker implements ComponentClassTransformWorker2
{
/**
- * Claims each field with the {@link
org.apache.tapestry5.annotations.Retain} annotation, claiming it using the
- * annotation as the tag.
+ * Claims each field with the {@link
org.apache.tapestry5.annotations.Retain} , claiming it using the
+ * annotation class (not the annotation instance, to avoid
+ * instantiating the annotation) as the tag.
*/
- @SuppressWarnings("deprecation")
- public void transform(ClassTransformation transformation,
MutableComponentModel model)
+ public void transform(PlasticClass plasticClass, TransformationSupport
support, MutableComponentModel model)
{
- List<TransformField> fields =
transformation.matchFieldsWithAnnotation(Retain.class);
-
- for (TransformField field : fields)
+ for (PlasticField field :
plasticClass.getFieldsWithAnnotation(Retain.class))
{
- Retain annotation = field.getAnnotation(Retain.class);
-
- field.claim(annotation);
+ field.claim(Retain.class);
}
}
}
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=1149382&r1=1149381&r2=1149382&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 21 21:53:10 2011
@@ -511,6 +511,8 @@ public final class TapestryModule
* <dd>Checks for the annotation</dd>
* <dt>RenderPhase</dt>
* <dd>Link in render phase methods</dd>
+ * <dt>Retain</dt>
+ * <dd>Allows fields to retain their values between requests</dd>
* <dt>Meta</dt>
* <dd>Checks for meta data annotations and adds it to the component
model</dd>
* </dl>
@@ -558,6 +560,9 @@ public final class TapestryModule
configuration.add("Meta", metaWorker);
+ configuration.add("Retain", new RetainWorker());
+
+
// This one is always last. Any additional private fields that aren't
// annotated will
// be converted to clear out at the end of the request.
@@ -568,8 +573,6 @@ public final class TapestryModule
/**
* Adds a number of standard component class transform workers:
* <dl>
- * <dt>Retain</dt>
- * <dd>Allows fields to retain their values between requests</dd>
* <dt>Persist</dt>
* <dd>Allows fields to store their their value persistently between
requests</dd>
* <dt>Component</dt>
@@ -626,7 +629,6 @@ public final class TapestryModule
add(configuration, PageAttached.class,
TransformConstants.CONTAINING_PAGE_DID_ATTACH_SIGNATURE, "pageAttached");
add(configuration, PageDetached.class,
TransformConstants.CONTAINING_PAGE_DID_DETACH_SIGNATURE, "pageDetached");
- configuration.add("Retain", new RetainWorker());
configuration.addInstance("Persist", PersistWorker.class);
configuration.addInstance("DiscardAfter", DiscardAfterWorker.class);