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 2011/06/02 19:32:21 UTC

svn commit: r1130675 - in /tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5: hibernate/HibernateModule.java internal/hibernate/CommitAfterWorker.java

Author: hlship
Date: Thu Jun  2 17:32:20 2011
New Revision: 1130675

URL: http://svn.apache.org/viewvc?rev=1130675&view=rev
Log:
TAP5-1508: Convert CommitAfterWork to the new interface

Modified:
    tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernateModule.java
    tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/CommitAfterWorker.java

Modified: tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernateModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernateModule.java?rev=1130675&r1=1130674&r2=1130675&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernateModule.java (original)
+++ tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernateModule.java Thu Jun  2 17:32:20 2011
@@ -37,6 +37,7 @@ import org.apache.tapestry5.services.Com
 import org.apache.tapestry5.services.LibraryMapping;
 import org.apache.tapestry5.services.PersistentFieldStrategy;
 import org.apache.tapestry5.services.ValueEncoderFactory;
+import org.apache.tapestry5.services.transform.ComponentClassTransformWorker2;
 import org.hibernate.Session;
 import org.hibernate.mapping.PersistentClass;
 
@@ -171,8 +172,9 @@ public class HibernateModule
      * Adds the CommitAfter annotation work, to process the
      * {@link org.apache.tapestry5.hibernate.annotations.CommitAfter} annotation.
      */
-    public static void contributeComponentClassTransformWorker(
-            OrderedConfiguration<ComponentClassTransformWorker> configuration)
+    @Contribute(ComponentClassTransformWorker2.class)
+    public static void provideCommitAfterAnnotationSupport(
+            OrderedConfiguration<ComponentClassTransformWorker2> configuration)
     {
         // If logging is enabled, we want logging to be the first advice, wrapping around the commit advice.
 

Modified: tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/CommitAfterWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/CommitAfterWorker.java?rev=1130675&r1=1130674&r2=1130675&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/CommitAfterWorker.java (original)
+++ tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/CommitAfterWorker.java Thu Jun  2 17:32:20 2011
@@ -17,20 +17,25 @@ package org.apache.tapestry5.internal.hi
 import org.apache.tapestry5.hibernate.HibernateSessionManager;
 import org.apache.tapestry5.hibernate.annotations.CommitAfter;
 import org.apache.tapestry5.model.MutableComponentModel;
-import org.apache.tapestry5.services.*;
+import org.apache.tapestry5.plastic.MethodAdvice;
+import org.apache.tapestry5.plastic.MethodInvocation;
+import org.apache.tapestry5.plastic.PlasticClass;
+import org.apache.tapestry5.plastic.PlasticMethod;
+import org.apache.tapestry5.services.transform.ComponentClassTransformWorker2;
+import org.apache.tapestry5.services.transform.TransformationSupport;
 
 /**
  * Searches for methods that have the {@link org.apache.tapestry5.hibernate.annotations.CommitAfter} annotation and adds
  * logic around the method to commit or abort the transaction. The commit/abort logic is the same as for the
  * {@link org.apache.tapestry5.hibernate.HibernateTransactionDecorator} service.
  */
-public class CommitAfterWorker implements ComponentClassTransformWorker
+public class CommitAfterWorker implements ComponentClassTransformWorker2
 {
     private final HibernateSessionManager manager;
 
-    private final ComponentMethodAdvice advice = new ComponentMethodAdvice()
+    private final MethodAdvice advice = new MethodAdvice()
     {
-        public void advise(ComponentMethodInvocation invocation)
+        public void advise(MethodInvocation invocation)
         {
             try
             {
@@ -54,9 +59,9 @@ public class CommitAfterWorker implement
         this.manager = manager;
     }
 
-    public void transform(ClassTransformation transformation, MutableComponentModel model)
+    public void transform(PlasticClass plasticClass, TransformationSupport support, MutableComponentModel model)
     {
-        for (TransformMethod method : transformation.matchMethodsWithAnnotation(CommitAfter.class))
+        for (PlasticMethod method : plasticClass.getMethodsWithAnnotation(CommitAfter.class))
         {
             method.addAdvice(advice);
         }