KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > springframework > transaction > TestTransactionManager


1 /*
2  * Copyright 2002-2005 the original author or authors.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16
17 package org.springframework.transaction;
18
19 import org.springframework.transaction.support.AbstractPlatformTransactionManager;
20 import org.springframework.transaction.support.DefaultTransactionStatus;
21
22 /**
23  * @author Juergen Hoeller
24  * @since 29.04.2003
25  */

26 class TestTransactionManager extends AbstractPlatformTransactionManager {
27
28     private static final Object JavaDoc TRANSACTION = "transaction";
29
30     private final boolean existingTransaction;
31
32     private final boolean canCreateTransaction;
33
34     protected boolean begin = false;
35
36     protected boolean commit = false;
37
38     protected boolean rollback = false;
39
40     protected boolean rollbackOnly = false;
41
42     protected TestTransactionManager(boolean existingTransaction, boolean canCreateTransaction) {
43         this.existingTransaction = existingTransaction;
44         this.canCreateTransaction = canCreateTransaction;
45         setTransactionSynchronization(SYNCHRONIZATION_NEVER);
46     }
47
48     protected Object JavaDoc doGetTransaction() {
49         return TRANSACTION;
50     }
51
52     protected boolean isExistingTransaction(Object JavaDoc transaction) {
53         return existingTransaction;
54     }
55
56     protected void doBegin(Object JavaDoc transaction, TransactionDefinition definition) {
57         if (!TRANSACTION.equals(transaction)) {
58             throw new IllegalArgumentException JavaDoc("Not the same transaction object");
59         }
60         if (!this.canCreateTransaction) {
61             throw new CannotCreateTransactionException("Cannot create transaction");
62         }
63         this.begin = true;
64     }
65
66     protected void doCommit(DefaultTransactionStatus status) {
67         if (!TRANSACTION.equals(status.getTransaction())) {
68             throw new IllegalArgumentException JavaDoc("Not the same transaction object");
69         }
70         this.commit = true;
71     }
72
73     protected void doRollback(DefaultTransactionStatus status) {
74         if (!TRANSACTION.equals(status.getTransaction())) {
75             throw new IllegalArgumentException JavaDoc("Not the same transaction object");
76         }
77         this.rollback = true;
78     }
79
80     protected void doSetRollbackOnly(DefaultTransactionStatus status) {
81         if (!TRANSACTION.equals(status.getTransaction())) {
82             throw new IllegalArgumentException JavaDoc("Not the same transaction object");
83         }
84         this.rollbackOnly = true;
85     }
86
87 }
88
Popular Tags