Commit 7b9e3bb5d5c8314a4f38fdfc8a67760d42cd3ac4

Authored by Cleverson Sacramento
1 parent c3ddf670
Exists in master

Considerando mais status da transação JTA:

https://demoiselle.atlassian.net/browse/FWK-42
impl/extension/jta/src/main/java/br/gov/frameworkdemoiselle/transaction/JTATransaction.java
... ... @@ -37,18 +37,15 @@
37 37 package br.gov.frameworkdemoiselle.transaction;
38 38  
39 39 import static br.gov.frameworkdemoiselle.internal.implementation.StrategySelector.EXTENSIONS_L2_PRIORITY;
  40 +import static javax.transaction.Status.STATUS_MARKED_ROLLBACK;
  41 +import static javax.transaction.Status.STATUS_NO_TRANSACTION;
  42 +import static javax.transaction.Status.STATUS_ROLLEDBACK;
40 43  
41   -import javax.inject.Inject;
42   -import javax.transaction.Status;
43 44 import javax.transaction.SystemException;
44 45 import javax.transaction.UserTransaction;
45 46  
46   -import org.slf4j.Logger;
47   -
48   -import br.gov.frameworkdemoiselle.annotation.Name;
49 47 import br.gov.frameworkdemoiselle.annotation.Priority;
50 48 import br.gov.frameworkdemoiselle.util.Beans;
51   -import br.gov.frameworkdemoiselle.util.ResourceBundle;
52 49  
53 50 @Priority(EXTENSIONS_L2_PRIORITY)
54 51 public class JTATransaction implements Transaction {
... ... @@ -56,13 +53,6 @@ public class JTATransaction implements Transaction {
56 53 private static final long serialVersionUID = 1L;
57 54  
58 55 private UserTransaction delegate;
59   -
60   - @Inject
61   - private Logger logger;
62   -
63   - @Inject
64   - @Name("demoiselle-jta-bundle")
65   - private ResourceBundle bundle;
66 56  
67 57 public UserTransaction getDelegate() {
68 58  
... ... @@ -76,27 +66,7 @@ public class JTATransaction implements Transaction {
76 66 @Override
77 67 public boolean isActive() {
78 68 try {
79   - final int delegateStatus = getDelegate().getStatus();
80   -
81   - if (delegateStatus!=Status.STATUS_ACTIVE && delegateStatus!=Status.STATUS_NO_TRANSACTION){
82   - //Os status mais comuns do UserTransaction são: explicitamente ativa (STATUS_ACTIVE) ou explicitamente
83   - //desativada (STATUS_NO_TRANSACTION). Qualquer outro status "intermediário" é registrado em log para análise posterior
84   - String status;
85   - switch(delegateStatus){
86   - case Status.STATUS_COMMITTED: status="COMMITTED"; break;
87   - case Status.STATUS_COMMITTING: status="COMMITTING"; break;
88   - case Status.STATUS_MARKED_ROLLBACK: status="MARKED_ROLLBACK"; break;
89   - case Status.STATUS_PREPARED: status="PREPARED"; break;
90   - case Status.STATUS_PREPARING: status="PREPARING"; break;
91   - case Status.STATUS_ROLLEDBACK: status="ROLLEDBACK"; break;
92   - case Status.STATUS_ROLLING_BACK: status="ROLLING_BACK"; break;
93   - case Status.STATUS_UNKNOWN: status="UNKNOWN"; break;
94   - default: status="UNKNOWN";
95   - }
96   - logger.debug(bundle.getString("usertransaction-abnormal-status",status));
97   - }
98   -
99   - return delegateStatus != Status.STATUS_NO_TRANSACTION;
  69 + return getDelegate().getStatus() != STATUS_NO_TRANSACTION;
100 70  
101 71 } catch (SystemException cause) {
102 72 throw new TransactionException(cause);
... ... @@ -106,7 +76,8 @@ public class JTATransaction implements Transaction {
106 76 @Override
107 77 public boolean isMarkedRollback() {
108 78 try {
109   - return getDelegate().getStatus() == Status.STATUS_MARKED_ROLLBACK;
  79 + return getDelegate().getStatus() == STATUS_MARKED_ROLLBACK
  80 + || getDelegate().getStatus() == STATUS_ROLLEDBACK;
110 81  
111 82 } catch (SystemException cause) {
112 83 throw new TransactionException(cause);
... ...
impl/extension/jta/src/main/resources/demoiselle-jta-bundle.properties
... ... @@ -32,4 +32,3 @@
32 32 # "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>
33 33 # ou escreva para a Fundação do Software Livre (FSF) Inc.,
34 34 # 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
35   -usertransaction-abnormal-status=UserTransaction encontra-se em status anormal\: {0}
36 35 \ No newline at end of file
... ...