1717
1818import static org .seasar .doma .internal .util .AssertionUtil .assertNotNull ;
1919
20- import java .sql .Connection ;
2120import java .sql .Savepoint ;
2221import java .util .ArrayList ;
2322import java .util .HashMap ;
2423import java .util .List ;
2524import java .util .Map ;
26- import java .util .function .Function ;
2725import java .util .function .Supplier ;
2826
2927import org .seasar .doma .message .Message ;
@@ -38,50 +36,37 @@ public class LocalTransactionContext {
3836
3937 private final Map <String , Savepoint > savepointMap = new HashMap <String , Savepoint >();
4038
41- private final Supplier <Connection > connectionSupplier ;
42-
43- private Connection connection ;
44-
4539 private LocalTransactionConnection localTxConnection ;
4640
47- private Function < Connection , LocalTransactionConnection > connectionInitializer ;
41+ private Supplier < LocalTransactionConnection > localTxConnectionSupplier ;
4842
4943 private String id ;
5044
5145 private boolean rollbackOnly ;
5246
53- LocalTransactionContext (Supplier <Connection > connectionSupplier ) {
54- assertNotNull (connectionSupplier );
55- this .connectionSupplier = connectionSupplier ;
56- }
57-
58- void begin (
59- Function <Connection , LocalTransactionConnection > connectionInitializer ) {
60- assertNotNull (connectionInitializer );
61- id = String .valueOf (System .identityHashCode (connectionInitializer ));
62- this .connectionInitializer = connectionInitializer ;
47+ void begin (Supplier <LocalTransactionConnection > localTxConnectionSupplier ) {
48+ assertNotNull (localTxConnectionSupplier );
49+ id = String .valueOf (System .identityHashCode (localTxConnectionSupplier ));
50+ this .localTxConnectionSupplier = localTxConnectionSupplier ;
6351 }
6452
6553 void end () {
6654 id = null ;
67- connectionInitializer = null ;
55+ localTxConnectionSupplier = null ;
6856 }
6957
7058 LocalTransactionConnection getConnection () {
7159 if (localTxConnection == null ) {
72- if (connection == null ) {
73- connection = connectionSupplier .get ();
74- }
75- if (connectionInitializer == null ) {
60+ if (localTxConnectionSupplier == null ) {
7661 throw new TransactionNotYetBegunException (Message .DOMA2048 );
7762 }
78- localTxConnection = connectionInitializer . apply ( connection );
63+ localTxConnection = localTxConnectionSupplier . get ( );
7964 }
8065 return localTxConnection ;
8166 }
8267
8368 boolean hasConnection () {
84- return connection != null ;
69+ return localTxConnection != null ;
8570 }
8671
8772 Savepoint getSavepoint (String savepointName ) {
0 commit comments