Author: hlship
Date: Sun Jul 24 02:17:43 2011
New Revision: 1150251

URL: http://svn.apache.org/viewvc?rev=1150251&view=rev
Log:
TAP5-1508: Recode MixinAfterWorker using CCTW2

Modified:
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/MixinAfterWorker.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/MixinAfterWorkerTest.java

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/MixinAfterWorker.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/MixinAfterWorker.java?rev=1150251&r1=1150250&r2=1150251&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/MixinAfterWorker.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/MixinAfterWorker.java
 Sun Jul 24 02:17:43 2011
@@ -1,4 +1,4 @@
-// Copyright 2006 The Apache Software Foundation
+// Copyright 2006, 2011 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -16,20 +16,21 @@ package org.apache.tapestry5.internal.tr
 
 import org.apache.tapestry5.annotations.MixinAfter;
 import org.apache.tapestry5.model.MutableComponentModel;
-import org.apache.tapestry5.services.ClassTransformation;
-import org.apache.tapestry5.services.ComponentClassTransformWorker;
+import org.apache.tapestry5.plastic.PlasticClass;
+import org.apache.tapestry5.services.transform.ComponentClassTransformWorker2;
+import org.apache.tapestry5.services.transform.TransformationSupport;
 
 /**
  * Looks for the {@link org.apache.tapestry5.annotations.MixinAfter} 
annotation and sets the {@link
  * org.apache.tapestry5.model.ComponentModel#isMixinAfter() mixinAfter flag} 
if present.
  */
-public class MixinAfterWorker implements ComponentClassTransformWorker
+public class MixinAfterWorker implements ComponentClassTransformWorker2
 {
-
-    public void transform(ClassTransformation transformation, 
MutableComponentModel model)
+    public void transform(PlasticClass plasticClass, TransformationSupport 
support, MutableComponentModel model)
     {
-        if (transformation.getAnnotation(MixinAfter.class) != null)
+        if (plasticClass.hasAnnotation(MixinAfter.class))
+        {
             model.setMixinAfter(true);
+        }
     }
-
 }

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=1150251&r1=1150250&r2=1150251&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
 Sun Jul 24 02:17:43 2011
@@ -517,6 +517,7 @@ public final class TapestryModule
      * <dd>Checks for meta data annotations and adds it to the component 
model</dd>
      * <dt>PageActivationContext</dt> <dd>Support for {@link 
PageActivationContext} annotation</dd>
      * <dt>DiscardAfter</dt> <dd>Support for {@link DiscardAfter} method 
annotation </dd>
+     * <dt>MixinAfter</dt> <dd>Support for the {@link MixinAfter} mixin class 
annotation</dd>
      * <dt>Cached</dt>
      * <dd>Checks for the {@link org.apache.tapestry5.annotations.Cached} 
annotation</dd>
      * </dl>
@@ -534,6 +535,8 @@ public final class TapestryModule
 
         configuration.addInstance("OnEvent", OnEventWorker.class);
 
+        configuration.add("MixinAfter", new MixinAfterWorker());
+
         // These must come after Property, since they actually delete fields
         // that may still have the annotation
         configuration.addInstance("ApplicationState", 
ApplicationStateWorker.class, "after:Property");
@@ -622,7 +625,6 @@ public final class TapestryModule
         configuration.addInstance("InjectService", InjectServiceWorker.class);
         configuration.addInstance("InjectNamed", InjectNamedWorker.class);
 
-        configuration.add("MixinAfter", new MixinAfterWorker());
         configuration
                 .addInstance("ActivationRequestParameter", 
ActivationRequestParameterWorker.class, "after:OnEvent");
 

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/MixinAfterWorkerTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/MixinAfterWorkerTest.java?rev=1150251&r1=1150250&r2=1150251&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/MixinAfterWorkerTest.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/MixinAfterWorkerTest.java
 Sun Jul 24 02:17:43 2011
@@ -17,7 +17,7 @@ package org.apache.tapestry5.internal.tr
 import org.apache.tapestry5.annotations.MixinAfter;
 import org.apache.tapestry5.internal.test.InternalBaseTestCase;
 import org.apache.tapestry5.model.MutableComponentModel;
-import org.apache.tapestry5.services.ClassTransformation;
+import org.apache.tapestry5.plastic.PlasticClass;
 import org.testng.annotations.Test;
 
 public class MixinAfterWorkerTest extends InternalBaseTestCase
@@ -25,14 +25,14 @@ public class MixinAfterWorkerTest extend
     @Test
     public void annotation_not_present()
     {
-        ClassTransformation transformation = mockClassTransformation();
+        PlasticClass pc = newMock(PlasticClass.class);
         MutableComponentModel model = mockMutableComponentModel();
 
-        train_getAnnotation(transformation, MixinAfter.class, null);
+        expect(pc.hasAnnotation(MixinAfter.class)).andReturn(false);
 
         replay();
 
-        new MixinAfterWorker().transform(transformation, model);
+        new MixinAfterWorker().transform(pc, null, model);
 
         verify();
     }
@@ -40,16 +40,17 @@ public class MixinAfterWorkerTest extend
     @Test
     public void annotation_present()
     {
-        ClassTransformation transformation = mockClassTransformation();
+        PlasticClass pc = newMock(PlasticClass.class);
         MutableComponentModel model = mockMutableComponentModel();
-        MixinAfter annotation = newMock(MixinAfter.class);
 
-        train_getAnnotation(transformation, MixinAfter.class, annotation);
+
+        expect(pc.hasAnnotation(MixinAfter.class)).andReturn(true);
+
         model.setMixinAfter(true);
 
         replay();
 
-        new MixinAfterWorker().transform(transformation, model);
+        new MixinAfterWorker().transform(pc, null, model);
 
         verify();
     }


Reply via email to