You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2010/06/25 02:05:54 UTC

svn commit: r957760 - in /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform: ImportWorker.java PageResetAnnotationWorker.java

Author: hlship
Date: Fri Jun 25 00:05:53 2010
New Revision: 957760

URL: http://svn.apache.org/viewvc?rev=957760&view=rev
Log:
TAP5-1190: Refactor some existing code to use new ComponentInstanceOperation

Modified:
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ImportWorker.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/PageResetAnnotationWorker.java

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ImportWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ImportWorker.java?rev=957760&r1=957759&r2=957760&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ImportWorker.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ImportWorker.java Fri Jun 25 00:05:53 2010
@@ -29,15 +29,8 @@ import org.apache.tapestry5.ioc.Resource
 import org.apache.tapestry5.ioc.internal.util.Defense;
 import org.apache.tapestry5.ioc.services.SymbolSource;
 import org.apache.tapestry5.model.MutableComponentModel;
-import org.apache.tapestry5.services.AssetSource;
-import org.apache.tapestry5.services.ClassTransformation;
-import org.apache.tapestry5.services.ComponentClassTransformWorker;
-import org.apache.tapestry5.services.ComponentMethodAdvice;
-import org.apache.tapestry5.services.ComponentMethodInvocation;
-import org.apache.tapestry5.services.FieldAccess;
-import org.apache.tapestry5.services.TransformConstants;
-import org.apache.tapestry5.services.TransformField;
-import org.apache.tapestry5.services.TransformMethod;
+import org.apache.tapestry5.runtime.Component;
+import org.apache.tapestry5.services.*;
 import org.apache.tapestry5.services.javascript.JavascriptSupport;
 
 /**
@@ -219,19 +212,17 @@ public class ImportWorker implements Com
     private void addMethodAssetOperationAdvice(TransformMethod method, final FieldAccess access,
             final Worker<Asset> operation)
     {
-        ComponentMethodAdvice advice = new ComponentMethodAdvice()
+        ComponentInstanceOperation advice = new ComponentInstanceOperation()
         {
-            @SuppressWarnings("unchecked")
-            public void advise(ComponentMethodInvocation invocation)
+
+            public void invoke(Component instance)
             {
-                List<Asset> assets = (List<Asset>) access.read(invocation.getInstance());
+                List<Asset> assets = (List<Asset>) access.read(instance);
 
                 F.flow(assets).each(operation);
-
-                invocation.proceed();
             }
         };
 
-        method.addAdvice(advice);
+        method.addOperationBefore(advice);
     }
 }

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/PageResetAnnotationWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/PageResetAnnotationWorker.java?rev=957760&r1=957759&r2=957760&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/PageResetAnnotationWorker.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/PageResetAnnotationWorker.java Fri Jun 25 00:05:53 2010
@@ -22,15 +22,8 @@ import org.apache.tapestry5.internal.Int
 import org.apache.tapestry5.internal.structure.PageResetListener;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
 import org.apache.tapestry5.model.MutableComponentModel;
-import org.apache.tapestry5.services.ClassTransformation;
-import org.apache.tapestry5.services.ComponentClassTransformWorker;
-import org.apache.tapestry5.services.ComponentMethodAdvice;
-import org.apache.tapestry5.services.ComponentMethodInvocation;
-import org.apache.tapestry5.services.MethodAccess;
-import org.apache.tapestry5.services.MethodInvocationResult;
-import org.apache.tapestry5.services.TransformConstants;
-import org.apache.tapestry5.services.TransformMethod;
-import org.apache.tapestry5.services.TransformMethodSignature;
+import org.apache.tapestry5.runtime.Component;
+import org.apache.tapestry5.services.*;
 
 /**
  * Implementation of the {@link PageReset} annotation. Makes the component implement {@link PageResetListener}.
@@ -72,23 +65,17 @@ public class PageResetAnnotationWorker i
     {
         List<MethodAccess> methodAccess = convertToMethodAccess(methods);
 
-        ComponentMethodAdvice advice = createMethodAccessAdvice(methodAccess);
+        ComponentInstanceOperation advice = createMethodAccessAdvice(methodAccess);
 
-        transformation.getOrCreateMethod(CONTAINING_PAGE_DID_RESET).addAdvice(advice);
+        transformation.getOrCreateMethod(CONTAINING_PAGE_DID_RESET).addOperationAfter(advice);
     }
 
-    private ComponentMethodAdvice createMethodAccessAdvice(final List<MethodAccess> methodAccess)
+    private ComponentInstanceOperation createMethodAccessAdvice(final List<MethodAccess> methodAccess)
     {
-        return new ComponentMethodAdvice()
+        return new ComponentInstanceOperation()
         {
-            public void advise(ComponentMethodInvocation invocation)
-            {
-                invocation.proceed();
-
-                invokeResetMethods(invocation.getInstance());
-            }
 
-            private void invokeResetMethods(Object instance)
+            public void invoke(Component instance)
             {
                 for (MethodAccess access : methodAccess)
                 {