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)
{