This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 01d87d9d4d71cf4ae7fd052dbe2d52ad71cae029 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Aug 1 16:39:23 2016 +0200 Meilleur découpage de la migration --- .../migration/AbstractDataSourceMigration.java | 30 +---- .../AbstractObserveMigrationCallBack.java | 26 +---- .../entities/migration/H2DataSourceMigration.java | 0 ...ObserveMigrationCallBackForVersionResolver.java | 2 +- .../ObserveMigrationConfigurationProviderImpl.java | 121 +++++++++++++++++++++ .../entities/migration/PGDataSourceMigration.java | 0 .../DataSourceMigrationForVersion_3_1.java | 6 +- .../DataSourceMigrationForVersion_3_10.java | 9 +- .../DataSourceMigrationForVersion_3_11.java | 9 +- .../DataSourceMigrationForVersion_3_12.java | 9 +- .../DataSourceMigrationForVersion_3_14.java | 9 +- .../DataSourceMigrationForVersion_3_15.java | 9 +- .../DataSourceMigrationForVersion_3_16.java | 9 +- .../DataSourceMigrationForVersion_3_5.java | 9 +- .../DataSourceMigrationForVersion_3_7.java | 9 +- .../DataSourceMigrationForVersion_3_8.java | 9 +- .../DataSourceMigrationForVersion_3_9.java | 9 +- .../DataSourceMigrationForVersion_4_0.java | 9 +- .../DataSourceMigrationForVersion_4_0_1.java | 9 +- .../DataSourceMigrationForVersion_4_0_2.java | 9 +- .../DataSourceMigrationForVersion_4_0_4.java | 9 +- .../DataSourceMigrationForVersion_4_0_RC2.java | 9 +- .../DataSourceMigrationForVersion_4_0_RC3.java | 9 +- .../DataSourceMigrationForVersion_4_0_RC4.java | 9 +- .../DataSourceMigrationForVersion_4_0_RC6.java | 9 +- .../DataSourceMigrationForVersion_4_0_RC7.java | 9 +- .../DataSourceMigrationForVersion_4_900.java | 9 +- .../DataSourceMigrationForVersion_4_901.java | 9 +- .../DataSourceMigrationForVersion_4_902.java | 9 +- .../DataSourceMigrationForVersion_4_903.java | 9 +- .../DataSourceMigrationForVersion_4_904.java | 9 +- .../DataSourceMigrationForVersion_5_0.java | 9 +- ...migration.ObserveMigrationConfigurationProvider | 1 + ...rveMigrationCallBackForVersionResolverTest.java | 6 +- .../observe/ObserveTopiaApplicationContext.java | 7 ++ .../observe/ObserveTopiaConfigurationFactory.java | 75 +++++++------ .../entities/migration/MigrationVersions.java | 87 --------------- .../ObserveMigrationConfigurationProvider.java | 40 +++++++ .../entities/migration/ObserveMigrationEngine.java | 13 +-- .../services/service/DataSourceServiceTopia.java | 14 +-- .../ird/observe/services/DataSourceResource.java | 4 +- .../service/DataSourceServiceTopiaTest.java | 7 +- .../fr/ird/observe/services/service/RigthTest.java | 6 +- .../java/fr/ird/observe/test/ObserveFixtures.java | 3 + 44 files changed, 411 insertions(+), 262 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java similarity index 67% rename from observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java index 25e58c8..92a3f1b 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java @@ -21,8 +21,6 @@ */ package fr.ird.observe.entities.migration; -import com.google.common.collect.ImmutableList; -import fr.ird.observe.ObserveTopiaApplicationContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.migration.TopiaMigrationCallbackByClass; @@ -41,43 +39,19 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback /** Logger. */ private static final Log log = LogFactory.getLog(AbstractDataSourceMigration.class); - public static ImmutableList<Version> getVersionsAfter(Version current) { - - ImmutableList.Builder<Version> builder = ImmutableList.builder(); - - for (Version version : MigrationVersions.getAvailableVersions()) { - - if (version.after(current)) { - - builder.add(version); - - } - } - - return builder.build(); - } - - protected ObserveTopiaApplicationContext topiaApplicationContext; - protected AbstractDataSourceMigration(MigrationCallBackForVersionResolver callBackResolver) { - super(callBackResolver); - } @Override public Version[] getAvailableVersions() { - return MigrationVersions.getAvailableVersions(); + return ObserveMigrationConfigurationProvider.get().getAvailableVersions(); } @Override public boolean askUser(Version dbVersion, List<Version> versions) { // on autorise les migrations dès quelles sont demandée pour une version égale ou superieur à la V3.0. - return dbVersion.afterOrEquals(MigrationVersions.getMinimumVersion()); - } - - public void setTopiaApplicationContext(ObserveTopiaApplicationContext topiaApplicationContext) { - this.topiaApplicationContext = topiaApplicationContext; + return dbVersion.afterOrEquals(ObserveMigrationConfigurationProvider.get().getMinimumVersion()); } } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractObserveMigrationCallBack.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/AbstractObserveMigrationCallBack.java similarity index 79% rename from observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractObserveMigrationCallBack.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/AbstractObserveMigrationCallBack.java index a17266e..f4f2e49 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractObserveMigrationCallBack.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/AbstractObserveMigrationCallBack.java @@ -1,27 +1,5 @@ package fr.ird.observe.entities.migration; -/* - * #%L - * ObServe :: Entities - * %% - * Copyright (C) 2008 - 2014 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU 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 General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - import com.google.common.base.Charsets; import com.google.common.collect.Lists; import org.apache.commons.io.IOUtils; @@ -49,9 +27,7 @@ import java.util.Set; */ public abstract class AbstractObserveMigrationCallBack extends TopiaMigrationCallbackByClass.MigrationCallBackForVersion { - /** - * Logger. - */ + /** Logger. */ private static final Log log = LogFactory.getLog(AbstractObserveMigrationCallBack.class); private final String scriptSuffix; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/H2DataSourceMigration.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/H2DataSourceMigration.java similarity index 100% rename from observe-entities/src/main/java/fr/ird/observe/entities/migration/H2DataSourceMigration.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/H2DataSourceMigration.java diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationCallBackForVersionResolver.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationCallBackForVersionResolver.java similarity index 98% rename from observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationCallBackForVersionResolver.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationCallBackForVersionResolver.java index 0e440ee..10ee36b 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationCallBackForVersionResolver.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationCallBackForVersionResolver.java @@ -51,7 +51,7 @@ class ObserveMigrationCallBackForVersionResolver implements TopiaMigrationCallba @Override public Class<? extends TopiaMigrationCallbackByClass.MigrationCallBackForVersion> getCallBack(Version version) { - String mainclassName = getClass().getPackage().getName() + ".DataSourceMigrationForVersion_" + version.getValidName(); + String mainclassName = getClass().getPackage().getName() + ".versions.DataSourceMigrationForVersion_" + version.getValidName(); Class<? extends TopiaMigrationCallbackByClass.MigrationCallBackForVersion> result = null; try { Class<?> mainClass = Class.forName(mainclassName); diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationConfigurationProviderImpl.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationConfigurationProviderImpl.java new file mode 100644 index 0000000..b08e15e --- /dev/null +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationConfigurationProviderImpl.java @@ -0,0 +1,121 @@ +package fr.ird.observe.entities.migration; + +import com.google.common.collect.ImmutableList; +import org.nuiton.topia.migration.TopiaMigrationCallbackByClass; +import org.nuiton.version.Version; +import org.nuiton.version.Versions; + +import java.util.LinkedHashSet; +import java.util.Set; + +/** + * Created on 01/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public final class ObserveMigrationConfigurationProviderImpl extends ObserveMigrationConfigurationProvider { + + public enum ObserveMigrationVersions { + + V_3_0("3.0", false), + V_3_1("3.1"), + V_3_5("3.5"), + V_3_7("3.7"), + V_3_8("3.8"), + V_3_9("3.9"), + V_3_10("3.10"), + V_3_11("3.11"), + V_3_12("3.12"), + V_3_14("3.14"), + V_3_15("3.15"), + V_3_16("3.16"), + V_4_0_RC2("4.0-RC2"), + V_4_0_RC3("4.0-RC3"), + V_4_0_RC4("4.0-RC4"), + V_4_0_RC6("4.0-RC6"), + V_4_0_RC7("4.0-RC7"), + V_4_0("4.0"), + V_4_0_1("4.0.1"), + V_4_0_2("4.0.2"), + V_4_0_4("4.0.4"), + V_4_900("4.900"), + V_4_901("4.901"), + V_4_902("4.902"), + V_4_903("4.903"), + V_4_904("4.904"), + + // FIXME A utiliser en version final 5.0 + V_5_0("5.0", false); + + + private final Version version; + private final boolean canApply; + + ObserveMigrationVersions(String versionAsString, boolean canApply) { + this.version = Versions.valueOf(versionAsString); + this.canApply = canApply; + } + + ObserveMigrationVersions(String versionAsString) { + this(versionAsString, true); + } + + public Version getVersion() { + return version; + } + + } + + private final Version[] availableVersions; + + public ObserveMigrationConfigurationProviderImpl() { + + Set<Version> result = new LinkedHashSet<>(); + for (ObserveMigrationVersions version : ObserveMigrationVersions.values()) { + if (version.canApply) { + result.add(version.getVersion()); + } + } + this.availableVersions = result.toArray(new Version[result.size()]); + } + + @Override + public Version[] getAvailableVersions() { + return availableVersions; + } + + @Override + public Version getLastVersion() { + Version[] values = getAvailableVersions(); + int lastIndex = values.length - 1; + return values[lastIndex]; + } + + @Override + public Version getMinimumVersion() { + return ObserveMigrationVersions.V_3_0.getVersion(); + } + + @Override + public ImmutableList<Version> getVersionsAfter(Version current) { + + ImmutableList.Builder<Version> builder = ImmutableList.builder(); + + for (Version version : getAvailableVersions()) { + + if (version.after(current)) { + builder.add(version); + } + + } + + return builder.build(); + + } + + @Override + public Class<? extends TopiaMigrationCallbackByClass> getMigrationClassBack(boolean h2) { + return h2 ? H2DataSourceMigration.class : PGDataSourceMigration.class; + } + +} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/PGDataSourceMigration.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/PGDataSourceMigration.java similarity index 100% rename from observe-entities/src/main/java/fr/ird/observe/entities/migration/PGDataSourceMigration.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/PGDataSourceMigration.java diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_1.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_1.java similarity index 94% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_1.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_1.java index d5a0d4b..0f8e16f 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_1.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_1.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -24,7 +24,7 @@ package fr.ird.observe.entities.migration; import fr.ird.observe.entities.migration.AbstractDataSourceMigration; import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; -import fr.ird.observe.entities.migration.MigrationVersions; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; import org.apache.commons.lang3.tuple.Pair; import org.nuiton.topia.persistence.support.TopiaSqlQuery; import org.nuiton.topia.persistence.support.TopiaSqlSupport; @@ -46,7 +46,7 @@ import java.util.List; public class DataSourceMigrationForVersion_3_1 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_3_1(AbstractDataSourceMigration callBack) { - super(MigrationVersions.V_3_1.getVersion(), callBack, ""); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_3_1.getVersion(), callBack, ""); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_10.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_10.java similarity index 80% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_10.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_10.java index 2274c41..dda7894 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_10.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_10.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -35,7 +40,7 @@ import java.util.List; public class DataSourceMigrationForVersion_3_10 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_3_10(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_3_10.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_3_10.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_11.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_11.java similarity index 81% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_11.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_11.java index 8b2f3e7..956a5ae 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_11.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_11.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -35,7 +40,7 @@ import java.util.List; public class DataSourceMigrationForVersion_3_11 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_3_11(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_3_11.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_3_11.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_12.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_12.java similarity index 79% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_12.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_12.java index 7c25f26..bc99eb3 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_12.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_12.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -35,7 +40,7 @@ import java.util.List; public class DataSourceMigrationForVersion_3_12 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_3_12(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_3_12.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_3_12.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_14.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_14.java similarity index 80% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_14.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_14.java index 479f72d..98d69f9 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_14.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_14.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -35,7 +40,7 @@ import java.util.List; public class DataSourceMigrationForVersion_3_14 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_3_14(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_3_14.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_3_14.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_15.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_15.java similarity index 80% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_15.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_15.java index 9c89d04..911279c 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_15.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_15.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -35,7 +40,7 @@ import java.util.List; public class DataSourceMigrationForVersion_3_15 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_3_15(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_3_15.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_3_15.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_16.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_16.java similarity index 92% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_16.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_16.java index b03a7df..29b2def 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_16.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_16.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.support.TopiaSqlSupport; @@ -45,7 +50,7 @@ public class DataSourceMigrationForVersion_3_16 extends AbstractObserveMigration private static final Log log = LogFactory.getLog(DataSourceMigrationForVersion_3_16.class); public DataSourceMigrationForVersion_3_16(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_3_16.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_3_16.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_5.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_5.java similarity index 94% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_5.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_5.java index beb41ed..d085b1e 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_5.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_5.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.TopiaException; import org.nuiton.topia.persistence.support.TopiaSqlSupport; @@ -87,7 +92,7 @@ public abstract class DataSourceMigrationForVersion_3_5 extends AbstractObserveM }; public DataSourceMigrationForVersion_3_5(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_3_5.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_3_5.getVersion(), callBack, scriptSuffix); } protected abstract void removeFK(TopiaSqlSupport tx, String tableName, List<String> queries) throws TopiaException; diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_7.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_7.java similarity index 82% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_7.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_7.java index 1645adf..f970536 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_7.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_7.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -35,7 +40,7 @@ import java.util.List; public abstract class DataSourceMigrationForVersion_3_7 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_3_7(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_3_7.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_3_7.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_8.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_8.java similarity index 80% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_8.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_8.java index 371f9e8..1453de5 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_8.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_8.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -35,7 +40,7 @@ import java.util.List; public class DataSourceMigrationForVersion_3_8 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_3_8(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_3_8.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_3_8.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_9.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_9.java similarity index 79% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_9.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_9.java index 76aa2a9..da4a57b 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_3_9.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_9.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -35,7 +40,7 @@ import java.util.List; public class DataSourceMigrationForVersion_3_9 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_3_9(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_3_9.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_3_9.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0.java similarity index 79% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0.java index adf8056..cacdcd0 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -35,7 +40,7 @@ import java.util.List; public class DataSourceMigrationForVersion_4_0 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_4_0(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_4_0.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_4_0.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_1.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_1.java similarity index 94% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_1.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_1.java index 5d2ade9..fa85f0e 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_1.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_1.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -25,6 +25,11 @@ package fr.ird.observe.entities.migration; import com.google.common.collect.LinkedHashMultimap; import com.google.common.collect.Multimap; import fr.ird.observe.ObserveTopiaIdFactory; +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; import fr.ird.observe.entities.seine.GearUseFeaturesSeine; import org.nuiton.topia.persistence.TopiaException; @@ -47,7 +52,7 @@ import java.util.Set; public abstract class DataSourceMigrationForVersion_4_0_1 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_4_0_1(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_4_0_1.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_4_0_1.getVersion(), callBack, scriptSuffix); } protected abstract void removeForeignKeys(TopiaSqlSupport tx, List<String> queries); diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_2.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_2.java similarity index 80% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_2.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_2.java index e10115b..9f1cccf 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_2.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_2.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -35,7 +40,7 @@ import java.util.List; public abstract class DataSourceMigrationForVersion_4_0_2 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_4_0_2(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_4_0_2.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_4_0_2.getVersion(), callBack, scriptSuffix); } public static class H2DataSourceMigrationForVersion extends DataSourceMigrationForVersion_4_0_2 { diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_4.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_4.java similarity index 79% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_4.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_4.java index 2c5be0b..1a2a7a5 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_4.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_4.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.TopiaException; import org.nuiton.topia.persistence.support.TopiaSqlSupport; @@ -36,7 +41,7 @@ import java.util.List; public abstract class DataSourceMigrationForVersion_4_0_4 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_4_0_4(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_4_0_4.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_4_0_4.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_RC2.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC2.java similarity index 85% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_RC2.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC2.java index dbe53fc..a7a561c 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_RC2.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC2.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.sql.PreparedStatement; @@ -40,7 +45,7 @@ import java.util.Set; public class DataSourceMigrationForVersion_4_0_RC2 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_4_0_RC2(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_4_0_RC2.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_4_0_RC2.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_RC3.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC3.java similarity index 95% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_RC3.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC3.java index a104685..7eee5b2 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_RC3.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC3.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaException; @@ -49,7 +54,7 @@ public abstract class DataSourceMigrationForVersion_4_0_RC3 extends AbstractObse private static final Log log = LogFactory.getLog(DataSourceMigrationForVersion_4_0_RC3.class); public DataSourceMigrationForVersion_4_0_RC3(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_4_0_RC3.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_4_0_RC3.getVersion(), callBack, scriptSuffix); } protected abstract void addMissingForeignKeys(TopiaSqlSupport tx, List<String> queries) throws TopiaException; diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_RC4.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC4.java similarity index 79% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_RC4.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC4.java index b7fc613..02da08e 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_RC4.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC4.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -35,7 +40,7 @@ import java.util.List; public class DataSourceMigrationForVersion_4_0_RC4 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_4_0_RC4(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_4_0_RC4.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_4_0_RC4.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_RC6.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC6.java similarity index 84% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_RC6.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC6.java index 3f5d6c3..49479ee 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_RC6.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC6.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -35,7 +40,7 @@ import java.util.List; public abstract class DataSourceMigrationForVersion_4_0_RC6 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_4_0_RC6(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_4_0_RC6.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_4_0_RC6.getVersion(), callBack, scriptSuffix); } protected abstract void removeForeignKeyOnGearFseFeaturesMeasurementSeine(TopiaSqlSupport tx, List<String> queries); diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_RC7.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC7.java similarity index 81% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_RC7.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC7.java index 7b0b3f7..37a85f2 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_0_RC7.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC7.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -35,7 +40,7 @@ import java.util.List; public abstract class DataSourceMigrationForVersion_4_0_RC7 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_4_0_RC7(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_4_0_RC7.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_4_0_RC7.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_900.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_900.java similarity index 80% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_900.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_900.java index f8a3ccc..e5fd8bd 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_900.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_900.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -34,7 +39,7 @@ import java.util.List; public class DataSourceMigrationForVersion_4_900 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_4_900(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_4_900.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_4_900.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_901.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_901.java similarity index 79% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_901.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_901.java index 7a5b699..35a647c 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_901.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_901.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -34,7 +39,7 @@ import java.util.List; public class DataSourceMigrationForVersion_4_901 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_4_901(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_4_901.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_4_901.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_902.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_902.java similarity index 79% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_902.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_902.java index 63d05f7..94b3363 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_902.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_902.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -34,7 +39,7 @@ import java.util.List; public class DataSourceMigrationForVersion_4_902 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_4_902(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_4_902.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_4_902.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_903.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_903.java similarity index 80% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_903.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_903.java index 055bc2e..dd93904 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_903.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_903.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -34,7 +39,7 @@ import java.util.List; public class DataSourceMigrationForVersion_4_903 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_4_903(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_4_903.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_4_903.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_904.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_904.java similarity index 79% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_904.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_904.java index 607b8aa..33cf160 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_4_904.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_904.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -34,7 +39,7 @@ import java.util.List; public class DataSourceMigrationForVersion_4_904 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_4_904(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_4_904.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_4_904.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_5_0.java b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0.java similarity index 79% rename from observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_5_0.java rename to observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0.java index c0ac8b8..8800bb2 100644 --- a/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_5_0.java +++ b/observe-entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0.java @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.migration; +package fr.ird.observe.entities.migration.versions; /* * #%L @@ -22,6 +22,11 @@ package fr.ird.observe.entities.migration; * #L% */ +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -35,7 +40,7 @@ import java.util.List; public class DataSourceMigrationForVersion_5_0 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_5_0(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(MigrationVersions.V_5_0.getVersion(), callBack, scriptSuffix); + super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_5_0.getVersion(), callBack, scriptSuffix); } @Override diff --git a/observe-entities-migration/src/main/resources/META-INF/services/fr.ird.observe.entities.migration.ObserveMigrationConfigurationProvider b/observe-entities-migration/src/main/resources/META-INF/services/fr.ird.observe.entities.migration.ObserveMigrationConfigurationProvider new file mode 100644 index 0000000..c1819ef --- /dev/null +++ b/observe-entities-migration/src/main/resources/META-INF/services/fr.ird.observe.entities.migration.ObserveMigrationConfigurationProvider @@ -0,0 +1 @@ +fr.ird.observe.entities.migration.ObserveMigrationConfigurationProviderImpl \ No newline at end of file diff --git a/observe-entities-migration/src/test/java/fr/ird/observe/entities/migration/ObserveMigrationCallBackForVersionResolverTest.java b/observe-entities-migration/src/test/java/fr/ird/observe/entities/migration/ObserveMigrationCallBackForVersionResolverTest.java index ede5b24..558667f 100644 --- a/observe-entities-migration/src/test/java/fr/ird/observe/entities/migration/ObserveMigrationCallBackForVersionResolverTest.java +++ b/observe-entities-migration/src/test/java/fr/ird/observe/entities/migration/ObserveMigrationCallBackForVersionResolverTest.java @@ -41,7 +41,7 @@ public class ObserveMigrationCallBackForVersionResolverTest { = new ObserveMigrationCallBackForVersionResolver("H2"); Assert.assertNotNull(resolver); - for (Version version : MigrationVersions.getAvailableVersions()) { + for (Version version : ObserveMigrationConfigurationProvider.get().getAvailableVersions()) { Class<? extends TopiaMigrationCallbackByClass.MigrationCallBackForVersion> callBack = resolver.getCallBack(version); Assert.assertNotNull(callBack); } @@ -52,7 +52,7 @@ public class ObserveMigrationCallBackForVersionResolverTest { ObserveMigrationCallBackForVersionResolver resolver = new ObserveMigrationCallBackForVersionResolver("PG"); Assert.assertNotNull(resolver); - for (Version version : MigrationVersions.getAvailableVersions()) { + for (Version version : ObserveMigrationConfigurationProvider.get().getAvailableVersions()) { Class<? extends TopiaMigrationCallbackByClass.MigrationCallBackForVersion> callBack = resolver.getCallBack(version); Assert.assertNotNull(callBack); } @@ -63,7 +63,7 @@ public class ObserveMigrationCallBackForVersionResolverTest { ObserveMigrationCallBackForVersionResolver resolver = new ObserveMigrationCallBackForVersionResolver("Dummy"); Assert.assertNotNull(resolver); - for (Version version : MigrationVersions.getAvailableVersions()) { + for (Version version : ObserveMigrationConfigurationProvider.get().getAvailableVersions()) { Class<? extends TopiaMigrationCallbackByClass.MigrationCallBackForVersion> callBack = resolver.getCallBack(version); Assert.assertNotNull(callBack); } diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java index e2ea4da..cea6a7c 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java @@ -24,6 +24,7 @@ package fr.ird.observe; import com.google.common.collect.ImmutableSet; import fr.ird.observe.entities.Entities; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProvider; import fr.ird.observe.entities.migration.ObserveMigrationEngine; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -80,6 +81,7 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat protected final String authenticationToken; protected final TopiaMetadataModelSupport topiaMetadataModelSupport; protected final TopiaSqlTablesFactory topiaSqlTablesFactory; + protected final ObserveMigrationConfigurationProvider observeMigrationConfigurationProvider; protected TopiaSqlTables tripSeineTables; protected TopiaSqlTables tripLonglineTables; protected TopiaSqlTables referentialTables; @@ -89,6 +91,7 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat this.authenticationToken = UUID.randomUUID().toString(); this.topiaMetadataModelSupport = new TopiaMetadataModelSupportImpl("fr.ird.observe", "Observe"); this.topiaSqlTablesFactory = new TopiaSqlTablesFactory(getMetadataModel(), this); + this.observeMigrationConfigurationProvider = ObserveMigrationConfigurationProvider.get(); } @Override @@ -104,6 +107,10 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat this.open = open; } + public ObserveMigrationConfigurationProvider getObserveMigrationConfigurationProvider() { + return observeMigrationConfigurationProvider; + } + public ObserveMigrationEngine getMigrationService() { return getServices(ObserveMigrationEngine.class).get(MIGRATION_SERVICE_NAME); } diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java index ca7b1cb..5d65438 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java @@ -23,9 +23,8 @@ package fr.ird.observe; */ import com.google.common.collect.ImmutableMap; -import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProvider; import fr.ird.observe.entities.migration.ObserveMigrationEngine; -import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.jdbc.JdbcConfiguration; @@ -47,39 +46,39 @@ public class ObserveTopiaConfigurationFactory { /** l'url d'acces a la base locale */ public static final String H2_LOCAL_URL = "jdbc:h2:file:%s;" + - // on peut aussi utiliser file, socket - "FILE_LOCK=file;" + - //1 or 2 is needed to restore avec crash - // 0: logging is disabled (faster), - // 1: logging of the data is enabled, but logging of the index - // changes is disabled (default), 2: logging of both data and index - // changes are enabled - "LOG=0;" + - // on peut aussi utiliser hsqldb, mysql ou postgresql - "MODE=postgresql;" + - //"MODE=hsqldb;" + - // Sets the default lock timeout (in milliseconds) in this - // database that is used for the new sessions. - "DEFAULT_LOCK_TIMEOUT=100;" + - // -1: the database is never closed until the close delay is set to - // some other rev or SHUTDOWN is called., 0: no delay (default; the - // database is closed if the last connection to it is closed)., n: - // the database is left open for n second after the last connection - // is closed. - "DB_CLOSE_DELAY=0;" + - // 0: no locking (should only be used for testing), - // 1: table level locking (default), - // 2: table level locking with garbage collection (if the - // application does not close all connections). - // LOCK_MODE 3 (READ_COMMITTED). Table level locking, but only when - // writing (no read locks). - "LOCK_MODE=3;" + - // Levels: 0=off, 1=error, 2=info, 3=debug. - "TRACE_LEVEL_FILE=0;" + - // on system.out: 0=off, 1=error, 2=info, 3=debug. - "TRACE_LEVEL_SYSTEM_OUT=0;" + - // maximumn cache to improve performance... - "CACHE_SIZE=65536"; + // on peut aussi utiliser file, socket + "FILE_LOCK=file;" + + //1 or 2 is needed to restore avec crash + // 0: logging is disabled (faster), + // 1: logging of the data is enabled, but logging of the index + // changes is disabled (default), 2: logging of both data and index + // changes are enabled + "LOG=0;" + + // on peut aussi utiliser hsqldb, mysql ou postgresql + "MODE=postgresql;" + + //"MODE=hsqldb;" + + // Sets the default lock timeout (in milliseconds) in this + // database that is used for the new sessions. + "DEFAULT_LOCK_TIMEOUT=100;" + + // -1: the database is never closed until the close delay is set to + // some other rev or SHUTDOWN is called., 0: no delay (default; the + // database is closed if the last connection to it is closed)., n: + // the database is left open for n second after the last connection + // is closed. + "DB_CLOSE_DELAY=0;" + + // 0: no locking (should only be used for testing), + // 1: table level locking (default), + // 2: table level locking with garbage collection (if the + // application does not close all connections). + // LOCK_MODE 3 (READ_COMMITTED). Table level locking, but only when + // writing (no read locks). + "LOCK_MODE=3;" + + // Levels: 0=off, 1=error, 2=info, 3=debug. + "TRACE_LEVEL_FILE=0;" + + // on system.out: 0=off, 1=error, 2=info, 3=debug. + "TRACE_LEVEL_SYSTEM_OUT=0;" + + // maximumn cache to improve performance... + "CACHE_SIZE=65536"; protected static final JdbcConfigurationBuilder JDBC_CONFIGURATION_BUILDER = new JdbcConfigurationBuilder(); @@ -94,7 +93,7 @@ public class ObserveTopiaConfigurationFactory { ObserveTopiaConfiguration topiaConfiguration = createTopiaConfiguration(jdbcConfiguration, initSchema, - showMigrationSql, + showMigrationSql, showMigrationProgression, false); @@ -120,7 +119,7 @@ public class ObserveTopiaConfigurationFactory { ObserveTopiaConfiguration topiaConfiguration = createTopiaConfiguration(jdbcConfiguration, initSchema, - showMigrationSql, + showMigrationSql, showMigrationProgression, true); @@ -147,7 +146,7 @@ public class ObserveTopiaConfigurationFactory { } ImmutableMap<String, String> migrationServiceConfiguration = ImmutableMap.of( - ObserveMigrationEngine.MIGRATION_CALLBACK, h2Configuration ? H2DataSourceMigration.class.getName() : PGDataSourceMigration.class.getName(), + ObserveMigrationEngine.MIGRATION_CALLBACK, ObserveMigrationConfigurationProvider.get().getMigrationClassBack(h2Configuration).getName(), ObserveMigrationEngine.MIGRATION_SHOW_PROGRESSION, String.valueOf(showMigrationProgression), ObserveMigrationEngine.MIGRATION_SHOW_SQL, String.valueOf(showMigrationSql) ); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/MigrationVersions.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/MigrationVersions.java deleted file mode 100644 index a6e8f06..0000000 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/MigrationVersions.java +++ /dev/null @@ -1,87 +0,0 @@ -package fr.ird.observe.entities.migration; - -import org.nuiton.version.Version; -import org.nuiton.version.Versions; - -import java.util.LinkedHashSet; -import java.util.Set; - -/** - * Created on 01/08/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 5.0 - */ -public enum MigrationVersions { - - V_3_0("3.0", false), - V_3_1("3.1"), - V_3_5("3.5"), - V_3_7("3.7"), - V_3_8("3.8"), - V_3_9("3.9"), - V_3_10("3.10"), - V_3_11("3.11"), - V_3_12("3.12"), - V_3_14("3.14"), - V_3_15("3.15"), - V_3_16("3.16"), - V_4_0_RC2("4.0-RC2"), - V_4_0_RC3("4.0-RC3"), - V_4_0_RC4("4.0-RC4"), - V_4_0_RC6("4.0-RC6"), - V_4_0_RC7("4.0-RC7"), - V_4_0("4.0"), - V_4_0_1("4.0.1"), - V_4_0_2("4.0.2"), - V_4_0_4("4.0.4"), - V_4_900("4.900"), - V_4_901("4.901"), - V_4_902("4.902"), - V_4_903("4.903"), - V_4_904("4.904"), - - // FIXME A utiliser en version final 5.0 - V_5_0("5.0", false); - - private static Version[] AVAILABLE_VERSIONS; - - private final Version version; - private final boolean canApply; - - MigrationVersions(String versionAsString, boolean canApply) { - this.version = Versions.valueOf(versionAsString); - this.canApply = canApply; - } - - MigrationVersions(String versionAsString) { - this(versionAsString, true); - } - - public Version getVersion() { - return version; - } - - public static Version[] getAvailableVersions() { - if (AVAILABLE_VERSIONS == null) { - Set<Version> result = new LinkedHashSet<>(); - for (MigrationVersions migrationVersions : values()) { - if (migrationVersions.canApply) { - result.add(migrationVersions.getVersion()); - } - } - AVAILABLE_VERSIONS = result.toArray(new Version[result.size()]); - } - return AVAILABLE_VERSIONS; - } - - public static Version getLastVersion() { - Version[] values = getAvailableVersions(); - int lastIndex = values.length - 1; - return values[lastIndex]; - } - - public static Version getMinimumVersion() { - return V_3_0.getVersion(); - } -} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationConfigurationProvider.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationConfigurationProvider.java new file mode 100644 index 0000000..f02999f --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationConfigurationProvider.java @@ -0,0 +1,40 @@ +package fr.ird.observe.entities.migration; + +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; +import org.nuiton.topia.migration.TopiaMigrationCallbackByClass; +import org.nuiton.version.Version; + +import java.util.Iterator; +import java.util.ServiceLoader; + +/** + * Created on 01/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public abstract class ObserveMigrationConfigurationProvider { + + private static ObserveMigrationConfigurationProvider INSTANCE; + + public abstract Version[] getAvailableVersions(); + + public abstract Version getLastVersion(); + + public abstract Version getMinimumVersion(); + + public abstract ImmutableList<Version> getVersionsAfter(Version current); + + public abstract Class<? extends TopiaMigrationCallbackByClass> getMigrationClassBack(boolean h2); + + public static ObserveMigrationConfigurationProvider get() { + if (INSTANCE == null) { + Iterator<ObserveMigrationConfigurationProvider> iterator = ServiceLoader.load(ObserveMigrationConfigurationProvider.class).iterator(); + Preconditions.checkArgument(iterator.hasNext(), "could not find migration versions provider"); + INSTANCE = iterator.next(); + } + return INSTANCE; + } + +} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationEngine.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationEngine.java index f1d5d49..33c0c0d 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationEngine.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationEngine.java @@ -22,14 +22,10 @@ package fr.ird.observe.entities.migration; * #L% */ -import fr.ird.observe.ObserveTopiaApplicationContext; import org.nuiton.topia.migration.TopiaMigrationEngine; import org.nuiton.topia.migration.mappings.TMSVersionHibernateDao; -import org.nuiton.topia.persistence.TopiaApplicationContext; import org.nuiton.topia.persistence.util.TopiaUtil; -import java.util.Map; - /** * Created on 21/08/15. * @@ -37,15 +33,10 @@ import java.util.Map; */ public class ObserveMigrationEngine extends TopiaMigrationEngine { - @Override - public void initTopiaService(TopiaApplicationContext topiaApplicationContext, Map<String, String> serviceConfiguration) { - super.initTopiaService(topiaApplicationContext, serviceConfiguration); - ((AbstractDataSourceMigration) callback).setTopiaApplicationContext((ObserveTopiaApplicationContext) topiaApplicationContext); - } - - public void createSchemaIfNotExit() { + public void createSchemaIfNotExist() { if (TopiaUtil.isSchemaEmpty(versionConfiguration)) { TMSVersionHibernateDao.createTMSSchema(versionConfiguration); } } + } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java index d5cfa7b..95fc070 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java @@ -30,8 +30,7 @@ import com.google.common.collect.Sets; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.ObserveTopiaConfiguration; import fr.ird.observe.ObserveTopiaConfigurationFactory; -import fr.ird.observe.entities.migration.AbstractDataSourceMigration; -import fr.ird.observe.entities.migration.MigrationVersions; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProvider; import fr.ird.observe.services.ObserveJdbcHelper; import fr.ird.observe.services.ObserveSecurityHelper; import fr.ird.observe.services.ObserveServiceTopia; @@ -184,7 +183,7 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS if (((ObserveDataSourceConfigurationTopiaSupport) dataSourceConfiguration).isH2Database()) { topiaApplicationContext.executeSqlStatements(importDatabase); - topiaApplicationContext.getMigrationService().createSchemaIfNotExit(); + topiaApplicationContext.getMigrationService().createSchemaIfNotExist(); topiaApplicationContext.getMigrationService().runSchemaMigration(); } else { // base postgre @@ -201,14 +200,14 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS ObserveTopiaApplicationContext temporaryTopiaApplicationContext = ObserveTopiaApplicationContextFactory.createTopiaApplicationContext(temporaryConfiguration, false); temporaryTopiaApplicationContext.executeSqlStatements(importDatabase); - temporaryTopiaApplicationContext.getMigrationService().createSchemaIfNotExit(); + temporaryTopiaApplicationContext.getMigrationService().createSchemaIfNotExist(); temporaryTopiaApplicationContext.getMigrationService().runSchemaMigration(); SqlScriptProducerService dumpProducerService = serviceContext.newService(temporaryConfiguration, SqlScriptProducerService.class); SqlScriptProducerRequest request = SqlScriptProducerRequest.forPostgres().addSchema().addReferential().addAllData(); byte[] dump = dumpProducerService.produceSqlScript(request); topiaApplicationContext.executeSqlStatements(dump); - topiaApplicationContext.getMigrationService().createSchemaIfNotExit(); + topiaApplicationContext.getMigrationService().createSchemaIfNotExist(); topiaApplicationContext.getMigrationService().runSchemaMigration(); temporaryTopiaApplicationContext.close(); @@ -582,14 +581,15 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS "write data : " + writeData + "."); } + ObserveMigrationConfigurationProvider observeMigrationConfigurationProvider = ObserveMigrationConfigurationProvider.get(); ObserveDataSourceInformation information = new ObserveDataSourceInformation( readReferential, writeReferential, readData, writeData, - MigrationVersions.getMinimumVersion(), + observeMigrationConfigurationProvider.getMinimumVersion(), version, - AbstractDataSourceMigration.getVersionsAfter(version)); + observeMigrationConfigurationProvider.getVersionsAfter(version)); return information; } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java index 614742d..5626b95 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java @@ -26,7 +26,7 @@ import com.google.common.base.Preconditions; import com.google.common.base.Strings; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.ObserveTopiaPersistenceContext; -import fr.ird.observe.entities.migration.MigrationVersions; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProvider; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; @@ -233,7 +233,7 @@ public class DataSourceResource implements TestRule { configurationTopiaH2.setDirectory(localDbFile); configurationTopiaH2.setDbName("obstuna"); configurationTopiaH2.setAutoMigrate(true); - configurationTopiaH2.setModelVersion(MigrationVersions.getLastVersion()); + configurationTopiaH2.setModelVersion(ObserveMigrationConfigurationProvider.get().getLastVersion()); return configurationTopiaH2; } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java index da3e600..9ac5562 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java @@ -24,7 +24,6 @@ package fr.ird.observe.services.service; import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveTopiaApplicationContext; -import fr.ird.observe.entities.migration.MigrationVersions; import fr.ird.observe.services.ObserveTopiaApplicationContextFactory; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; @@ -175,7 +174,7 @@ public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { @Test public void testCreateDataSourceFromImportDatabase() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException, DatabaseNotFoundException, DatabaseConnexionNotAuthorizedException, BabModelVersionException { - String scriptPath = applicationContextResource.getScriptPath("referentiel", MigrationVersions.V_4_0.getVersion()); + String scriptPath = applicationContextResource.getScriptPath("referentiel", ObserveFixtures.FIRST_TEST_DB_VERSION); byte[] dumpContent = TestHelper.getResourceContent(scriptPath); @@ -193,7 +192,7 @@ public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { public void testCreateDataSourceFromImportReferential() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException, BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { // On crée un base qui fait office de source de référentiel - String scriptPath = applicationContextResource.getScriptPath("referentiel", MigrationVersions.V_4_0_1.getVersion()); + String scriptPath = applicationContextResource.getScriptPath("referentiel", ObserveFixtures.FIRST_TEST_DB_VERSION); dataSourceResource.createDataSourceFromScript(scriptPath); ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration = dataSourceResource.getDataSourceConfiguration(); @@ -217,7 +216,7 @@ public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { public void testCreateDataSourceFromImportReferentialAndData() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException, BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { // On crée un base qui fait office de source de référentiel et de source de données (uniquement des données seine) - String scriptPath = applicationContextResource.getScriptPath("dataForTestSeine", MigrationVersions.V_4_0_1.getVersion()); + String scriptPath = applicationContextResource.getScriptPath("dataForTestSeine", ObserveFixtures.FIRST_TEST_DB_VERSION); dataSourceResource.createDataSourceFromScript(scriptPath); ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration = dataSourceResource.getDataSourceConfiguration(); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/RigthTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/RigthTest.java index a209ddd..39a3e13 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/RigthTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/RigthTest.java @@ -22,7 +22,7 @@ package fr.ird.observe.services.service; * #L% */ -import fr.ird.observe.entities.migration.MigrationVersions; +import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProvider; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.ObserveServiceContextTopia; import fr.ird.observe.services.ObserveServiceContextTopiaTaiste; @@ -51,7 +51,7 @@ import java.util.Locale; * FIXME Ca sert à quoi ? et je comprends pas le mot rigth ? * * @author Sylvain Bavencoff - bavencoff@codelutin.com - * FIXME IT tests + * FIXME IT tests */ @Ignore public class RigthTest { @@ -91,7 +91,7 @@ public class RigthTest { configurationTopiaPG.setUsername(login); configurationTopiaPG.setPassword('a'); configurationTopiaPG.setAutoMigrate(true); - configurationTopiaPG.setModelVersion(MigrationVersions.getLastVersion()); + configurationTopiaPG.setModelVersion(ObserveMigrationConfigurationProvider.get().getLastVersion()); return configurationTopiaPG; diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java b/observe-test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java index 5d9236e..2d3a762 100644 --- a/observe-test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java +++ b/observe-test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java @@ -25,6 +25,8 @@ package fr.ird.observe.test; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import org.apache.commons.lang3.mutable.MutableLong; +import org.nuiton.version.Version; +import org.nuiton.version.Versions; import java.util.Map; import java.util.TreeMap; @@ -36,6 +38,7 @@ import java.util.TreeMap; */ public class ObserveFixtures { + public static final Version FIRST_TEST_DB_VERSION = Versions.valueOf("4.0.1"); public static final String PREVIOUS_DEFAULT_VERSION = "4.0.1"; public static final String DEFAULT_VERSION = "4.904"; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.