Author: bleny Date: 2013-07-05 17:01:09 +0200 (Fri, 05 Jul 2013) New Revision: 2740 Url: http://nuiton.org/projects/topia/repository/revisions/2740 Log: fixes #1945 now throws TopiaException everywhere Modified: trunk/topia-persistence/src/it/ANOMALIE-1640/src/test/java/org/nuiton/topia/testabstract/TopiaAbstractTest.java trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaSQLQuery.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperTransformer.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/csv/TopiaCsvCommons.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/csv/out/ExportEntityVisitor.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/csv/out/TopiaCsvExports.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata/AssociationMeta.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata/TableMeta.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationEngine.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/mappings/TMSVersionDAO.java trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractTopiaReplicationServiceTest.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAssociationAuthorizationImpl.java Modified: trunk/topia-persistence/src/it/ANOMALIE-1640/src/test/java/org/nuiton/topia/testabstract/TopiaAbstractTest.java =================================================================== --- trunk/topia-persistence/src/it/ANOMALIE-1640/src/test/java/org/nuiton/topia/testabstract/TopiaAbstractTest.java 2013-07-05 14:31:15 UTC (rev 2739) +++ trunk/topia-persistence/src/it/ANOMALIE-1640/src/test/java/org/nuiton/topia/testabstract/TopiaAbstractTest.java 2013-07-05 15:01:09 UTC (rev 2740) @@ -32,7 +32,7 @@ public class TopiaAbstractTest { @Test - public void testCreateCar() throws TopiaException { + public void testCreateCar() { TopiaContext context = TopiaContextFactory.getContext(); try { Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaSQLQuery.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaSQLQuery.java 2013-07-05 14:31:15 UTC (rev 2739) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaSQLQuery.java 2013-07-05 15:01:09 UTC (rev 2740) @@ -26,7 +26,6 @@ import org.hibernate.jdbc.Work; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.TopiaRuntimeException; import java.sql.Connection; import java.sql.PreparedStatement; @@ -89,7 +88,7 @@ findSingleResult(result, set); } catch (Exception e) { - throw new TopiaRuntimeException("Could not execute query", e); + throw new TopiaException("Could not execute query", e); } finally { ps.close(); } @@ -120,7 +119,7 @@ findMultipleResult(result, set); } catch (Exception e) { - throw new TopiaRuntimeException("Could not execute query", e); + throw new TopiaException("Could not execute query", e); } finally { ps.close(); } Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperTransformer.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperTransformer.java 2013-07-05 14:31:15 UTC (rev 2739) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperTransformer.java 2013-07-05 15:01:09 UTC (rev 2740) @@ -25,18 +25,21 @@ package org.nuiton.topia.generator; -import java.util.Set; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.eugene.java.ObjectModelTransformerToJava; +import org.nuiton.eugene.models.object.ObjectModel; +import org.nuiton.eugene.models.object.ObjectModelAttribute; +import org.nuiton.eugene.models.object.ObjectModelClass; +import org.nuiton.eugene.models.object.ObjectModelEnumeration; +import org.nuiton.eugene.models.object.ObjectModelJavaModifier; +import org.nuiton.eugene.models.object.ObjectModelOperation; import org.nuiton.eugene.models.object.ObjectModelType; -import org.nuiton.eugene.java.ObjectModelTransformerToJava; -import org.nuiton.eugene.models.object.*; import org.nuiton.eugene.models.object.xml.ObjectModelAttributeImpl; import org.nuiton.eugene.models.object.xml.ObjectModelEnumerationImpl; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.TopiaRuntimeException; import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.TopiaEntity; @@ -46,8 +49,8 @@ import java.lang.reflect.Array; import java.util.Arrays; -import java.util.Collection; import java.util.List; +import java.util.Set; /*{generator option: parentheses = false}*/ @@ -98,7 +101,6 @@ addImport(entityEnum, TopiaEntity.class); addImport(entityEnum, EntityOperatorStore.class); addImport(entityEnum, Arrays.class); - addImport(entityEnum, TopiaRuntimeException.class); addImport(entityEnum, ArrayUtils.class); } else { @@ -107,7 +109,6 @@ ObjectModelType.OBJECT_MODEL_ENUMERATION, entityEnumName ); - addImport(daoHelper, TopiaRuntimeException.class); addImport(daoHelper, TopiaEntityEnum.class); addImport(daoHelper, EntityOperatorStore.class); addImport(daoHelper, Arrays.class); @@ -476,7 +477,7 @@ try { implementation = (Class<? extends TopiaEntity>) Class.forName(implementationFQN); } catch (ClassNotFoundException e) { - throw new TopiaRuntimeException("could not find class " + implementationFQN, e); + throw new TopiaException("could not find class " + implementationFQN, e); } } return implementation; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java 2013-07-05 14:31:15 UTC (rev 2739) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java 2013-07-05 15:01:09 UTC (rev 2740) @@ -47,7 +47,6 @@ import org.hibernate.Session; import org.hibernate.metadata.ClassMetadata; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.TopiaRuntimeException; import org.nuiton.topia.event.TopiaEntityListener; import org.nuiton.topia.event.TopiaEntityVetoable; import org.nuiton.topia.framework.TopiaContextImplementor; @@ -858,26 +857,23 @@ this.type = type; this.hql = hql; this.params = params; - try { - String hql2 = hql.toLowerCase(); - int i = hql2.indexOf("order by"); - if (i == -1) { - throw new IllegalStateException( - "must have a *order by* in hql, " + - "but did not find it in " + hql); - } - // get the count (removing the order-by) - long count2 = dao.countByQuery("SELECT COUNT(*) " + - hql.substring(0, i), params); - pager = new TopiaPagerBean(); - pager.setRecords(count2); - pager.setPageSize(batchSize); - PagerBeanUtil.computeRecordIndexesAndPagesNumber(pager); - } catch (TopiaException e) { - throw new TopiaRuntimeException(e); + String hql2 = hql.toLowerCase(); + int i = hql2.indexOf("order by"); + if (i == -1) { + throw new IllegalStateException( + "must have a *order by* in hql, " + + "but did not find it in " + hql); } + // get the count (removing the order-by) + long count2 = dao.countByQuery("SELECT COUNT(*) " + + hql.substring(0, i), params); + pager = new TopiaPagerBean(); + pager.setRecords(count2); + pager.setPageSize(batchSize); + PagerBeanUtil.computeRecordIndexesAndPagesNumber(pager); + // empty iterator (will be changed at first next call) data = Iterators.emptyIterator(); } @@ -903,14 +899,10 @@ PagerBeanUtil.computeRecordIndexesAndPagesNumber(pager); // load new window of data - try { - data = dao.findAllByQueryAndPager(type, - hql, - pager, - params).iterator(); - } catch (TopiaException e) { - throw new TopiaRuntimeException(e); - } + data = dao.findAllByQueryAndPager(type, + hql, + pager, + params).iterator(); } R next = data.next(); Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/csv/TopiaCsvCommons.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/csv/TopiaCsvCommons.java 2013-07-05 14:31:15 UTC (rev 2739) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/csv/TopiaCsvCommons.java 2013-07-05 15:01:09 UTC (rev 2740) @@ -26,7 +26,7 @@ import com.google.common.collect.Lists; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.nuiton.topia.TopiaRuntimeException; +import org.nuiton.topia.TopiaException; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.util.StringUtil; import org.nuiton.util.csv.Common; @@ -219,7 +219,7 @@ if (result == null) { // can not find entity this is a big problem for us... - throw new TopiaRuntimeException( + throw new TopiaException( "Could not find entity of type " + entityType.getSimpleName() + " with '" + propertyName + "' = " + value); @@ -265,7 +265,7 @@ if (result == null) { // can not find entity this is a big problem for us... - throw new TopiaRuntimeException( + throw new TopiaException( "Could not find entity with '" + propertyName + "' = " + value); } } Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/csv/out/ExportEntityVisitor.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/csv/out/ExportEntityVisitor.java 2013-07-05 14:31:15 UTC (rev 2739) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/csv/out/ExportEntityVisitor.java 2013-07-05 15:01:09 UTC (rev 2740) @@ -28,7 +28,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.TopiaRuntimeException; import org.nuiton.topia.persistence.EntityVisitor; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaEntityEnum; @@ -86,7 +85,7 @@ try { entity.accept(this); } catch (TopiaException e) { - throw new TopiaRuntimeException( + throw new TopiaException( "Could not export entity " + entity.getTopiaId(), e); } finally { TIME_LOG.log(s1, "export::" + entity.getTopiaId()); @@ -105,7 +104,7 @@ Preconditions.checkNotNull(entityExporter); entityExporter.write(entity); } catch (Exception e) { - throw new TopiaRuntimeException( + throw new TopiaException( "Could not export entity " + entity, e); } finally { if (log.isDebugEnabled()) { @@ -126,7 +125,7 @@ Preconditions.checkNotNull(entityExporter); entityExporter.writeAssociations(entity); } catch (Exception e) { - throw new TopiaRuntimeException( + throw new TopiaException( "Could not export associations of entity " + entity, e); } finally { if (log.isDebugEnabled()) { Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/csv/out/TopiaCsvExports.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/csv/out/TopiaCsvExports.java 2013-07-05 14:31:15 UTC (rev 2739) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/csv/out/TopiaCsvExports.java 2013-07-05 15:01:09 UTC (rev 2740) @@ -32,7 +32,7 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.TopiaRuntimeException; +import org.nuiton.topia.TopiaException; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaEntityEnum; import org.nuiton.topia.persistence.metadata.AssociationMeta; @@ -84,7 +84,7 @@ try { result = export.toString(Charsets.UTF_8); } catch (Exception eee) { - throw new TopiaRuntimeException("Can not export datas", eee); + throw new TopiaException("Can not export datas", eee); } TIME_LOG.log(s2, "exportData::exportToString"); return result; @@ -105,7 +105,7 @@ try { export.write(file, Charsets.UTF_8); } catch (Exception eee) { - throw new TopiaRuntimeException("Can not export datas", eee); + throw new TopiaException("Can not export datas", eee); } TIME_LOG.log(s2, "exportData::exportToFile"); } @@ -127,7 +127,7 @@ try { export.write(file, Charsets.UTF_8); } catch (Exception eee) { - throw new TopiaRuntimeException("Can not export datas", eee); + throw new TopiaException("Can not export datas", eee); } TIME_LOG.log(s2, "exportData::exportToFile"); } Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata/AssociationMeta.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata/AssociationMeta.java 2013-07-05 14:31:15 UTC (rev 2739) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata/AssociationMeta.java 2013-07-05 15:01:09 UTC (rev 2740) @@ -24,7 +24,7 @@ */ import com.google.common.base.Charsets; -import org.nuiton.topia.TopiaRuntimeException; +import org.nuiton.topia.TopiaException; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaEntityEnum; import org.nuiton.topia.persistence.util.EntityOperator; @@ -102,7 +102,7 @@ return new OutputStreamWriter(new FileOutputStream(file), Charsets.UTF_8); } catch (FileNotFoundException e) { - throw new TopiaRuntimeException("Could not find file " + file); + throw new TopiaException("Could not find file " + file); } } Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata/TableMeta.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata/TableMeta.java 2013-07-05 14:31:15 UTC (rev 2739) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata/TableMeta.java 2013-07-05 15:01:09 UTC (rev 2740) @@ -27,7 +27,7 @@ import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import org.nuiton.topia.TopiaRuntimeException; +import org.nuiton.topia.TopiaException; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaEntityEnum; import org.nuiton.topia.persistence.TopiaPersistenceHelper; @@ -110,7 +110,7 @@ return new OutputStreamWriter(new FileOutputStream(file), Charsets.UTF_8); } catch (FileNotFoundException e) { - throw new TopiaRuntimeException("Could not find file " + file); + throw new TopiaException("Could not find file " + file); } } Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationEngine.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationEngine.java 2013-07-05 14:31:15 UTC (rev 2739) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationEngine.java 2013-07-05 15:01:09 UTC (rev 2740) @@ -32,7 +32,6 @@ import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; import org.nuiton.topia.TopiaNotFoundException; -import org.nuiton.topia.TopiaRuntimeException; import org.nuiton.topia.event.TopiaContextAdapter; import org.nuiton.topia.event.TopiaContextEvent; import org.nuiton.topia.event.TopiaContextListener; @@ -258,7 +257,7 @@ doMigrateSchema(); } catch (MigrationServiceException e) { - throw new TopiaRuntimeException("Can't migrate schema for reason " + e.getMessage(), e); + throw new TopiaException("Can't migrate schema for reason " + e.getMessage(), e); } } else { if (log.isDebugEnabled()) { @@ -281,7 +280,7 @@ if (log.isErrorEnabled()) { log.error(_("topia.migration.migration.incomplete")); } - throw new TopiaRuntimeException(_("topia.migration.migration.incomplete")); + throw new TopiaException(_("topia.migration.migration.incomplete")); } } @@ -431,67 +430,62 @@ log.debug("Detected version = " + dbVersion); } - try { + boolean createTable = !versionTableExist; + // update version even if database has not been migrated + // only case that database doesn't exist match this + if (createTable) { + // si la base n'etait pas versionnee, la table version n'existe pas + // creation + if (log.isDebugEnabled()) { + log.debug("Adding tms_version table"); + } - boolean createTable = !versionTableExist; - // update version even if database has not been migrated - // only case that database doesn't exist match this - if (createTable) { - // si la base n'etait pas versionnee, la table version n'existe pas - // creation - if (log.isDebugEnabled()) { - log.debug("Adding tms_version table"); - } + // creer le schema en base + // dans la configuration versionConfiguration, il n'y a que la table version + TMSVersionDAO.createTable(versionConfiguration); - // creer le schema en base - // dans la configuration versionConfiguration, il n'y a que la table version - TMSVersionDAO.createTable(versionConfiguration); - - if (log.isDebugEnabled()) { - log.debug("Table for " + TMSVersion.class.getSimpleName() + " created"); - } + if (log.isDebugEnabled()) { + log.debug("Table for " + TMSVersion.class.getSimpleName() + " created"); } + } - // Set new version in database - TopiaContext tx = rootContext.beginTransaction(); - try { + // Set new version in database + TopiaContext tx = rootContext.beginTransaction(); + try { - // delete all previous data in table - TMSVersionDAO.deleteAll(tx); + // delete all previous data in table + TMSVersionDAO.deleteAll(tx); - if (log.isInfoEnabled()) { - log.info(_("topia.migration.saving.db.version", version)); - } + if (log.isInfoEnabled()) { + log.info(_("topia.migration.saving.db.version", version)); + } - // create new version and store it in table - TMSVersion tmsVersion = - TMSVersionDAO.create(tx, version.getVersion()); - if (log.isDebugEnabled()) { - log.debug("Created version : " + tmsVersion.getVersion()); - } + // create new version and store it in table + TMSVersion tmsVersion = + TMSVersionDAO.create(tx, version.getVersion()); + if (log.isDebugEnabled()) { + log.debug("Created version : " + tmsVersion.getVersion()); + } - tx.commitTransaction(); - } catch (TopiaException e) { - if (tx != null) { - tx.rollbackTransaction(); - } - throw e; - } finally { - if (tx != null) { - tx.closeContext(); - } + tx.commitTransaction(); + } catch (TopiaException e) { + if (tx != null) { + tx.rollbackTransaction(); } + throw e; + } finally { + if (tx != null) { + tx.closeContext(); + } + } - if (legacyVersionTableExist) { + if (legacyVersionTableExist) { - if (log.isDebugEnabled()) { - log.debug("Will drop legacy tmsVersion table"); - } - // on supprime l'ancienne table - TMSVersionDAO.dropTable(legacyVersionConfiguration); + if (log.isDebugEnabled()) { + log.debug("Will drop legacy tmsVersion table"); } - } catch (TopiaException e) { - throw new TopiaRuntimeException(e); + // on supprime l'ancienne table + TMSVersionDAO.dropTable(legacyVersionConfiguration); } // on change les etats internes du service @@ -642,7 +636,7 @@ } } } catch (TopiaException e) { - throw new TopiaRuntimeException("Can't obtain dbVersion for reason " + e.getMessage(), e); + throw new TopiaException("Can't obtain dbVersion for reason " + e.getMessage(), e); } } Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/mappings/TMSVersionDAO.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/mappings/TMSVersionDAO.java 2013-07-05 14:31:15 UTC (rev 2739) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/mappings/TMSVersionDAO.java 2013-07-05 15:01:09 UTC (rev 2740) @@ -34,7 +34,6 @@ import org.hibernate.tool.hbm2ddl.SchemaExport; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.TopiaRuntimeException; import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaUtil; import org.nuiton.util.Version; @@ -147,7 +146,7 @@ Version v = work.getVersion(); return v; } catch (TopiaException e) { - throw new TopiaRuntimeException("Can't obtain dbVersion for reason " + e.getMessage(), e); + throw new TopiaException("Can't obtain dbVersion for reason " + e.getMessage(), e); } } Modified: trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractTopiaReplicationServiceTest.java =================================================================== --- trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractTopiaReplicationServiceTest.java 2013-07-05 14:31:15 UTC (rev 2739) +++ trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractTopiaReplicationServiceTest.java 2013-07-05 15:01:09 UTC (rev 2740) @@ -83,12 +83,7 @@ public static void after() throws Exception { if (context != null && !context.isClosed()) { - try { - context.closeContext(); - } catch (TopiaException e) { - // cela peut arriver si on demande la fermeture dans un thread - // ailleurs... - } + context.closeContext(); } init = false; } Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAssociationAuthorizationImpl.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAssociationAuthorizationImpl.java 2013-07-05 14:31:15 UTC (rev 2739) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAssociationAuthorizationImpl.java 2013-07-05 15:01:09 UTC (rev 2740) @@ -26,14 +26,18 @@ package org.nuiton.topia.security.entities.authorization; -import static org.nuiton.topia.security.util.TopiaSecurityUtil.actionsString2Int; -import java.util.HashSet; -import java.util.List; - +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; import org.nuiton.topia.persistence.TopiaId; +import org.nuiton.topia.security.entities.user.TopiaUserImpl; +import java.util.HashSet; +import java.util.List; + +import static org.nuiton.topia.security.util.TopiaSecurityUtil.actionsString2Int; + /** * Classe permettant les autorisations de type association. C'est à dire l'autorisation * permet de donné une autorisation par rapport à une association dans le modèle. @@ -45,6 +49,8 @@ public class TopiaAssociationAuthorizationImpl extends TopiaAssociationAuthorizationAbstract { + static private Log log = LogFactory.getLog(TopiaAssociationAuthorizationImpl.class); + private static final long serialVersionUID = 1L; /** @@ -71,7 +77,9 @@ "association", thatExpression); return (Long)find.get(0) >= 1; } catch (TopiaException e) { - e.printStackTrace(); + if (log.isDebugEnabled()) { + log.debug("", e); + } return false; } }