org.jboss.txbridge.ba.aspect
Class JaxWSBAProcessingAspect

java.lang.Object
  extended by org.jboss.txbridge.ba.aspect.JaxWSBAProcessingAspect

public class JaxWSBAProcessingAspect
extends java.lang.Object

This aspect provides three advices: - process() - intercepts a call to a Business Activity service and applies necessary transaction-related mechanisms (handling a single invocation). - access() - used for transparently injecting the datamgmt manager associated with the current thread of execution. - access() - used to prevent from setting the datamgmt manager object.

Version:
0.1
Author:
Maciej P. Machulak (mmachulak@redhat.com)

Field Summary
private static BATransactionManager baTransactionManager
           
private static DataManagerProvider cmp
           
private static org.apache.log4j.Logger log
           
 
Constructor Summary
JaxWSBAProcessingAspect()
           
 
Method Summary
 java.lang.Object access(org.jboss.aop.joinpoint.FieldReadInvocation invocation)
          Advice that returns the required DataManager object for every read access to the DataManager object annotated by the @BADataManagement annotation.
 java.lang.Object access(org.jboss.aop.joinpoint.FieldWriteInvocation invocation)
          Advice that prevents from setting the annotated DataManager object.
private  java.lang.Object internalProcess(org.jboss.aop.joinpoint.MethodInvocation invocation)
          Advice that processes methods execution without applying any transactional mechanisms.
 java.lang.Object process(org.jboss.aop.joinpoint.MethodInvocation invocation)
          Advice that processes methods execution according to the BA management.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static org.apache.log4j.Logger log

baTransactionManager

private static BATransactionManager baTransactionManager

cmp

private static DataManagerProvider cmp
Constructor Detail

JaxWSBAProcessingAspect

public JaxWSBAProcessingAspect()
Method Detail

process

public java.lang.Object process(org.jboss.aop.joinpoint.MethodInvocation invocation)
                         throws java.lang.Throwable
Advice that processes methods execution according to the BA management.

Parameters:
invocation - is the method's invocation.
Returns:
the object returned by the method.
Throws:
java.lang.Throwable - is any exception that should be propagated.

internalProcess

private java.lang.Object internalProcess(org.jboss.aop.joinpoint.MethodInvocation invocation)
                                  throws java.lang.Throwable
Advice that processes methods execution without applying any transactional mechanisms.

Parameters:
invocation - is the method's invocation.
Returns:
the object returned by the method.
Throws:
java.lang.Throwable - is any exception that should be propagated.

access

public java.lang.Object access(org.jboss.aop.joinpoint.FieldReadInvocation invocation)
                        throws java.lang.Throwable
Advice that returns the required DataManager object for every read access to the DataManager object annotated by the @BADataManagement annotation.

Parameters:
invocation - is the read access of the DataManager field.
Returns:
the object returned by the method.
Throws:
java.lang.Throwable - is any exception that should be propagated.

access

public java.lang.Object access(org.jboss.aop.joinpoint.FieldWriteInvocation invocation)
                        throws java.lang.Throwable
Advice that prevents from setting the annotated DataManager object.

Parameters:
invocation - is the write access of the DataManager field.
Returns:
the object returned by the method.
Throws:
java.lang.Throwable - is any exception that should be propagated.