Skip to content

Method: getTransaction()

1: /**
2: * Copyright (C) 2016 Czech Technical University in Prague
3: *
4: * This program is free software: you can redistribute it and/or modify it under
5: * the terms of the GNU General Public License as published by the Free Software
6: * Foundation, either version 3 of the License, or (at your option) any
7: * later version.
8: *
9: * This program is distributed in the hope that it will be useful, but WITHOUT
10: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11: * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12: * details. You should have received a copy of the GNU General Public License
13: * along with this program. If not, see <http://www.gnu.org/licenses/>.
14: */
15: package cz.cvut.kbss.jopa.transactions;
16:
17: import cz.cvut.kbss.jopa.model.AbstractEntityManager;
18: import cz.cvut.kbss.jopa.sessions.UnitOfWork;
19:
20: public class EntityTransactionWrapper extends TransactionWrapperImpl {
21:
22:         private EntityTransaction entityTransaction;
23:
24:         public EntityTransactionWrapper(AbstractEntityManager entityManger) {
25:                 super(entityManger);
26:         }
27:
28:         @Override
29:         public Object checkForTransaction() {
30:                 if (entityTransaction != null && entityTransaction.isActive()) {
31:                         return entityTransaction;
32:                 }
33:                 return null;
34:         }
35:
36:         @Override
37:         public void registerUOWWithTransaction(UnitOfWork uow) {
38:                 // throw new
39:                 // OWLPeristenceTransactionException("Calling JTA method in not-JTA environment");
40:
41:         }
42:
43:         public EntityTransaction getTransaction() {
44:•                if (entityTransaction == null) {
45:                         entityTransaction = new EntityTransactionImpl(this);
46:                 }
47:                 return entityTransaction;
48:         }
49:
50:         void begin() {
51:                 setTransactionUOW(getEntityManager().getCurrentPersistenceContext());
52:         }
53: }