diff options
Diffstat (limited to 'sca-java-2.x/trunk')
2 files changed, 11 insertions, 4 deletions
diff --git a/sca-java-2.x/trunk/itest/policy-transaction/src/test/java/org/apache/tuscany/sca/itest/policy/transaction/CustomerTestCase.java b/sca-java-2.x/trunk/itest/policy-transaction/src/test/java/org/apache/tuscany/sca/itest/policy/transaction/CustomerTestCase.java index eb1b2b406e..2d83cd0ee5 100644 --- a/sca-java-2.x/trunk/itest/policy-transaction/src/test/java/org/apache/tuscany/sca/itest/policy/transaction/CustomerTestCase.java +++ b/sca-java-2.x/trunk/itest/policy-transaction/src/test/java/org/apache/tuscany/sca/itest/policy/transaction/CustomerTestCase.java @@ -26,13 +26,11 @@ import org.apache.tuscany.sca.node.NodeFactory; import org.junit.AfterClass; import org.junit.Assert; import org.junit.BeforeClass; -import org.junit.Ignore; import org.junit.Test; import customer.Customer; import customer.CustomerRegistry; -@Ignore public class CustomerTestCase { private static Node node; diff --git a/sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionInterceptor.java b/sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionInterceptor.java index 0d72fa5520..f6e0e87ece 100644 --- a/sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionInterceptor.java +++ b/sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionInterceptor.java @@ -76,15 +76,24 @@ public class TransactionInterceptor implements PhasedInterceptor { if (msg.getOperation().isNonBlocking()) { } - TransactionIntent interactionIntent = TransactionIntent.propagatesTransacton; + + // initialize default values + TransactionIntent interactionIntent = null; //TransactionIntent.propagatesTransacton; + TransactionIntent implementationIntent = TransactionIntent.managedTransactionGlobal; + if (interactionPolicy != null) { if (interactionPolicy.getAction() == TransactionPolicy.Action.PROPAGATE) { interactionIntent = TransactionIntent.propagatesTransacton; + } else if (interactionPolicy.getAction() == TransactionPolicy.Action.REQUIRE_NONE) { + interactionIntent = TransactionIntent.suspendsTransaction; + if(implementationPolicy == null) { + implementationIntent = TransactionIntent.noManagedTransaction; + } } else { interactionIntent = TransactionIntent.suspendsTransaction; } } - TransactionIntent implementationIntent = TransactionIntent.managedTransactionGlobal; + if (implementationPolicy != null) { switch (implementationPolicy.getAction()) { case REQUIRE_GLOBAL: |