From e5c80c72b282714c663da457de4cc932e9e221b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Sch=C3=B6neberg?= Date: Wed, 20 Sep 2017 10:08:22 +0200 Subject: [PATCH] not directly related cleanups: * AbstractTrxManager: user wrapIfNeeded which can return a more specific DBException subclass * Trx: remove unneeded ifs * TimeUtil and DBException: minor, see for yourself Prevent users from creating duplicate main prices #2510 --- .../org/adempiere/exceptions/DBException.java | 3 +- .../org/compiere/util/TimeUtil.java | 4 ++- .../java-legacy/org/compiere/util/Trx.java | 34 +++++++------------ .../ad/trx/api/impl/AbstractTrxManager.java | 2 +- 4 files changed, 18 insertions(+), 25 deletions(-) diff --git a/de.metas.adempiere.adempiere/base/src/main/java-legacy/org/adempiere/exceptions/DBException.java b/de.metas.adempiere.adempiere/base/src/main/java-legacy/org/adempiere/exceptions/DBException.java index c1cea7c231c..3b42422bddd 100644 --- a/de.metas.adempiere.adempiere/base/src/main/java-legacy/org/adempiere/exceptions/DBException.java +++ b/de.metas.adempiere.adempiere/base/src/main/java-legacy/org/adempiere/exceptions/DBException.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Objects; import org.adempiere.util.Check; import org.adempiere.util.exceptions.IExceptionWrapper; @@ -327,7 +328,7 @@ else if (e instanceof DBException) public static final boolean isSQLState(final Throwable e, final String sqlState) { final String exceptionSQLState = extractSQLStateOrNull(e); - return Check.equals(exceptionSQLState, sqlState); + return Objects.equals(exceptionSQLState, sqlState); } /** diff --git a/de.metas.adempiere.adempiere/base/src/main/java-legacy/org/compiere/util/TimeUtil.java b/de.metas.adempiere.adempiere/base/src/main/java-legacy/org/compiere/util/TimeUtil.java index 97b0d45d941..e5a730df119 100644 --- a/de.metas.adempiere.adempiere/base/src/main/java-legacy/org/compiere/util/TimeUtil.java +++ b/de.metas.adempiere.adempiere/base/src/main/java-legacy/org/compiere/util/TimeUtil.java @@ -1072,7 +1072,9 @@ public static Timestamp trunc(final Date dayTime, final String trunc) return new Timestamp(truncToMillis(dayTime, trunc)); } - public static long truncToMillis(Date dayTime, final String trunc) + public static long truncToMillis( + @Nullable Date dayTime, + final String trunc) { if (dayTime == null) { diff --git a/de.metas.adempiere.adempiere/base/src/main/java-legacy/org/compiere/util/Trx.java b/de.metas.adempiere.adempiere/base/src/main/java-legacy/org/compiere/util/Trx.java index 0fa62cc2766..f13a63a577e 100644 --- a/de.metas.adempiere.adempiere/base/src/main/java-legacy/org/compiere/util/Trx.java +++ b/de.metas.adempiere.adempiere/base/src/main/java-legacy/org/compiere/util/Trx.java @@ -259,32 +259,22 @@ protected boolean rollbackNative(boolean throwException) throws SQLException } // Case: we really have something to rollback (because connection was acquired and used) - if (connection != null) + try { - try - { - connection.rollback(); - log.debug("rollbackNative: OK - {}", trxName); - return true; - } - catch (SQLException e) - { - log.error("rollbackNative: FAILED - {} (throwException={})", trxName, throwException, e); - if (throwException) - { - throw e; - } - return false; - } + connection.rollback(); + log.debug("rollbackNative: OK - {}", trxName); + return true; } - // - // Case: nothing was done on this transaction (because connection is null, so it was not acquired) - else + catch (final SQLException e) { - // => consider this a success because if nothing was done then there is nothing to rollback - return true; + log.error("rollbackNative: FAILED - {} (throwException={})", trxName, throwException, e); + if (throwException) + { + throw e; + } + return false; } - } // rollback + } @Override protected boolean rollbackNative(ITrxSavepoint savepoint) throws SQLException diff --git a/de.metas.adempiere.adempiere/base/src/main/java/org/adempiere/ad/trx/api/impl/AbstractTrxManager.java b/de.metas.adempiere.adempiere/base/src/main/java/org/adempiere/ad/trx/api/impl/AbstractTrxManager.java index ccd173df3c5..409eb514df6 100644 --- a/de.metas.adempiere.adempiere/base/src/main/java/org/adempiere/ad/trx/api/impl/AbstractTrxManager.java +++ b/de.metas.adempiere.adempiere/base/src/main/java/org/adempiere/ad/trx/api/impl/AbstractTrxManager.java @@ -983,7 +983,7 @@ public void commit(final String trxName) } catch (final Exception e) { - throw new DBException(e); + throw DBException.wrapIfNeeded(e); } }