From 2e5c11e6a90f8979819c19fa497e7f39f0c9af0c Mon Sep 17 00:00:00 2001 From: lresende Date: Wed, 3 Mar 2010 23:21:03 +0000 Subject: TUSCANY-3477 - Tyding up defaults in the transaction invoker to address test case failures with IncompatibleIntentException git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@918763 13f79535-47bb-0310-9956-ffa450edef68 --- .../policy/transaction/runtime/TransactionInterceptor.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/java/org') 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: -- cgit v1.2.3