This is an automated email from the git hooks/post-receive script. New change to branch feature/8089 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git at 8083eb1 on reste sur java 7 This branch includes the following new commits: new 460d743 refs: #8089: Migrate to ToPIA 3.0 new 8631fc2 refs #8089: Migrate to ToPIA 3.0 new 6dccdf9 fixes #8089: Migrate to ToPIA 3.0 new af8380e refs #8089: Update hibernate new 298fe49 Utilisation du mode strict et correction des problèmes de tag values new 8083eb1 on reste sur java 7 The 6 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 8083eb1df6ab78fa256b6cf91404c86b47f02c51 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Apr 7 17:18:45 2016 +0200 on reste sur java 7 commit 298fe496412fdbdf874ee6ba1a8fb61656f65b00 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Apr 7 16:34:40 2016 +0200 Utilisation du mode strict et correction des problèmes de tag values commit af8380e7ca3c81f5e5f6b227ce6319a7a3acd292 Author: Eric Chatellier <chatellier@codelutin.com> Date: Thu Mar 10 17:40:42 2016 +0100 refs #8089: Update hibernate commit 6dccdf9e07b9b3a2f9cd0548dc8ca0fa81f566b0 Author: Eric Chatellier <chatellier@codelutin.com> Date: Thu Mar 10 17:31:03 2016 +0100 fixes #8089: Migrate to ToPIA 3.0 commit 8631fc281ea2b0996d917e00996eee1b8eeec3fb Author: Eric Chatellier <chatellier@codelutin.com> Date: Wed Mar 9 15:31:08 2016 +0100 refs #8089: Migrate to ToPIA 3.0 commit 460d7431b8601b510b018bf782805dc56142062e Author: Eric Chatellier <chatellier@codelutin.com> Date: Wed Mar 9 13:46:51 2016 +0100 refs: #8089: Migrate to ToPIA 3.0 -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8089 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 460d7431b8601b510b018bf782805dc56142062e Author: Eric Chatellier <chatellier@codelutin.com> Date: Wed Mar 9 13:46:51 2016 +0100 refs: #8089: Migrate to ToPIA 3.0 --- .../echobase/entities/AbstractEchoBaseDao.java | 5 ++- .../EchoBaseUserTopiaApplicationContext.java | 2 +- .../echobase/entities/EchoBaseUserTopiaDao.java | 10 +++--- .../EchoBaseUserTopiaPersistenceContext.java | 7 ++-- .../echobase/entities/data/EchotypeTopiaDao.java | 1 - .../echobase/persistence/EchoBaseEntityHelper.java | 31 ++++++++-------- .../persistence/EchoBasePersistenceHelper.java | 18 +++------- .../echobase/persistence/JdbcConfiguration.java | 20 +++++------ .../EchoBaseMigrationCallBackResolver.java | 23 ++++++------ .../internalDb/MigrationCallBackForVersion.java | 3 +- .../internalDb/MigrationCallBackForVersion2_2.java | 29 ++++++++------- .../migration/internalDb/MigrationCallback.java | 18 ++++------ .../workingDb/MigrationCallBackForVersion.java | 2 +- .../workingDb/MigrationCallBackForVersion2_2.java | 14 ++++---- .../MigrationCallBackForVersion2_5_1.java | 8 +++-- .../workingDb/MigrationCallBackForVersion2_6.java | 33 +++++++++-------- .../MigrationCallBackForVersion2_6_1.java | 15 ++++---- .../MigrationCallBackForVersion2_7_2.java | 15 ++++---- .../migration/workingDb/MigrationCallback.java | 11 ++---- .../main/resources/echobase-internaldb.properties | 3 -- .../main/resources/echobase-workingdb.properties | 3 -- .../echobase/services/service/DbEditorService.java | 15 +++++--- .../echobase/services/service/UserService.java | 15 ++++++-- .../EmbeddedApplicationService.java | 2 +- .../services/service/exportdb/ExportDbService.java | 41 ++++++++++++---------- .../services/FakeEchoBaseServiceContext.java | 4 +-- .../removedata/AbstractRemoveDataServiceTest.java | 3 +- pom.xml | 10 ++---- 28 files changed, 181 insertions(+), 180 deletions(-) diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/AbstractEchoBaseDao.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/AbstractEchoBaseDao.java index 0c2128d..44f5552 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/AbstractEchoBaseDao.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/AbstractEchoBaseDao.java @@ -24,7 +24,6 @@ package fr.ifremer.echobase.entities; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaNoResultException; import org.nuiton.topia.persistence.internal.AbstractTopiaDao; -import org.nuiton.topia.persistence.pager.TopiaPagerBean; import java.util.List; import java.util.Map; @@ -53,7 +52,7 @@ public abstract class AbstractEchoBaseDao<E extends TopiaEntity> extends Abstrac } @Override - public <K> List<K> find(String hql, Map<String, Object> hqlParameters, TopiaPagerBean pager) { - return super.find(hql, hqlParameters, pager); + public <K> List<K> find(String hql, Map<String, Object> hqlParameters, int startIndex, int endIndex) { + return super.find(hql, hqlParameters, startIndex, endIndex); } } diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaApplicationContext.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaApplicationContext.java index 9f95cb8..5f7dcee 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaApplicationContext.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaApplicationContext.java @@ -126,7 +126,7 @@ public class EchoBaseUserTopiaApplicationContext extends AbstractEchoBaseUserTop } finally { - persistenceContext.closeContext(); + persistenceContext.close(); } diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaDao.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaDao.java index e4fad64..a6b91c7 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaDao.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaDao.java @@ -20,14 +20,14 @@ */ package fr.ifremer.echobase.entities; -import org.nuiton.topia.persistence.TopiaException; -import org.nuiton.topia.persistence.pager.TopiaPagerBean; - import java.util.List; -public class EchoBaseUserTopiaDao extends AbstractEchoBaseUserTopiaDao<EchoBaseUser> { +import org.nuiton.topia.persistence.TopiaException; +import org.nuiton.util.pagination.PaginationParameter; + +public abstract class EchoBaseUserTopiaDao extends GeneratedEchoBaseUserTopiaDao<EchoBaseUser> { - public List<EchoBaseUser> findAll(TopiaPagerBean pager) throws TopiaException { + public List<EchoBaseUser> findAll(PaginationParameter pager) throws TopiaException { List<EchoBaseUser> users; if (pager == null) { diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaPersistenceContext.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaPersistenceContext.java index 22e49c0..6b0268e 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaPersistenceContext.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaPersistenceContext.java @@ -23,9 +23,10 @@ package fr.ifremer.echobase.entities; import org.hibernate.cfg.Environment; import org.nuiton.topia.persistence.TopiaIdFactory; +import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContextConstructorParameter; import org.nuiton.topia.persistence.internal.HibernateProvider; import org.nuiton.topia.persistence.internal.TopiaHibernateSessionRegistry; -import org.nuiton.topia.persistence.support.TopiaListenableSupport; +import org.nuiton.topia.persistence.internal.support.TopiaFiresSupport; public class EchoBaseUserTopiaPersistenceContext extends AbstractEchoBaseUserTopiaPersistenceContext { @@ -43,8 +44,8 @@ public class EchoBaseUserTopiaPersistenceContext extends AbstractEchoBaseUserTop */ protected boolean spatialStructureFound; - public EchoBaseUserTopiaPersistenceContext(HibernateProvider hibernateProvider, TopiaListenableSupport listenableSupport, TopiaIdFactory topiaIdFactory, TopiaHibernateSessionRegistry sessionRegistry) { - super(hibernateProvider, listenableSupport, topiaIdFactory, sessionRegistry); + public EchoBaseUserTopiaPersistenceContext(AbstractTopiaPersistenceContextConstructorParameter newContextParams) { + super(newContextParams); } @Override diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/EchotypeTopiaDao.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/EchotypeTopiaDao.java index 88a1c6c..85f9b57 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/EchotypeTopiaDao.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/EchotypeTopiaDao.java @@ -33,7 +33,6 @@ import java.util.List; */ public class EchotypeTopiaDao extends GeneratedEchotypeTopiaDao<Echotype> { - @Override public Echotype findByIdAndSpecies(Integer id, Species species) throws TopiaException { List<Echotype> allById = forIdEquals(id).findAll(); diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBaseEntityHelper.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBaseEntityHelper.java index 043475b..c54bb1b 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBaseEntityHelper.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBaseEntityHelper.java @@ -1,5 +1,17 @@ package fr.ifremer.echobase.persistence; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.hibernate.Transaction; +import org.nuiton.topia.persistence.TopiaApplicationContext; +import org.nuiton.topia.persistence.TopiaException; +import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContext; + /* * #%L * EchoBase :: Domain @@ -22,23 +34,12 @@ package fr.ifremer.echobase.persistence; */ import com.google.common.base.Preconditions; + import fr.ifremer.echobase.entities.DriverType; import fr.ifremer.echobase.entities.EchoBaseInternalTopiaApplicationContext; import fr.ifremer.echobase.entities.EchoBaseUserImpl; import fr.ifremer.echobase.entities.EchoBaseUserTopiaApplicationContext; import fr.ifremer.echobase.entities.data.VoyageImpl; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.hibernate.Transaction; -import org.hibernate.cfg.Environment; -import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContext; -import org.nuiton.topia.persistence.TopiaApplicationContext; -import org.nuiton.topia.persistence.TopiaException; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; /** * helper about topia context and jdbc connections. @@ -55,7 +56,7 @@ public class EchoBaseEntityHelper { if (log.isInfoEnabled()) { log.info("release database " + - context.getConfiguration().get(Environment.URL)); + context.getConfiguration().getJdbcConnectionUrl()); } try { releaseContext(context); @@ -70,7 +71,7 @@ public class EchoBaseEntityHelper { public static void releaseContext(TopiaApplicationContext rootContext) throws TopiaException { if (rootContext != null && !rootContext.isClosed()) { - rootContext.closeContext(); + rootContext.close(); } } @@ -161,7 +162,7 @@ public class EchoBaseEntityHelper { } tx.rollback(); } - transaction.closeContext(); + transaction.close(); } } diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBasePersistenceHelper.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBasePersistenceHelper.java index 0b9c227..428e2ff 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBasePersistenceHelper.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBasePersistenceHelper.java @@ -1,5 +1,8 @@ package fr.ifremer.echobase.persistence; +import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.topia.persistence.TopiaEntityEnumProvider; + /* * #%L * EchoBase :: Domain @@ -22,31 +25,18 @@ package fr.ifremer.echobase.persistence; */ import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.topia.persistence.TopiaPersistenceHelper; /** * Persistence helper for working db. * * @author Tony Chemit - chemit@codelutin.com - * @see TopiaPersistenceHelper * @since 1.1 */ -public class EchoBasePersistenceHelper implements TopiaPersistenceHelper<EchoBaseUserEntityEnum> { +public class EchoBasePersistenceHelper implements TopiaEntityEnumProvider<EchoBaseUserEntityEnum> { @Override public <E extends TopiaEntity> EchoBaseUserEntityEnum getEntityEnum(Class<E> type) { return EchoBaseUserEntityEnum.valueOf(type); } -// @Override -// public <E extends TopiaEntity> TopiaDAO<E> getDAO(TopiaContext tx, Class<E> type) { -// return EchoBaseDAOHelper.<E, TopiaDAO<E>>getDAO(tx, type); -// } -// -// @Override -// public <E extends TopiaEntity> TopiaDAO<E> getDAO(TopiaContext tx, EchoBaseEntityEnum type) { -// return (TopiaDAO<E>) getDAO(tx, type.getContract()); -// } - } diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/JdbcConfiguration.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/JdbcConfiguration.java index d5af40d..1922389 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/JdbcConfiguration.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/JdbcConfiguration.java @@ -20,23 +20,23 @@ */ package fr.ifremer.echobase.persistence; -import com.google.common.collect.ImmutableMap; -import fr.ifremer.echobase.entities.DriverType; -import org.hibernate.cfg.Environment; -import org.nuiton.topia.persistence.TopiaApplicationContext; - import java.io.File; import java.io.Serializable; +import org.nuiton.topia.persistence.TopiaApplicationContext; +import org.nuiton.topia.persistence.TopiaConfiguration; + +import fr.ifremer.echobase.entities.DriverType; + public class JdbcConfiguration implements Serializable { public static JdbcConfiguration newConfig(TopiaApplicationContext context) { - ImmutableMap config = context.getConfiguration(); + TopiaConfiguration config = context.getConfiguration(); JdbcConfiguration result = new JdbcConfiguration(); - result.setDriverType(DriverType.valueOfDriverName((String) config.get(Environment.DRIVER))); - result.setUrl((String) config.get(Environment.URL)); - result.setLogin((String) config.get(Environment.USER)); - result.setPassword((String) config.get(Environment.PASS)); + result.setDriverType(DriverType.valueOfDriverName((String) config.getJdbcDriverClass().getName())); + result.setUrl((String) config.getJdbcConnectionUrl()); + result.setLogin((String) config.getJdbcConnectionUser()); + result.setPassword((String) config.getJdbcConnectionPassword()); return result; } diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/EchoBaseMigrationCallBackResolver.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/EchoBaseMigrationCallBackResolver.java index 47d42c2..8307605 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/EchoBaseMigrationCallBackResolver.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/EchoBaseMigrationCallBackResolver.java @@ -1,5 +1,15 @@ package fr.ifremer.echobase.persistence.migration; +import java.util.Map; +import java.util.ServiceLoader; +import java.util.Set; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG; +import org.nuiton.util.version.Version; +import org.nuiton.util.version.VersionComparator; + /* * #%L * EchoBase :: Domain @@ -22,15 +32,6 @@ package fr.ifremer.echobase.persistence.migration; */ import com.google.common.collect.Maps; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG; -import org.nuiton.util.Version; -import org.nuiton.util.VersionUtil; - -import java.util.Map; -import java.util.ServiceLoader; -import java.util.Set; /** * Migration callBack resolver using service loader to discover version to @@ -45,7 +46,7 @@ public class EchoBaseMigrationCallBackResolver<C extends TopiaMigrationCallbackB private static final Log log = LogFactory.getLog(EchoBaseMigrationCallBackResolver.class); - public static <C extends TopiaMigrationCallbackByClassNG.MigrationCallBackForVersion<?>> EchoBaseMigrationCallBackResolver<C> newResolver(Class<C> resolverType) { + public static <C extends TopiaMigrationCallbackByClassNG.MigrationCallBackForVersion> EchoBaseMigrationCallBackResolver<C> newResolver(Class<C> resolverType) { return new EchoBaseMigrationCallBackResolver<C>(resolverType); } @@ -53,7 +54,7 @@ public class EchoBaseMigrationCallBackResolver<C extends TopiaMigrationCallbackB protected EchoBaseMigrationCallBackResolver(Class<C> migrationType) { this.versionMigrationMapping = Maps.newTreeMap( - new VersionUtil.VersionComparator()); + new VersionComparator()); for (C callBackForVersion : ServiceLoader.load(migrationType)) { Version version = callBackForVersion.getVersion(); if (log.isInfoEnabled()) { diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion.java index 6f776c8..0f55a69 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion.java @@ -21,7 +21,6 @@ package fr.ifremer.echobase.persistence.migration.internalDb; * #L% */ -import fr.ifremer.echobase.entities.EchoBaseInternalTopiaPersistenceContext; import fr.ifremer.echobase.io.EchoBaseIOUtil; import org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG; @@ -33,7 +32,7 @@ import java.util.List; * @author Tony Chemit - chemit@codelutin.com * @since 1.1 */ -public abstract class MigrationCallBackForVersion extends TopiaMigrationCallbackByClassNG.MigrationCallBackForVersion<EchoBaseInternalTopiaPersistenceContext> { +public abstract class MigrationCallBackForVersion extends TopiaMigrationCallbackByClassNG.MigrationCallBackForVersion { protected void addScript(String script, List<String> queries) { diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion2_2.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion2_2.java index 79fa708..ce54eb9 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion2_2.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion2_2.java @@ -1,5 +1,17 @@ package fr.ifremer.echobase.persistence.migration.internalDb; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +import org.nuiton.topia.persistence.TopiaException; +import org.nuiton.topia.persistence.support.TopiaSqlQuery; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; +import org.nuiton.util.version.Version; +import org.nuiton.util.version.Versions; + /* * #%L * EchoBase :: Domain @@ -21,20 +33,9 @@ package fr.ifremer.echobase.persistence.migration.internalDb; * #L% */ -import fr.ifremer.echobase.entities.EchoBaseInternalTopiaPersistenceContext; import fr.ifremer.echobase.entities.ExportQueries; import fr.ifremer.echobase.entities.ExportQuery; import fr.ifremer.echobase.entities.ExportQueryImpl; -import org.nuiton.topia.persistence.TopiaException; -import org.nuiton.topia.persistence.support.TopiaSqlQuery; -import org.nuiton.topia.persistence.support.TopiaSqlSupport; -import org.nuiton.util.Version; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.List; /** * Migrate internal db to version {@code 2.2}. @@ -45,20 +46,18 @@ import java.util.List; public class MigrationCallBackForVersion2_2 extends MigrationCallBackForVersion { @Override public Version getVersion() { - return new Version("2.2"); + return Versions.valueOf("2.2"); } public static final String EXPORT_QUERY_UPDATE = "UPDATE exportquery SET name = '%s', topiaversion = topiaversion + 1 WHERE topiaid = '%s'"; @Override - protected void prepareMigrationScript(EchoBaseInternalTopiaPersistenceContext tx, + protected void prepareMigrationScript(TopiaSqlSupport sqlSupport, List<String> queries, boolean showSql, boolean showProgression) throws TopiaException { - TopiaSqlSupport sqlSupport = tx.getSqlSupport(); - // normalize queries names (http://forge.codelutin.com/issues/2875) normalizeExportQueryNames(sqlSupport, queries); diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallback.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallback.java index 8adc25d..0d4135b 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallback.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallback.java @@ -1,5 +1,10 @@ package fr.ifremer.echobase.persistence.migration.internalDb; +import java.util.List; + +import org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG; +import org.nuiton.util.version.Version; + /* * #%L * EchoBase :: Domain @@ -21,13 +26,7 @@ package fr.ifremer.echobase.persistence.migration.internalDb; * #L% */ -import fr.ifremer.echobase.entities.EchoBaseInternalTopiaPersistenceContext; import fr.ifremer.echobase.persistence.migration.EchoBaseMigrationCallBackResolver; -import org.nuiton.topia.persistence.support.TopiaSqlSupport; -import org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG; -import org.nuiton.util.Version; - -import java.util.List; /** * EchoBase Migration callback for internal db. @@ -35,7 +34,7 @@ import java.util.List; * @author Tony Chemit - chemit@codelutin.com * @since 1.1 */ -public class MigrationCallback extends TopiaMigrationCallbackByClassNG<EchoBaseInternalTopiaPersistenceContext> { +public class MigrationCallback extends TopiaMigrationCallbackByClassNG { public MigrationCallback() { super(EchoBaseMigrationCallBackResolver.newResolver( @@ -46,9 +45,4 @@ public class MigrationCallback extends TopiaMigrationCallbackByClassNG<EchoBaseI public boolean askUser(Version version, List<Version> versions) { return true; } - - @Override - protected TopiaSqlSupport getSqlSupport(EchoBaseInternalTopiaPersistenceContext persistenceContext) { - return persistenceContext.getSqlSupport(); - } } diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion.java index b29da47..51bbfee 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion.java @@ -33,7 +33,7 @@ import java.util.List; * @author Tony Chemit - chemit@codelutin.com * @since 1.1 */ -public abstract class MigrationCallBackForVersion extends TopiaMigrationCallbackByClassNG.MigrationCallBackForVersion<EchoBaseUserTopiaPersistenceContext> { +public abstract class MigrationCallBackForVersion extends TopiaMigrationCallbackByClassNG.MigrationCallBackForVersion { protected void addScript(String script, List<String> queries) { diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java index 219e478..b2a1c8f 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java @@ -25,7 +25,9 @@ import fr.ifremer.echobase.entities.EchoBaseUserTopiaPersistenceContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaException; -import org.nuiton.util.Version; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; +import org.nuiton.util.version.Version; +import org.nuiton.util.version.Versions; import java.util.List; @@ -42,11 +44,11 @@ public class MigrationCallBackForVersion2_2 extends MigrationCallBackForVersion @Override public Version getVersion() { - return new Version("2.2"); + return Versions.valueOf("2.2"); } @Override - protected void prepareMigrationScript(EchoBaseUserTopiaPersistenceContext tx, + protected void prepareMigrationScript(TopiaSqlSupport sqlSupport, List<String> queries, boolean showSql, boolean showProgression) throws TopiaException { @@ -58,7 +60,7 @@ public class MigrationCallBackForVersion2_2 extends MigrationCallBackForVersion migrateImportTypeId(queries); // compute all spatial data (http://forge.codelutin.com/issues/3037) - updatePostgis(tx); + updatePostgis(sqlSupport); } protected void migrateImportTypeId(List<String> queries) { @@ -69,14 +71,14 @@ public class MigrationCallBackForVersion2_2 extends MigrationCallBackForVersion queries.add("ALTER TABLE Result ALTER COLUMN category DROP NOT NULL;"); } - protected void updatePostgis(EchoBaseUserTopiaPersistenceContext tx) { + protected void updatePostgis(TopiaSqlSupport sqlSupport) { boolean spatialAware = tx.isSpatialStructureFound(); try { if (spatialAware) { try { // compute all spatial data - tx.getSqlSupport().executeSql("SELECT echobase_compute_all_spatial_data();"); + sqlSupport.executeSql("SELECT echobase_compute_all_spatial_data();"); } catch (Exception e) { if (log.isErrorEnabled()) { log.error("Could not update spatial datas", e); diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5_1.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5_1.java index 04840aa..fd34919 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5_1.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5_1.java @@ -23,7 +23,9 @@ package fr.ifremer.echobase.persistence.migration.workingDb; import fr.ifremer.echobase.entities.EchoBaseUserTopiaPersistenceContext; import org.nuiton.topia.persistence.TopiaException; -import org.nuiton.util.Version; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; +import org.nuiton.util.version.Version; +import org.nuiton.util.version.Versions; import java.util.List; @@ -37,11 +39,11 @@ public class MigrationCallBackForVersion2_5_1 extends MigrationCallBackForVersio @Override public Version getVersion() { - return new Version("2.5.1"); + return Versions.valueOf("2.5.1"); } @Override - protected void prepareMigrationScript(EchoBaseUserTopiaPersistenceContext tx, + protected void prepareMigrationScript(TopiaSqlSupport sqlSupport, List<String> queries, boolean showSql, boolean showProgression) throws TopiaException { diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_6.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_6.java index ee710f9..ba3f46d 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_6.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_6.java @@ -1,5 +1,17 @@ package fr.ifremer.echobase.persistence.migration.workingDb; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +import org.nuiton.topia.persistence.TopiaException; +import org.nuiton.topia.persistence.support.TopiaSqlQuery; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; +import org.nuiton.util.version.Version; +import org.nuiton.util.version.Versions; + /* * #%L * EchoBase :: Domain @@ -22,15 +34,6 @@ package fr.ifremer.echobase.persistence.migration.workingDb; */ import fr.ifremer.echobase.entities.EchoBaseUserTopiaPersistenceContext; -import org.nuiton.topia.persistence.TopiaException; -import org.nuiton.topia.persistence.support.TopiaSqlQuery; -import org.nuiton.util.Version; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.List; /** * Created on 2/26/14. @@ -42,11 +45,11 @@ public class MigrationCallBackForVersion2_6 extends MigrationCallBackForVersion @Override public Version getVersion() { - return new Version("2.6"); + return Versions.valueOf("2.6"); } @Override - protected void prepareMigrationScript(EchoBaseUserTopiaPersistenceContext tx, + protected void prepareMigrationScript(TopiaSqlSupport sqlSupport, List<String> queries, boolean showSql, boolean showProgression) throws TopiaException { @@ -67,22 +70,22 @@ public class MigrationCallBackForVersion2_6 extends MigrationCallBackForVersion addScript("2.6-0-postgis-view.sql", queries); } - protected void updateDataMedataReferential(EchoBaseUserTopiaPersistenceContext tx, List<String> queries) { + protected void updateDataMedataReferential(TopiaSqlSupport sqlSupport, List<String> queries) { String dataId; - dataId = tx.getSqlSupport().findSingleResult(new GetdataMetadataSqlQuery("meanMapcellBiomass")); + dataId = sqlSupport.findSingleResult(new GetdataMetadataSqlQuery("meanMapcellBiomass")); if (dataId == null) { // add it queries.add("INSERT INTO datametadata (topiaId,topiaversion, topiacreatedate, addOffset, comment, fillValue, longName, name, scaleFactor, units, validMax, validMin) VALUES('fr.ifremer.echobase.entities.references.DataMetadata#4443610280597#0.9322615025965290', 0, '2014-02-27 17:01:48.355', 0.0, 'Mean biomass averaged in a grid map cell using a block averaging procedure', 0, 'Mean biomass in map cell', 'meanMapcellBiomass', 1.0, 'tons', 999999999, 0);"); } - dataId = tx.getSqlSupport().findSingleResult(new GetdataMetadataSqlQuery("stdevMapcellBiomass")); + dataId = sqlSupport.findSingleResult(new GetdataMetadataSqlQuery("stdevMapcellBiomass")); if (dataId == null) { // add it queries.add("INSERT INTO datametadata (topiaId,topiaversion, topiacreatedate, addOffset, comment, fillValue, longName, name, scaleFactor, units, validMax, validMin) VALUES('fr.ifremer.echobase.entities.references.DataMetadata#4443610280597#0.9322615025965291', 0, '2014-02-27 17:01:48.355', 0.0, 'Biomass standard deviation in a grid map cell produced from a block averaging procedure', 0, 'Biomass standard deviation in map cell', 'stdevMapcellBiomass', 1.0, 'tons', 999999999, 0);"); } - dataId = tx.getSqlSupport().findSingleResult(new GetdataMetadataSqlQuery("NsampleMapcell")); + dataId = sqlSupport.findSingleResult(new GetdataMetadataSqlQuery("NsampleMapcell")); if (dataId == null) { // add it queries.add("INSERT INTO datametadata (topiaId,topiaversion, topiacreatedate, addOffset, comment, fillValue, longName, name, scaleFactor, units, validMax, validMin) VALUES('fr.ifremer.echobase.entities.references.DataMetadata#4443610280597#0.9322615025965292', 0, '2014-02-27 17:01:48.355', 0.0, 'No. of data samples in a grid map cell in a block averaging procedure', 0, 'No. of samples in map cell', 'NsampleMapcell', 1.0, 'tons', 999999999, 0);"); diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_6_1.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_6_1.java index bb93b25..1dc321f 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_6_1.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_6_1.java @@ -1,5 +1,12 @@ package fr.ifremer.echobase.persistence.migration.workingDb; +import java.util.List; + +import org.nuiton.topia.persistence.TopiaException; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; +import org.nuiton.util.version.Version; +import org.nuiton.util.version.Versions; + /* * #%L * EchoBase :: Domain @@ -22,10 +29,6 @@ package fr.ifremer.echobase.persistence.migration.workingDb; */ import fr.ifremer.echobase.entities.EchoBaseUserTopiaPersistenceContext; -import org.nuiton.topia.persistence.TopiaException; -import org.nuiton.util.Version; - -import java.util.List; /** * Created on 4/16/14. @@ -37,11 +40,11 @@ public class MigrationCallBackForVersion2_6_1 extends MigrationCallBackForVersio @Override public Version getVersion() { - return new Version("2.6.1"); + return Versions.valueOf("2.6.1"); } @Override - protected void prepareMigrationScript(EchoBaseUserTopiaPersistenceContext tx, + protected void prepareMigrationScript(TopiaSqlSupport sqlSupport, List<String> queries, boolean showSql, boolean showProgression) throws TopiaException { diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_7_2.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_7_2.java index 97d91a3..a1ee642 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_7_2.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_7_2.java @@ -1,5 +1,12 @@ package fr.ifremer.echobase.persistence.migration.workingDb; +import java.util.List; + +import org.nuiton.topia.persistence.TopiaException; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; +import org.nuiton.util.version.Version; +import org.nuiton.util.version.Versions; + /* * #%L * EchoBase :: Domain @@ -22,10 +29,6 @@ package fr.ifremer.echobase.persistence.migration.workingDb; */ import fr.ifremer.echobase.entities.EchoBaseUserTopiaPersistenceContext; -import org.nuiton.topia.persistence.TopiaException; -import org.nuiton.util.Version; - -import java.util.List; /** * Created on 12/16/14. @@ -37,11 +40,11 @@ public class MigrationCallBackForVersion2_7_2 extends MigrationCallBackForVersio @Override public Version getVersion() { - return new Version("2.7.2"); + return Versions.valueOf("2.7.2"); } @Override - protected void prepareMigrationScript(EchoBaseUserTopiaPersistenceContext tx, + protected void prepareMigrationScript(TopiaSqlSupport sqlSupport, List<String> queries, boolean showSql, boolean showProgression) throws TopiaException { diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallback.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallback.java index d0fc3f8..69cc2b5 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallback.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallback.java @@ -21,11 +21,9 @@ package fr.ifremer.echobase.persistence.migration.workingDb; * #L% */ -import fr.ifremer.echobase.entities.EchoBaseUserTopiaPersistenceContext; import fr.ifremer.echobase.persistence.migration.EchoBaseMigrationCallBackResolver; -import org.nuiton.topia.persistence.support.TopiaSqlSupport; import org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG; -import org.nuiton.util.Version; +import org.nuiton.util.version.Version; import java.util.List; @@ -35,7 +33,7 @@ import java.util.List; * @author Tony Chemit - chemit@codelutin.com * @since 1.3 */ -public class MigrationCallback extends TopiaMigrationCallbackByClassNG<EchoBaseUserTopiaPersistenceContext> { +public class MigrationCallback extends TopiaMigrationCallbackByClassNG { public MigrationCallback() { super(EchoBaseMigrationCallBackResolver.newResolver( @@ -46,9 +44,4 @@ public class MigrationCallback extends TopiaMigrationCallbackByClassNG<EchoBaseU public boolean askUser(Version version, List<Version> versions) { return true; } - - @Override - protected TopiaSqlSupport getSqlSupport(EchoBaseUserTopiaPersistenceContext persistenceContext) { - return persistenceContext.getSqlSupport(); - } } diff --git a/echobase-domain/src/main/resources/echobase-internaldb.properties b/echobase-domain/src/main/resources/echobase-internaldb.properties index 418acd7..a48c96e 100644 --- a/echobase-domain/src/main/resources/echobase-internaldb.properties +++ b/echobase-domain/src/main/resources/echobase-internaldb.properties @@ -27,9 +27,6 @@ hibernate.connection.password=sa hibernate.connection.driver_class=org.h2.Driver hibernate.connection.url=jdbc:h2:file:${echobase.internal.db.directory}/echobase-user -# Never create/update schema (will do it by logic) -hibernate.hbm2ddl.auto=none - # To custom sql in logger hibernate.show_sql=false hibernate.format_sql=false diff --git a/echobase-domain/src/main/resources/echobase-workingdb.properties b/echobase-domain/src/main/resources/echobase-workingdb.properties index 9d5044e..a94742c 100644 --- a/echobase-domain/src/main/resources/echobase-workingdb.properties +++ b/echobase-domain/src/main/resources/echobase-workingdb.properties @@ -27,9 +27,6 @@ hibernate.connection.driver_class=${configuration.driver} hibernate.dialect=${configuration.dialect} hibernate.connection.provider_class=org.nuiton.topia.persistence.internal.TopiaConnectionProvider -# Never create/update schema (will do it by logic) -hibernate.hbm2ddl.auto=none - # To custom sql in logger hibernate.show_sql=false hibernate.format_sql=false diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/DbEditorService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/DbEditorService.java index 0fcab32..011d43e 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/DbEditorService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/DbEditorService.java @@ -56,6 +56,7 @@ import org.nuiton.topia.service.csv.EntityCsvModel; import org.nuiton.util.PagerBeanUtil; import org.nuiton.util.beans.BeanMonitor; import org.nuiton.util.beans.PropertyDiff; +import org.nuiton.util.pagination.PaginationParameter; import javax.inject.Inject; import java.math.BigDecimal; @@ -101,7 +102,8 @@ public class DbEditorService extends EchoBaseServiceSupport { try { TopiaDao<E> dao = persistenceContext.getDao(entityType); - return dao.findAll(); + List<E> result = dao.findAll(); + return result; } catch (TopiaException eee) { throw new EchoBaseTechnicalException("Could not obtain data", eee); } @@ -109,7 +111,8 @@ public class DbEditorService extends EchoBaseServiceSupport { public TableMeta<EchoBaseUserEntityEnum> getTableMeta(EchoBaseUserEntityEnum tableName) { DbMeta<EchoBaseUserEntityEnum> dbMeta = getDbMeta(); - return dbMeta.getTable(tableName); + TableMeta<EchoBaseUserEntityEnum> result = dbMeta.getTable(tableName); + return result; } public Map<?, ?>[] getData(EchoBaseUserEntityEnum type, TopiaPagerBean pager) { @@ -163,7 +166,10 @@ public class DbEditorService extends EchoBaseServiceSupport { PagerBeanUtil.computeRecordIndexesAndPagesNumber(pager); } - return dao.find(hql, hqlParameters, pager); + //FIXME echatellier 20160309 use proper paginationparameter everywhere + PaginationParameter param = PaginationParameter.of(pager.getPageIndex(), pager.getPageSize()); + List<E> result = dao.find(hql, hqlParameters, param.getStartIndex(), param.getEndIndex()); + return result; } catch (TopiaException eee) { throw new EchoBaseTechnicalException("Could not obtain data", eee); } @@ -180,7 +186,8 @@ public class DbEditorService extends EchoBaseServiceSupport { hql += " WHERE " + extraWhereQuery; } hql += " ORDER BY e.id"; - return dao.forHql(hql, Collections.<String, Object>emptyMap()).findAllLazy(5000); + Iterable<E> result = dao.forHql(hql, Collections.<String, Object>emptyMap()).findAllLazy(5000); + return result; } catch (TopiaException eee) { throw new EchoBaseTechnicalException("Could not obtain data", eee); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserService.java index 672945a..9832111 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserService.java @@ -29,7 +29,9 @@ import fr.ifremer.echobase.services.EchoBaseServiceSupport; import org.apache.commons.lang3.StringUtils; import org.nuiton.topia.persistence.TopiaException; import org.nuiton.topia.persistence.pager.TopiaPagerBean; +import org.nuiton.util.PagerBean; import org.nuiton.util.StringUtil; +import org.nuiton.util.pagination.PaginationParameter; import javax.inject.Inject; import java.util.List; @@ -52,10 +54,19 @@ public class UserService extends EchoBaseServiceSupport { EchoBaseInternalPersistenceContext echoBaseInternalPersistenceContext; public List<EchoBaseUser> getUsers() { - return getUsers(null); + return getUsers((PaginationParameter)null); } - public List<EchoBaseUser> getUsers(TopiaPagerBean pager) { + /** + * @since 3.0, prefer using PaginationParameter param + */ + @Deprecated + public List<EchoBaseUser> getUsers(PagerBean pager) { + PaginationParameter param = PaginationParameter.of(pager.getPageIndex(), pager.getPageSize()); + return getUsers(param); + } + + public List<EchoBaseUser> getUsers(PaginationParameter pager) { try { EchoBaseUserTopiaDao dao = getDao(); return dao.findAll(pager); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/embeddedapplication/EmbeddedApplicationService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/embeddedapplication/EmbeddedApplicationService.java index b9a0121..a03a943 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/embeddedapplication/EmbeddedApplicationService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/embeddedapplication/EmbeddedApplicationService.java @@ -317,7 +317,7 @@ public class EmbeddedApplicationService extends EchoBaseServiceSupport { throw eee; } finally { serviceContext.setEchoBaseUserPersistenceContext(persistenceContext); - newPersistenceContext.closeContext(); + newPersistenceContext.close(); } File exportZipFile = exportconfiguration.getExportFile(); if (log.isInfoEnabled()) { diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportdb/ExportDbService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportdb/ExportDbService.java index dda9eae..7a1480a 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportdb/ExportDbService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportdb/ExportDbService.java @@ -20,21 +20,19 @@ */ package fr.ifremer.echobase.services.service.exportdb; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; -import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; -import fr.ifremer.echobase.entities.data.Cell; -import fr.ifremer.echobase.entities.data.Result; -import fr.ifremer.echobase.entities.data.Voyage; -import fr.ifremer.echobase.io.EchoBaseIOUtil; -import fr.ifremer.echobase.persistence.EchoBaseDbMeta; -import fr.ifremer.echobase.services.EchoBaseServiceSupport; -import fr.ifremer.echobase.services.service.UserDbPersistenceService; +import java.io.File; +import java.io.IOException; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.inject.Inject; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaException; -import org.nuiton.topia.persistence.TopiaPersistenceHelper; import org.nuiton.topia.persistence.metadata.AssociationMeta; import org.nuiton.topia.persistence.metadata.TableMeta; import org.nuiton.topia.service.csv.out.ExportEntityVisitor; @@ -42,13 +40,18 @@ import org.nuiton.topia.service.csv.out.TopiaCsvExports; import org.nuiton.util.FileUtil; import org.nuiton.util.TimeLog; -import javax.inject.Inject; -import java.io.File; -import java.io.IOException; -import java.util.Collection; -import java.util.List; -import java.util.Map; -import java.util.Set; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; + +import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; +import fr.ifremer.echobase.entities.data.Cell; +import fr.ifremer.echobase.entities.data.Result; +import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.io.EchoBaseIOUtil; +import fr.ifremer.echobase.persistence.EchoBaseDbMeta; +import fr.ifremer.echobase.persistence.EchoBasePersistenceHelper; +import fr.ifremer.echobase.services.EchoBaseServiceSupport; +import fr.ifremer.echobase.services.service.UserDbPersistenceService; /** * Service to import / export a complete db. @@ -214,7 +217,7 @@ public class ExportDbService extends EchoBaseServiceSupport { protected final Set<String> categoryIds; - public ReplicateEntityVisitor(TopiaPersistenceHelper<EchoBaseUserEntityEnum> typeProvider, + public ReplicateEntityVisitor(EchoBasePersistenceHelper typeProvider, Map<EchoBaseUserEntityEnum, TopiaCsvExports.EntityExportContext<EchoBaseUserEntityEnum>> entityExporters) { super(typeProvider, entityExporters); categoryIds = Sets.newHashSet(); diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java index 0cc107d..34565a3 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java @@ -157,7 +157,7 @@ public class FakeEchoBaseServiceContext extends TestWatcher implements EchoBaseS protected void finished(Description description) { super.finished(description); if (echoBaseTopiaApplicationContext != null && !echoBaseTopiaApplicationContext.isClosed()) { - echoBaseTopiaApplicationContext.closeContext(); + echoBaseTopiaApplicationContext.close(); } } @@ -196,7 +196,7 @@ public class FakeEchoBaseServiceContext extends TestWatcher implements EchoBaseS @Override public String getUserDbUrl() { - return echoBaseTopiaApplicationContext.getConfiguration().get(TopiaConfigurationConstants.CONFIG_URL); + return echoBaseTopiaApplicationContext.getConfiguration().getJdbcConnectionUrl(); } @Override diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java index bf26bbc..f3f0d7b 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java @@ -371,7 +371,8 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS TopiaIdFactory topiaIdFactory = persistenceContext.getTopiaIdFactory(); Class entityType = topiaIdFactory.getClassName(id); TopiaDao<E> dao = persistenceContext.getDao(entityType); - return dao.forTopiaIdEquals(id).findAnyOrNull(); + E entity = dao.forTopiaIdEquals(id).findUniqueOrNull(); + return entity; } private void createCommonVoyageImportV1() { diff --git a/pom.xml b/pom.xml index bce842b..7aaa73c 100644 --- a/pom.xml +++ b/pom.xml @@ -121,13 +121,9 @@ <projectId>echobase</projectId> <ciViewId>EchoBase</ciViewId> - <javaVersion>1.8</javaVersion> - <signatureArtifactId>java18</signatureArtifactId> - <signatureVersion>1.0</signatureVersion> - <!-- libraries version --> - <topiaVersion>3.0-beta-3</topiaVersion> + <topiaVersion>3.0</topiaVersion> <nuitonUtilsVersion>3.0-rc-11</nuitonUtilsVersion> <nuitonI18nVersion>3.4.1</nuitonI18nVersion> <nuitonWebVersion>1.16</nuitonWebVersion> @@ -202,7 +198,7 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> - <version>3.4</version> + <version>3.3.2</version> </dependency> <dependency> <groupId>commons-io</groupId> @@ -461,7 +457,7 @@ <plugin> <groupId>org.nuiton.eugene</groupId> <artifactId>eugene-maven-plugin</artifactId> - <version>2.8</version> + <version>2.13</version> <dependencies> <dependency> <groupId>org.nuiton.topia</groupId> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8089 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 8631fc281ea2b0996d917e00996eee1b8eeec3fb Author: Eric Chatellier <chatellier@codelutin.com> Date: Wed Mar 9 15:31:08 2016 +0100 refs #8089: Migrate to ToPIA 3.0 --- .../fr/ifremer/echobase/entities/DriverType.java | 12 ++++--- .../EchoBaseUserTopiaPersistenceContext.java | 4 --- .../EchobaseTopiaApplicationContexts.java | 8 +++++ .../workingDb/MigrationCallBackForVersion.java | 42 +++++++++++++++++++--- .../workingDb/MigrationCallBackForVersion2_2.java | 21 +++++------ .../MigrationCallBackForVersion2_5_1.java | 3 +- .../workingDb/MigrationCallBackForVersion2_6.java | 6 ++-- .../MigrationCallBackForVersion2_6_1.java | 3 +- .../MigrationCallBackForVersion2_7_2.java | 10 +++--- .../MigrationCallBackForVersionPostgresql.java | 35 ++++++++++++++++++ .../main/resources/echobase-workingdb.properties | 2 +- 11 files changed, 104 insertions(+), 42 deletions(-) diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/DriverType.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/DriverType.java index a9568d1..e9b8b4f 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/DriverType.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/DriverType.java @@ -1,5 +1,12 @@ package fr.ifremer.echobase.entities; +import static org.nuiton.i18n.I18n.n; + +import org.hibernate.dialect.H2Dialect; +import org.hibernate.dialect.PostgreSQL82Dialect; + +import fr.ifremer.echobase.I18nAble; + /* * #%L * EchoBase :: Domain @@ -22,11 +29,6 @@ package fr.ifremer.echobase.entities; */ import fr.ifremer.echobase.config.EchoBaseConfiguration; -import fr.ifremer.echobase.I18nAble; -import org.hibernate.dialect.H2Dialect; -import org.hibernate.dialect.PostgreSQL82Dialect; - -import static org.nuiton.i18n.I18n.n; /** * To define a type of driver (h2 or postgres for the moment). diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaPersistenceContext.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaPersistenceContext.java index 6b0268e..b9ef110 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaPersistenceContext.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaPersistenceContext.java @@ -22,11 +22,7 @@ package fr.ifremer.echobase.entities; */ import org.hibernate.cfg.Environment; -import org.nuiton.topia.persistence.TopiaIdFactory; import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContextConstructorParameter; -import org.nuiton.topia.persistence.internal.HibernateProvider; -import org.nuiton.topia.persistence.internal.TopiaHibernateSessionRegistry; -import org.nuiton.topia.persistence.internal.support.TopiaFiresSupport; public class EchoBaseUserTopiaPersistenceContext extends AbstractEchoBaseUserTopiaPersistenceContext { diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchobaseTopiaApplicationContexts.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchobaseTopiaApplicationContexts.java index 6b72970..7e9c01d 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchobaseTopiaApplicationContexts.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchobaseTopiaApplicationContexts.java @@ -151,6 +151,13 @@ public class EchobaseTopiaApplicationContexts { result.setProperty("configuration.dialect", driverType.getDialectClass().getName()); + // since version 3.0 : can't read configuration inside migration + if (driverType == DriverType.POSTGRESQL) { + result.setProperty("configuration.callback", "fr.ifremer.echobase.persistence.migration.workingDb.MigrationCallbackPostgresql"); + } else { + result.setProperty("configuration.callback", "fr.ifremer.echobase.persistence.migration.workingDb.MigrationCallback"); + } + loadProperties(result, USER_DB_PROPERTIES); reloadProperty(result, Environment.URL, "configuration.url"); @@ -158,6 +165,7 @@ public class EchobaseTopiaApplicationContexts { reloadProperty(result, Environment.PASS, "configuration.password"); reloadProperty(result, Environment.DIALECT, "configuration.dialect"); reloadProperty(result, Environment.DRIVER, "configuration.driver"); + reloadProperty(result, "topia.service.migration.callback", "configuration.callback"); return result; } diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion.java index 51bbfee..57a7178 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion.java @@ -21,9 +21,9 @@ package fr.ifremer.echobase.persistence.migration.workingDb; * #L% */ -import fr.ifremer.echobase.entities.EchoBaseUserTopiaPersistenceContext; import fr.ifremer.echobase.io.EchoBaseIOUtil; import org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -42,9 +42,9 @@ public abstract class MigrationCallBackForVersion extends TopiaMigrationCallback } - protected void addSpecificScript(EchoBaseUserTopiaPersistenceContext tx, String script, List<String> queries) { + protected void addSpecificScript(String script, List<String> queries) { - String scriptPath = getSpecificMigrationPath(tx, script); + String scriptPath = getSpecificMigrationPath(script); queries.add(EchoBaseIOUtil.loadScript(scriptPath)); } @@ -53,11 +53,11 @@ public abstract class MigrationCallBackForVersion extends TopiaMigrationCallback return "/migration/workingDb/" + script; } - protected String getSpecificMigrationPath(EchoBaseUserTopiaPersistenceContext tx, String script) { + protected String getSpecificMigrationPath(String script) { String path; - if (tx.isPostgresql()) { + if (isPostgresql()) { path = getMigrationPath("pg/" + script); @@ -71,4 +71,36 @@ public abstract class MigrationCallBackForVersion extends TopiaMigrationCallback } + /** + * Since 3.0 because configuration is not available inside migration. + * Designed to be overloaded. + * + * @return is postgres + */ + protected boolean isPostgresql() { + return false; + } + + /** + * Since verion 3.0 with topia 3.0, application context is not available anymore in migration classes. + * + * @param sqlSupport topia sql support + * @return {@code true} if spatial support in detected + */ + protected boolean isSpatialStructureFound(TopiaSqlSupport sqlSupport) { + boolean result; + try { + + sqlSupport.executeSql("select count(*) from echobase_cell_spatial;"); + result = true; + + } catch (Exception e) { + + // table not found (or other, ...) + result = false; + + } + + return result; + } } diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java index b2a1c8f..8c9b01c 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java @@ -21,7 +21,6 @@ package fr.ifremer.echobase.persistence.migration.workingDb; * #L% */ -import fr.ifremer.echobase.entities.EchoBaseUserTopiaPersistenceContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaException; @@ -72,21 +71,17 @@ public class MigrationCallBackForVersion2_2 extends MigrationCallBackForVersion } protected void updatePostgis(TopiaSqlSupport sqlSupport) { - boolean spatialAware = tx.isSpatialStructureFound(); + boolean spatialAware = isSpatialStructureFound(sqlSupport); - try { - if (spatialAware) { - try { - // compute all spatial data - sqlSupport.executeSql("SELECT echobase_compute_all_spatial_data();"); - } catch (Exception e) { - if (log.isErrorEnabled()) { - log.error("Could not update spatial datas", e); - } + if (spatialAware) { + try { + // compute all spatial data + sqlSupport.executeSql("SELECT echobase_compute_all_spatial_data();"); + } catch (Exception e) { + if (log.isErrorEnabled()) { + log.error("Could not update spatial datas", e); } } - } finally { - tx.rollback(); } } } diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5_1.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5_1.java index fd34919..c6b35d5 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5_1.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5_1.java @@ -21,7 +21,6 @@ package fr.ifremer.echobase.persistence.migration.workingDb; * #L% */ -import fr.ifremer.echobase.entities.EchoBaseUserTopiaPersistenceContext; import org.nuiton.topia.persistence.TopiaException; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import org.nuiton.util.version.Version; @@ -48,7 +47,7 @@ public class MigrationCallBackForVersion2_5_1 extends MigrationCallBackForVersio boolean showSql, boolean showProgression) throws TopiaException { - boolean spatialAware = tx.isSpatialStructureFound(); + boolean spatialAware = isSpatialStructureFound(sqlSupport); if (spatialAware) { diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_6.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_6.java index ba3f46d..35f5344 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_6.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_6.java @@ -33,8 +33,6 @@ import org.nuiton.util.version.Versions; * #L% */ -import fr.ifremer.echobase.entities.EchoBaseUserTopiaPersistenceContext; - /** * Created on 2/26/14. * @@ -54,7 +52,7 @@ public class MigrationCallBackForVersion2_6 extends MigrationCallBackForVersion boolean showSql, boolean showProgression) throws TopiaException { - boolean spatialAware = tx.isSpatialStructureFound(); + boolean spatialAware = isSpatialStructureFound(sqlSupport); if (spatialAware) { @@ -63,7 +61,7 @@ public class MigrationCallBackForVersion2_6 extends MigrationCallBackForVersion } // update datametadata referential (see https://forge.codelutin.com/issues/4583) - updateDataMedataReferential(tx, queries); + updateDataMedataReferential(sqlSupport, queries); } protected void updatePostgis(List<String> queries) { diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_6_1.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_6_1.java index 1dc321f..056da18 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_6_1.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_6_1.java @@ -28,7 +28,6 @@ import org.nuiton.util.version.Versions; * #L% */ -import fr.ifremer.echobase.entities.EchoBaseUserTopiaPersistenceContext; /** * Created on 4/16/14. @@ -49,7 +48,7 @@ public class MigrationCallBackForVersion2_6_1 extends MigrationCallBackForVersio boolean showSql, boolean showProgression) throws TopiaException { - boolean spatialAware = tx.isSpatialStructureFound(); + boolean spatialAware = isSpatialStructureFound(sqlSupport); if (spatialAware) { diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_7_2.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_7_2.java index a1ee642..7e93b71 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_7_2.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_7_2.java @@ -28,8 +28,6 @@ import org.nuiton.util.version.Versions; * #L% */ -import fr.ifremer.echobase.entities.EchoBaseUserTopiaPersistenceContext; - /** * Created on 12/16/14. * @@ -49,7 +47,7 @@ public class MigrationCallBackForVersion2_7_2 extends MigrationCallBackForVersio boolean showSql, boolean showProgression) throws TopiaException { - boolean spatialAware = tx.isSpatialStructureFound(); + boolean spatialAware = isSpatialStructureFound(sqlSupport); if (spatialAware) { @@ -58,7 +56,7 @@ public class MigrationCallBackForVersion2_7_2 extends MigrationCallBackForVersio } // add FileImport entity (see https://forge.codelutin.com/issues/6367) - addFileImportEntity(tx, queries); + addFileImportEntity(queries); } @@ -66,8 +64,8 @@ public class MigrationCallBackForVersion2_7_2 extends MigrationCallBackForVersio addScript("2.7.2-0-postgis-view.sql", queries); } - protected void addFileImportEntity(EchoBaseUserTopiaPersistenceContext tx, List<String> queries) { - addSpecificScript(tx, "2.7.2-1-add-importFile-entity.sql", queries); + protected void addFileImportEntity(List<String> queries) { + addSpecificScript("2.7.2-1-add-importFile-entity.sql", queries); } } \ No newline at end of file diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersionPostgresql.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersionPostgresql.java new file mode 100644 index 0000000..62b9bbe --- /dev/null +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersionPostgresql.java @@ -0,0 +1,35 @@ +package fr.ifremer.echobase.persistence.migration.workingDb; + +/* + * #%L + * EchoBase :: Domain + * %% + * Copyright (C) 2011 - 2012 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ + +/** + * Base migration support for a working db. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 1.1 + */ +public abstract class MigrationCallBackForVersionPostgresql extends MigrationCallBackForVersion { + + protected boolean isPostgresql() { + return true; + } +} diff --git a/echobase-domain/src/main/resources/echobase-workingdb.properties b/echobase-domain/src/main/resources/echobase-workingdb.properties index a94742c..2525cd0 100644 --- a/echobase-domain/src/main/resources/echobase-workingdb.properties +++ b/echobase-domain/src/main/resources/echobase-workingdb.properties @@ -36,6 +36,6 @@ topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal. # Database migration configuration topia.service.migration=org.nuiton.topia.migration.TopiaMigrationEngine -topia.service.migration.callback=fr.ifremer.echobase.persistence.migration.workingDb.MigrationCallback +topia.service.migration.callback=${configuration.callback} topia.service.migration.showSql=true -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8089 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 6dccdf9e07b9b3a2f9cd0548dc8ca0fa81f566b0 Author: Eric Chatellier <chatellier@codelutin.com> Date: Thu Mar 10 17:31:03 2016 +0100 fixes #8089: Migrate to ToPIA 3.0 --- .../java/fr/ifremer/echobase/FixedH2Dialect.java | 48 ++++++++++++++++++++++ .../fr/ifremer/echobase/entities/DriverType.java | 4 +- .../main/resources/echobase-internaldb.properties | 2 +- .../src/main/xmi/echobase-internal.properties | 1 + echobase-domain/src/main/xmi/echobase.properties | 1 + 5 files changed, 53 insertions(+), 3 deletions(-) diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/FixedH2Dialect.java b/echobase-domain/src/main/java/fr/ifremer/echobase/FixedH2Dialect.java new file mode 100644 index 0000000..a63db5b --- /dev/null +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/FixedH2Dialect.java @@ -0,0 +1,48 @@ +/* + * #%L + * EchoBase :: Domain + * %% + * Copyright (C) 2016 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ +package fr.ifremer.echobase; + +import java.sql.Types; + +import org.hibernate.dialect.H2Dialect; + +/** + * Override the H2Dialect to fix detected wrong value. + * + * org.nuiton.topia.persistence.SchemaValidationTopiaException: + * Wrong column type in ECHOBASE.PUBLIC.ENTITYMODIFICATIONLOG for column modificationText. Found: varchar, expected: longvarchar + * + * org.nuiton.topia.persistence.SchemaValidationTopiaException: + * Wrong column type in ECHOBASE.PUBLIC.ACOUSTICINSTRUMENT for column transducerDepth. Found: double, expected: float + * + * org.nuiton.topia.persistence.SchemaValidationTopiaException: + * Wrong column type in ECHOBASE.PUBLIC.IMPORTFILE for column topiaCreateDate. Found: date, expected: timestamp + */ +public class FixedH2Dialect extends H2Dialect { + + public FixedH2Dialect() { + registerColumnType( Types.LONGVARCHAR, String.format("varchar(%d)", Integer.MAX_VALUE) ); + registerColumnType( Types.FLOAT, "double" ); + registerColumnType( Types.TIMESTAMP, "date" ); + } + +} + diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/DriverType.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/DriverType.java index e9b8b4f..5f4a66b 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/DriverType.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/DriverType.java @@ -2,9 +2,9 @@ package fr.ifremer.echobase.entities; import static org.nuiton.i18n.I18n.n; -import org.hibernate.dialect.H2Dialect; import org.hibernate.dialect.PostgreSQL82Dialect; +import fr.ifremer.echobase.FixedH2Dialect; import fr.ifremer.echobase.I18nAble; /* @@ -39,7 +39,7 @@ import fr.ifremer.echobase.config.EchoBaseConfiguration; public enum DriverType implements I18nAble { H2(org.h2.Driver.class, - H2Dialect.class, + FixedH2Dialect.class, n("echobase.common.driverType.h2")) { @Override public String getPilotVersion(EchoBaseConfiguration config) { diff --git a/echobase-domain/src/main/resources/echobase-internaldb.properties b/echobase-domain/src/main/resources/echobase-internaldb.properties index a48c96e..b37b294 100644 --- a/echobase-domain/src/main/resources/echobase-internaldb.properties +++ b/echobase-domain/src/main/resources/echobase-internaldb.properties @@ -20,7 +20,7 @@ ### # Database basic configuration -hibernate.dialect=org.hibernate.dialect.H2Dialect +hibernate.dialect=fr.ifremer.echobase.FixedH2Dialect hibernate.connection.provider_class=org.nuiton.topia.persistence.internal.TopiaConnectionProvider hibernate.connection.username=sa hibernate.connection.password=sa diff --git a/echobase-domain/src/main/xmi/echobase-internal.properties b/echobase-domain/src/main/xmi/echobase-internal.properties index 674f637..0de1f75 100644 --- a/echobase-domain/src/main/xmi/echobase-internal.properties +++ b/echobase-domain/src/main/xmi/echobase-internal.properties @@ -26,6 +26,7 @@ model.tagValue.version=2.2 model.tagValue.noPCS=true model.tagValue.doNotGenerateBooleanGetMethods=true model.tagValue.indexForeignKeys=true +model.tagValue.useEnumerationName=false ############################################################################### ### Ordered attributes ######################################################## diff --git a/echobase-domain/src/main/xmi/echobase.properties b/echobase-domain/src/main/xmi/echobase.properties index d69f770..15cb7b6 100644 --- a/echobase-domain/src/main/xmi/echobase.properties +++ b/echobase-domain/src/main/xmi/echobase.properties @@ -27,6 +27,7 @@ model.tagValue.noPCS=true model.tagValue.doNotGenerateBooleanGetMethods=true model.tagValue.indexForeignKeys=true model.tagValue.daoSuperClass=fr.ifremer.echobase.entities.AbstractEchoBaseDao +model.tagValue.useEnumerationName=false ############################################################################### ### Ordered attributes ######################################################## -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8089 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit af8380e7ca3c81f5e5f6b227ce6319a7a3acd292 Author: Eric Chatellier <chatellier@codelutin.com> Date: Thu Mar 10 17:40:42 2016 +0100 refs #8089: Update hibernate --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7aaa73c..c04e71f 100644 --- a/pom.xml +++ b/pom.xml @@ -308,7 +308,7 @@ <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> - <version>4.3.7.Final</version> + <version>4.3.11.Final</version> </dependency> <!-- base postgres --> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8089 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 298fe496412fdbdf874ee6ba1a8fb61656f65b00 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Apr 7 16:34:40 2016 +0200 Utilisation du mode strict et correction des problèmes de tag values --- echobase-domain/pom.xml | 1 + echobase-domain/src/main/xmi/echobase-internal.properties | 9 ++++++--- echobase-domain/src/main/xmi/echobase.properties | 15 +++++++++------ 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/echobase-domain/pom.xml b/echobase-domain/pom.xml index e12787a..6b4dcc0 100644 --- a/echobase-domain/pom.xml +++ b/echobase-domain/pom.xml @@ -35,6 +35,7 @@ org.nuiton.eugene.java.JavaBeanTransformer, org.nuiton.topia.templates.TopiaMetaTransformer </templates> + <failIfUnsafe>true</failIfUnsafe> </configuration> <executions> <execution> diff --git a/echobase-domain/src/main/xmi/echobase-internal.properties b/echobase-domain/src/main/xmi/echobase-internal.properties index 0de1f75..18f9c7f 100644 --- a/echobase-domain/src/main/xmi/echobase-internal.properties +++ b/echobase-domain/src/main/xmi/echobase-internal.properties @@ -23,8 +23,10 @@ model.tagValue.notGenerateToString=true model.tagValue.generateOperatorForDAOHelper=true model.tagValue.constantPrefix=PROPERTY_ model.tagValue.version=2.2 -model.tagValue.noPCS=true -model.tagValue.doNotGenerateBooleanGetMethods=true +#model.tagValue.noPCS=true +#model.tagValue.doNotGenerateBooleanGetMethods=true +model.tagValue.generatePropertyChangeSupport=false +model.tagValue.generateBooleanGetMethods=false model.tagValue.indexForeignKeys=true model.tagValue.useEnumerationName=false @@ -40,7 +42,8 @@ model.tagValue.useEnumerationName=false ### Big Text attributes ####################################################### ############################################################################### -fr.ifremer.echobase.entities.ExportQuery.attribute.sqlQuery.tagvalue.type=text +fr.ifremer.echobase.entities.ExportQuery.attribute.sqlQuery.tagValue.hibernateAttributeType=text +#fr.ifremer.echobase.entities.ExportQuery.attribute.sqlQuery.tagvalue.type=text ############################################################################### ### Natural id ############################################################### diff --git a/echobase-domain/src/main/xmi/echobase.properties b/echobase-domain/src/main/xmi/echobase.properties index 15cb7b6..f3a1f92 100644 --- a/echobase-domain/src/main/xmi/echobase.properties +++ b/echobase-domain/src/main/xmi/echobase.properties @@ -23,8 +23,10 @@ model.tagValue.notGenerateToString=true model.tagValue.generateOperatorForDAOHelper=true model.tagValue.constantPrefix=PROPERTY_ model.tagValue.version=2.7.2 -model.tagValue.noPCS=true -model.tagValue.doNotGenerateBooleanGetMethods=true +#model.tagValue.noPCS=true +#model.tagValue.doNotGenerateBooleanGetMethods=true +model.tagValue.generatePropertyChangeSupport=false +model.tagValue.generateBooleanGetMethods=false model.tagValue.indexForeignKeys=true model.tagValue.daoSuperClass=fr.ifremer.echobase.entities.AbstractEchoBaseDao model.tagValue.useEnumerationName=false @@ -45,15 +47,16 @@ fr.ifremer.echobase.entities.data.Transect.attribute.operation.tagvalue.orderBy= ############################################################################### fr.ifremer.echobase.entities.data.Voyage.attribute.echotype.stereotype=unique -fr.ifremer.echobase.entities.data.Cell.attribute.cell.stereotype=unique +#fr.ifremer.echobase.entities.data.Cell.attribute.cell.stereotype=unique ############################################################################### ### Big Text attributes ####################################################### ############################################################################### -fr.ifremer.echobase.entities.EntityModificationLog.attribute.modificationText.tagvalue.type=text -fr.ifremer.echobase.entities.ImportLog.attribute.importText.tagvalue.type=text - +#fr.ifremer.echobase.entities.EntityModificationLog.attribute.modificationText.tagvalue.type=text +fr.ifremer.echobase.entities.EntityModificationLog.attribute.modificationText.tagValue.hibernateAttributeType=text +#fr.ifremer.echobase.entities.ImportLog.attribute.importText.tagvalue.type=text +fr.ifremer.echobase.entities.ImportLog.attribute.importText.tagValue.hibernateAttributeType=text ############################################################################### ### Not null for transverse ################################################### ############################################################################### -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8089 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 8083eb1df6ab78fa256b6cf91404c86b47f02c51 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Apr 7 17:18:45 2016 +0200 on reste sur java 7 --- pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pom.xml b/pom.xml index c04e71f..cd7a78b 100644 --- a/pom.xml +++ b/pom.xml @@ -121,6 +121,10 @@ <projectId>echobase</projectId> <ciViewId>EchoBase</ciViewId> + <javaVersion>1.7</javaVersion> + <signatureArtifactId>java17</signatureArtifactId> + <signatureVersion>1.0</signatureVersion> + <!-- libraries version --> <topiaVersion>3.0</topiaVersion> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm