You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mb...@apache.org on 2017/12/16 17:28:52 UTC
svn commit: r1818441 -
/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/
Author: mbrohl
Date: Sat Dec 16 17:28:52 2017
New Revision: 1818441
URL: http://svn.apache.org/viewvc?rev=1818441&view=rev
Log:
Improved: General refactoring and code improvements, package
org.apache.ofbiz.entity.transaction.
(OFBIZ-9962)
I added some additional debug conditions.
Thanks Dennis Balkir for reporting and providing the patches.
Modified:
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/DebugXaResource.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/DumbTransactionFactory.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/GenericXaResource.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/GeronimoTransactionFactory.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/JNDITransactionFactory.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/TransactionUtil.java
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/DebugXaResource.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/DebugXaResource.java?rev=1818441&r1=1818440&r2=1818441&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/DebugXaResource.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/DebugXaResource.java Sat Dec 16 17:28:52 2017
@@ -39,13 +39,17 @@ public class DebugXaResource extends Gen
@Override
public void commit(Xid xid, boolean onePhase) throws XAException {
TransactionUtil.debugResMap.remove(xid);
- if (Debug.verboseOn()) Debug.logVerbose("Xid : " + xid.toString() + " cleared [commit]", module);
+ if (Debug.verboseOn()) {
+ Debug.logVerbose("Xid : " + xid.toString() + " cleared [commit]", module);
+ }
}
@Override
public void rollback(Xid xid) throws XAException {
TransactionUtil.debugResMap.remove(xid);
- if (Debug.verboseOn()) Debug.logVerbose("Xid : " + xid.toString() + " cleared [rollback]", module);
+ if (Debug.verboseOn()) {
+ Debug.logVerbose("Xid : " + xid.toString() + " cleared [rollback]", module);
+ }
}
@Override
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/DumbTransactionFactory.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/DumbTransactionFactory.java?rev=1818441&r1=1818440&r2=1818441&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/DumbTransactionFactory.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/DumbTransactionFactory.java Sat Dec 16 17:28:52 2017
@@ -113,10 +113,9 @@ public class DumbTransactionFactory impl
if (datasourceInfo.getInlineJdbc() != null) {
Connection otherCon = ConnectionFactoryLoader.getInstance().getConnection(helperInfo, datasourceInfo.getInlineJdbc());
return TransactionUtil.getCursorConnection(helperInfo, otherCon);
- } else {
- Debug.logError("Dumb/Empty is the configured transaction manager but no inline-jdbc element was specified in the " + helperInfo.getHelperBaseName() + " datasource. Please check your configuration", module);
- return null;
}
+ Debug.logError("Dumb/Empty is the configured transaction manager but no inline-jdbc element was specified in the " + helperInfo.getHelperBaseName() + " datasource. Please check your configuration", module);
+ return null;
}
public void shutdown() {}
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/GenericXaResource.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/GenericXaResource.java?rev=1818441&r1=1818440&r2=1818441&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/GenericXaResource.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/GenericXaResource.java Sat Dec 16 17:28:52 2017
@@ -86,9 +86,8 @@ public abstract class GenericXaResource
if (this.active) {
if (this.xid != null && this.xid.equals(xid)) {
throw new XAException(XAException.XAER_DUPID);
- } else {
- throw new XAException(XAException.XAER_PROTO);
}
+ throw new XAException(XAException.XAER_PROTO);
}
if (this.xid != null && !this.xid.equals(xid)) {
throw new XAException(XAException.XAER_NOTA);
@@ -145,9 +144,8 @@ public abstract class GenericXaResource
public Xid[] recover(int flag) throws XAException {
if (this.xid == null) {
return new Xid[0];
- } else {
- return new Xid[] {this.xid};
}
+ return new Xid[] {this.xid};
}
/**
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/GeronimoTransactionFactory.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/GeronimoTransactionFactory.java?rev=1818441&r1=1818440&r2=1818441&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/GeronimoTransactionFactory.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/GeronimoTransactionFactory.java Sat Dec 16 17:28:52 2017
@@ -77,19 +77,12 @@ public class GeronimoTransactionFactory
if (datasourceInfo != null && datasourceInfo.getInlineJdbc() != null) {
return ConnectionFactoryLoader.getInstance().getConnection(helperInfo, datasourceInfo.getInlineJdbc());
- } else {
- Debug.logError("Geronimo is the configured transaction manager but no inline-jdbc element was specified in the " + helperInfo.getHelperBaseName() + " datasource. Please check your configuration", module);
- return null;
}
+ Debug.logError("Geronimo is the configured transaction manager but no inline-jdbc element was specified in the " + helperInfo.getHelperBaseName() + " datasource. Please check your configuration", module);
+ return null;
}
public void shutdown() {
ConnectionFactoryLoader.getInstance().closeAll();
- /*
- if (transactionContextManager != null) {
- // TODO: need to do anything for this?
- transactionContextManager = null;
- }
- */
}
}
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/JNDITransactionFactory.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/JNDITransactionFactory.java?rev=1818441&r1=1818440&r2=1818441&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/JNDITransactionFactory.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/JNDITransactionFactory.java Sat Dec 16 17:28:52 2017
@@ -54,8 +54,7 @@ public class JNDITransactionFactory impl
volatile TransactionManager transactionManager = null;
volatile UserTransaction userTransaction = null;
- // protected static UtilCache dsCache = new UtilCache("entity.JndiDataSources", 0, 0);
- protected static final ConcurrentHashMap<String, DataSource> dsCache = new ConcurrentHashMap<String, DataSource>();
+ protected static final ConcurrentHashMap<String, DataSource> dsCache = new ConcurrentHashMap<>();
public TransactionManager getTransactionManager() {
if (transactionManager == null) {
@@ -67,8 +66,6 @@ public class JNDITransactionFactory impl
String jndiServerName = EntityConfig.getInstance().getTransactionFactory().getTransactionManagerJndi().getJndiServerName();
if (UtilValidate.isNotEmpty(jndiName)) {
- // if (Debug.verboseOn()) Debug.logVerbose("[JNDITransactionFactory.getTransactionManager] Trying JNDI name " + jndiName, module);
-
try {
InitialContext ic = JNDIContextFactory.getInitialContext(jndiServerName);
@@ -140,35 +137,34 @@ public class JNDITransactionFactory impl
String jndiName = jndiJdbcElement.getJndiName();
String jndiServerName = jndiJdbcElement.getJndiServerName();
Connection con = getJndiConnection(jndiName, jndiServerName);
- if (con != null) return TransactionUtil.getCursorConnection(helperInfo, con);
+ if (con != null) {
+ return TransactionUtil.getCursorConnection(helperInfo, con);
+ }
} else {
- // Debug.logError("JNDI loaded is the configured transaction manager but no jndi-jdbc element was specified in the " + helperName + " datasource. Please check your configuration.", module);
}
if (datasourceInfo.getInlineJdbc() != null) {
Connection otherCon = ConnectionFactoryLoader.getInstance().getConnection(helperInfo, datasourceInfo.getInlineJdbc());
return TransactionUtil.getCursorConnection(helperInfo, otherCon);
- } else {
- //no real need to print an error here
- return null;
}
+ //no real need to print an error here
+ return null;
}
public static Connection getJndiConnection(String jndiName, String jndiServerName) throws SQLException, GenericEntityException {
- // if (Debug.verboseOn()) Debug.logVerbose("Trying JNDI name " + jndiName, module);
DataSource ds = dsCache.get(jndiName);
if (ds != null) {
if (ds instanceof XADataSource) {
XADataSource xads = (XADataSource) ds;
return TransactionUtil.enlistConnection(xads.getXAConnection());
- } else {
- return ds.getConnection();
}
+ return ds.getConnection();
}
try {
- if (Debug.infoOn())
+ if (Debug.infoOn()) {
Debug.logInfo("Doing JNDI lookup for name " + jndiName, module);
+ }
InitialContext ic = JNDIContextFactory.getInitialContext(jndiServerName);
if (ic != null) {
@@ -178,29 +174,31 @@ public class JNDITransactionFactory impl
}
if (ds != null) {
- if (Debug.verboseOn())
- if (Debug.verboseOn()) Debug.logVerbose("Got a Datasource object.", module);
+ if (Debug.verboseOn()) {
+ Debug.logVerbose("Got a Datasource object.", module);
+ }
dsCache.putIfAbsent(jndiName, ds);
ds = dsCache.get(jndiName);
Connection con;
if (ds instanceof XADataSource) {
- if (Debug.infoOn())
+ if (Debug.infoOn()) {
Debug.logInfo("Got XADataSource for name " + jndiName, module);
+ }
XADataSource xads = (XADataSource) ds;
XAConnection xac = xads.getXAConnection();
con = TransactionUtil.enlistConnection(xac);
} else {
- if (Debug.infoOn())
+ if (Debug.infoOn()) {
Debug.logInfo("Got DataSource for name " + jndiName, module);
+ }
con = ds.getConnection();
}
return con;
- } else {
- Debug.logError("Datasource returned was NULL.", module);
}
+ Debug.logError("Datasource returned was NULL.", module);
} catch (NamingException ne) {
Debug.logWarning(ne, "Failed to find DataSource named " + jndiName + " in JNDI server with name " + jndiServerName + ". Trying normal database.", module);
} catch (GenericConfigException gce) {
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/TransactionUtil.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/TransactionUtil.java?rev=1818441&r1=1818440&r2=1818441&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/TransactionUtil.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/transaction/TransactionUtil.java Sat Dec 16 17:28:52 2017
@@ -64,14 +64,14 @@ public final class TransactionUtil imple
// Debug module name
public static final String module = TransactionUtil.class.getName();
- private static ThreadLocal<List<Transaction>> suspendedTxStack = new ThreadLocal<List<Transaction>>();
- private static ThreadLocal<List<Exception>> suspendedTxLocationStack = new ThreadLocal<List<Exception>>();
- private static ThreadLocal<Exception> transactionBeginStack = new ThreadLocal<Exception>();
- private static ThreadLocal<List<Exception>> transactionBeginStackSave = new ThreadLocal<List<Exception>>();
- private static ThreadLocal<RollbackOnlyCause> setRollbackOnlyCause = new ThreadLocal<RollbackOnlyCause>();
- private static ThreadLocal<List<RollbackOnlyCause>> setRollbackOnlyCauseSave = new ThreadLocal<List<RollbackOnlyCause>>();
- private static ThreadLocal<Timestamp> transactionStartStamp = new ThreadLocal<Timestamp>();
- private static ThreadLocal<Timestamp> transactionLastNowStamp = new ThreadLocal<Timestamp>();
+ private static ThreadLocal<List<Transaction>> suspendedTxStack = new ThreadLocal<>();
+ private static ThreadLocal<List<Exception>> suspendedTxLocationStack = new ThreadLocal<>();
+ private static ThreadLocal<Exception> transactionBeginStack = new ThreadLocal<>();
+ private static ThreadLocal<List<Exception>> transactionBeginStackSave = new ThreadLocal<>();
+ private static ThreadLocal<RollbackOnlyCause> setRollbackOnlyCause = new ThreadLocal<>();
+ private static ThreadLocal<List<RollbackOnlyCause>> setRollbackOnlyCauseSave = new ThreadLocal<>();
+ private static ThreadLocal<Timestamp> transactionStartStamp = new ThreadLocal<>();
+ private static ThreadLocal<Timestamp> transactionLastNowStamp = new ThreadLocal<>();
private static final boolean debugResources = readDebugResources();
public static final Map<Xid, DebugXaResource> debugResMap = Collections.<Xid, DebugXaResource>synchronizedMap(new HashMap<Xid, DebugXaResource>());
@@ -89,17 +89,11 @@ public final class TransactionUtil imple
}
public static <V> NoTransaction<V> noTransaction(Callable<V> callable) {
- return new NoTransaction<V>(callable);
+ return new NoTransaction<>(callable);
}
- // This syntax is groovy compatible, with the primary(callable) as the first arg.
- // You could do:
- // use (TransactionUtil) {
- // Callable callable = ....
- // Object result = callable.noTransaction().inTransaction(ifError, timeout, print).call()
- // }
public static <V> InTransaction<V> inTransaction(Callable<V> callable, String ifErrorMessage, int timeout, boolean printException) {
- return new InTransaction<V>(callable, ifErrorMessage, timeout, printException);
+ return new InTransaction<>(callable, ifErrorMessage, timeout, printException);
}
/** Begins a transaction in the current thread IF transactions are available; only
@@ -141,9 +135,8 @@ public final class TransactionUtil imple
// do we have a cause? if so, throw special exception
if (UtilValidate.isNotEmpty(roc)) {
throw new GenericTransactionException("The current transaction is marked for rollback, not beginning a new transaction and aborting current operation; the rollbackOnly was caused by: " + roc.getCauseMessage(), roc.getCauseThrowable());
- } else {
- return false;
}
+ return false;
}
internalBegin(ut, timeout);
@@ -171,10 +164,11 @@ public final class TransactionUtil imple
} catch (SystemException e) {
throw new GenericTransactionException("System error, could not begin transaction", e);
}
- } else {
- if (Debug.infoOn()) Debug.logInfo("No user transaction, so no transaction begun", module);
- return false;
}
+ if (Debug.infoOn()) {
+ Debug.logInfo("No user transaction, so no transaction begun", module);
+ }
+ return false;
}
protected static void internalBegin(UserTransaction ut, int timeout) throws SystemException, NotSupportedException {
@@ -208,9 +202,8 @@ public final class TransactionUtil imple
} catch (SystemException e) {
throw new GenericTransactionException("System error, could not get status", e);
}
- } else {
- return STATUS_NO_TRANSACTION;
}
+ return STATUS_NO_TRANSACTION;
}
public static String getStatusString() throws GenericTransactionException {
@@ -221,9 +214,8 @@ public final class TransactionUtil imple
int status = getStatus();
if (status == STATUS_NO_TRANSACTION) {
return false;
- } else {
- return true;
}
+ return true;
}
@@ -269,10 +261,9 @@ public final class TransactionUtil imple
Debug.logError(e, "Rollback Only was set when trying to commit transaction here; throwing rollbackOnly cause exception", module);
throw new GenericTransactionException("Roll back error, could not commit transaction, was rolled back instead because of: " + rollbackOnlyCause.getCauseMessage(), rollbackOnlyCause.getCauseThrowable());
- } else {
- Throwable t = e.getCause() == null ? e : e.getCause();
- throw new GenericTransactionException("Roll back error (with no rollbackOnly cause found), could not commit transaction, was rolled back instead: " + t.toString(), t);
}
+ Throwable t = e.getCause() == null ? e : e.getCause();
+ throw new GenericTransactionException("Roll back error (with no rollbackOnly cause found), could not commit transaction, was rolled back instead: " + t.toString(), t);
} catch (IllegalStateException e) {
Throwable t = e.getCause() == null ? e : e.getCause();
throw new GenericTransactionException("Could not commit transaction, IllegalStateException exception: " + t.toString(), t);
@@ -315,10 +306,11 @@ public final class TransactionUtil imple
if (ut != null) {
try {
int status = ut.getStatus();
- if (Debug.verboseOn()) Debug.logVerbose("Current status : " + getTransactionStateString(status), module);
+ if (Debug.verboseOn()) {
+ Debug.logVerbose("Current status : " + getTransactionStateString(status), module);
+ }
if (status != STATUS_NO_TRANSACTION) {
- //if (Debug.infoOn()) Thread.dumpStack();
if (causeThrowable == null && Debug.infoOn()) {
Exception newE = new Exception("Stack Trace");
Debug.logError(newE, "[TransactionUtil.rollback]", module);
@@ -331,7 +323,9 @@ public final class TransactionUtil imple
clearSetRollbackOnlyCause();
ut.rollback();
- Debug.logInfo("Transaction rolled back", module);
+ if (Debug.infoOn()) {
+ Debug.logInfo("Transaction rolled back", module);
+ }
} else {
Debug.logWarning("Transaction not rolled back, status is STATUS_NO_TRANSACTION", module);
}
@@ -343,7 +337,9 @@ public final class TransactionUtil imple
throw new GenericTransactionException("System error, could not rollback transaction: " + t.toString(), t);
}
} else {
- Debug.logInfo("No UserTransaction, transaction not rolled back", module);
+ if (Debug.infoOn()) {
+ Debug.logInfo("No UserTransaction, transaction not rolled back", module);
+ }
}
}
@@ -353,7 +349,9 @@ public final class TransactionUtil imple
if (ut != null) {
try {
int status = ut.getStatus();
- if (Debug.verboseOn()) Debug.logVerbose("Current code : " + getTransactionStateString(status), module);
+ if (Debug.verboseOn()) {
+ Debug.logVerbose("Current code : " + getTransactionStateString(status), module);
+ }
if (status != STATUS_NO_TRANSACTION) {
if (status != STATUS_MARKED_ROLLBACK) {
@@ -363,10 +361,14 @@ public final class TransactionUtil imple
ut.setRollbackOnly();
setSetRollbackOnlyCause(causeMessage, causeThrowable);
} else {
- Debug.logInfo("Transaction rollback only not set, rollback only is already set.", module);
+ if (Debug.infoOn()) {
+ Debug.logInfo("Transaction rollback only not set, rollback only is already set.", module);
+ }
}
} else {
- Debug.logWarning("Transaction rollback only not set, status is STATUS_NO_TRANSACTION", module);
+ if (Debug.warningOn()) {
+ Debug.logWarning("Transaction rollback only not set, status is STATUS_NO_TRANSACTION", module);
+ }
}
} catch (IllegalStateException e) {
Throwable t = e.getCause() == null ? e : e.getCause();
@@ -376,7 +378,9 @@ public final class TransactionUtil imple
throw new GenericTransactionException("System error, could not set rollback only on transaction: " + t.toString(), t);
}
} else {
- Debug.logInfo("No UserTransaction, transaction rollback only not set", module);
+ if (Debug.infoOn()) {
+ Debug.logInfo("No UserTransaction, transaction rollback only not set", module);
+ }
}
}
@@ -390,13 +394,13 @@ public final class TransactionUtil imple
Transaction trans = txMgr.suspend();
pushSuspendedTransaction(trans);
return trans;
- } else {
- return null;
}
- } else {
- Debug.logWarning("No transaction in place, so not suspending.", module);
return null;
}
+ if (Debug.warningOn()) {
+ Debug.logWarning("No transaction in place, so not suspending.", module);
+ }
+ return null;
} catch (SystemException e) {
throw new GenericTransactionException("System error, could not suspend transaction", e);
}
@@ -414,9 +418,7 @@ public final class TransactionUtil imple
txMgr.resume(parentTx);
removeSuspendedTransaction(parentTx);
}
- } catch (InvalidTransactionException e) {
- throw new GenericTransactionException("System error, could not resume transaction", e);
- } catch (SystemException e) {
+ } catch (InvalidTransactionException | SystemException e) {
throw new GenericTransactionException("System error, could not resume transaction", e);
}
}
@@ -577,7 +579,7 @@ public final class TransactionUtil imple
public static List<Transaction> getSuspendedTxStack() {
List<Transaction> tl = suspendedTxStack.get();
if (tl == null) {
- tl = new LinkedList<Transaction>();
+ tl = new LinkedList<>();
suspendedTxStack.set(tl);
}
return tl;
@@ -586,7 +588,7 @@ public final class TransactionUtil imple
public static List<Exception> getSuspendedTxLocationsStack() {
List<Exception> tl = suspendedTxLocationStack.get();
if (tl == null) {
- tl = new LinkedList<Exception>();
+ tl = new LinkedList<>();
suspendedTxLocationStack.set(tl);
}
return tl;
@@ -611,9 +613,8 @@ public final class TransactionUtil imple
stls.remove(0);
}
return tl.remove(0);
- } else {
- return null;
}
+ return null;
}
protected static void removeSuspendedTransaction(Transaction t) {
@@ -635,7 +636,7 @@ public final class TransactionUtil imple
// use the ThreadLocal one because it is more reliable than the all threads Map
List<Exception> el = transactionBeginStackSave.get();
if (el == null) {
- el = new LinkedList<Exception>();
+ el = new LinkedList<>();
transactionBeginStackSave.set(el);
}
el.add(0, e);
@@ -644,7 +645,7 @@ public final class TransactionUtil imple
Long curThreadId = Thread.currentThread().getId();
List<Exception> ctEl = allThreadsTransactionBeginStackSave.get(curThreadId);
if (ctEl == null) {
- ctEl = new LinkedList<Exception>();
+ ctEl = new LinkedList<>();
allThreadsTransactionBeginStackSave.put(curThreadId, ctEl);
}
ctEl.add(0, e);
@@ -664,30 +665,28 @@ public final class TransactionUtil imple
List<Exception> el = transactionBeginStackSave.get();
if (UtilValidate.isNotEmpty(el)) {
return el.remove(0);
- } else {
- return null;
}
+ return null;
}
public static int getTransactionBeginStackSaveSize() {
List<Exception> el = transactionBeginStackSave.get();
if (el != null) {
return el.size();
- } else {
- return 0;
}
+ return 0;
}
public static List<Exception> getTransactionBeginStackSave() {
List<Exception> el = transactionBeginStackSave.get();
- List<Exception> elClone = new LinkedList<Exception>();
+ List<Exception> elClone = new LinkedList<>();
elClone.addAll(el);
return elClone;
}
public static Map<Long, List<Exception>> getAllThreadsTransactionBeginStackSave() {
Map<Long, List<Exception>> attbssMap = allThreadsTransactionBeginStackSave;
- Map<Long, List<Exception>> attbssMapClone = new HashMap<Long, List<Exception>>();
+ Map<Long, List<Exception>> attbssMapClone = new HashMap<>();
attbssMapClone.putAll(attbssMap);
return attbssMapClone;
}
@@ -745,10 +744,9 @@ public final class TransactionUtil imple
Exception e2 = new Exception("Current Stack Trace");
Debug.logWarning(e2, "In clearTransactionBeginStack no stack placeholder was in place, here is the current location: ", module);
return null;
- } else {
- transactionBeginStack.set(null);
- return e;
}
+ transactionBeginStack.set(null);
+ return e;
}
public static Exception getTransactionBeginStack() {
@@ -791,7 +789,7 @@ public final class TransactionUtil imple
private static void pushSetRollbackOnlyCauseSave(RollbackOnlyCause e) {
List<RollbackOnlyCause> el = setRollbackOnlyCauseSave.get();
if (el == null) {
- el = new LinkedList<RollbackOnlyCause>();
+ el = new LinkedList<>();
setRollbackOnlyCauseSave.set(el);
}
el.add(0, e);
@@ -801,9 +799,8 @@ public final class TransactionUtil imple
List<RollbackOnlyCause> el = setRollbackOnlyCauseSave.get();
if (UtilValidate.isNotEmpty(el)) {
return el.remove(0);
- } else {
- return null;
}
+ return null;
}
private static void setSetRollbackOnlyCause(String causeMessage, Throwable causeThrowable) {
@@ -824,17 +821,10 @@ public final class TransactionUtil imple
private static RollbackOnlyCause clearSetRollbackOnlyCause() {
RollbackOnlyCause roc = setRollbackOnlyCause.get();
if (roc == null) {
- /* this is an obnoxious message, leaving out for now; could be added manually if a problem with this is suspected
- if (Debug.verboseOn()) {
- // for this in particular, unlike the begin location, normally there will not be a setRollbackOnlyCause, so don't complain about it except in verbose
- Debug.logVerbose(new Exception("Current Stack Trace"), "In clearSetRollbackOnlyCause no stack placeholder was in place, here is the current location: ", module);
- }
- */
return null;
- } else {
- setRollbackOnlyCause.set(null);
- return roc;
}
+ setRollbackOnlyCause.set(null);
+ return roc;
}
public static RollbackOnlyCause getSetRollbackOnlyCause() {
if (setRollbackOnlyCause.get() == null) {
@@ -971,11 +961,7 @@ public final class TransactionUtil imple
}
throw t;
}
- } catch (GenericEntityException e) {
- throw e;
- } catch (Error e) {
- throw e;
- } catch (RuntimeException e) {
+ } catch (GenericEntityException | Error | RuntimeException e) {
throw e;
} catch (Throwable t) {
throw new GenericEntityException(t);
@@ -1010,10 +996,7 @@ public final class TransactionUtil imple
}
throw t;
}
- } catch (Error e) {
- transactionAbortCause = e;
- throw e;
- } catch (RuntimeException e) {
+ } catch (Error | RuntimeException e) {
transactionAbortCause = e;
throw e;
} catch (Throwable t) {
@@ -1039,8 +1022,9 @@ public final class TransactionUtil imple
return con;
} else if (datasourceInfo.getUseProxyCursor()) {
try {
- if (datasourceInfo.getResultFetchSize() > 1)
+ if (datasourceInfo.getResultFetchSize() > 1) {
con = CursorConnection.newCursorConnection(con, datasourceInfo.getProxyCursorName(), datasourceInfo.getResultFetchSize());
+ }
} catch (Exception ex) {
Debug.logWarning(ex, "Error creating the cursor connection proxy " + helperInfo.getHelperBaseName() + " datasource.", module);
}