[jboss-cvs] jboss-seam/src/main/org/jboss/seam/interceptors ...
Gavin King
gavin.king at jboss.com
Sat Dec 16 05:03:45 EST 2006
User: gavin
Date: 06/12/16 05:03:45
Modified: src/main/org/jboss/seam/interceptors
TransactionInterceptor.java
Log:
JBSEAM-595
Revision Changes Path
1.10 +16 -4 jboss-seam/src/main/org/jboss/seam/interceptors/TransactionInterceptor.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: TransactionInterceptor.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/interceptors/TransactionInterceptor.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- TransactionInterceptor.java 1 Nov 2006 02:54:02 -0000 1.9
+++ TransactionInterceptor.java 16 Dec 2006 10:03:45 -0000 1.10
@@ -1,6 +1,7 @@
package org.jboss.seam.interceptors;
import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Method;
import org.jboss.seam.annotations.AroundInvoke;
import org.jboss.seam.annotations.Interceptor;
@@ -26,17 +27,28 @@
}
@Override
- protected boolean isTransactional()
+ protected boolean isNewTransactionRequired(boolean transactionActive)
{
- return isTransactional( invocation.getMethod() ) ||
- isTransactional( getComponent().getBeanClass() );
+ return isNewTransactionRequired( invocation.getMethod(), getComponent().getBeanClass(), transactionActive );
}
- private boolean isTransactional(AnnotatedElement element)
+ private boolean isNewTransactionRequired(Method method, Class beanClass, boolean transactionActive)
+ {
+ return isTransactionAnnotationPresent(method) ?
+ isNewTransactionRequired(method, transactionActive) :
+ isTransactionAnnotationPresent(beanClass) && isNewTransactionRequired(beanClass, transactionActive);
+ }
+
+ private boolean isTransactionAnnotationPresent(AnnotatedElement element)
{
return element.isAnnotationPresent(Transactional.class);
}
+ private boolean isNewTransactionRequired(AnnotatedElement element, boolean transactionActive)
+ {
+ return element.getAnnotation(Transactional.class).value().isNewTransactionRequired(transactionActive);
+ }
+
}.workInTransaction();
}
More information about the jboss-cvs-commits
mailing list