summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/trunk')
-rw-r--r--sca-java-2.x/trunk/itest/policy-transaction/src/test/java/org/apache/tuscany/sca/itest/policy/transaction/CustomerTestCase.java2
-rw-r--r--sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionInterceptor.java13
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: