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);
}