This is an automated email from the git hooks/post-receive script. New commit to branch develop-2.x in repository topia. See http://git.nuiton.org/topia.git commit ecd21ca66ccbbda2d61f0ccf57641042dcf3082b Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Aug 24 13:20:55 2014 +0200 fixes #3467: Use new Version API from org.nuiton.utils.version package refs #3466: Updates to nuiton-utils 3.0-rc-6 --- pom.xml | 4 +- .../migration/AbstractTopiaMigrationCallback.java | 2 +- .../migration/TopiaMigrationCallbackByClass.java | 2 +- .../migration/TopiaMigrationCallbackByClassNG.java | 8 ++- .../migration/TopiaMigrationCallbackByMethod.java | 2 +- .../topia/migration/TopiaMigrationEngine.java | 59 +++++++++++++++++----- .../topia/migration/mappings/TMSVersion.java | 6 +-- .../topia/migration/mappings/TMSVersionDAO.java | 6 +-- 8 files changed, 60 insertions(+), 29 deletions(-) diff --git a/pom.xml b/pom.xml index f083a81..7be1018 100644 --- a/pom.xml +++ b/pom.xml @@ -217,9 +217,9 @@ <eugeneVersion>2.13</eugeneVersion> <nuitonCsvVersion>3.0-alpha-3</nuitonCsvVersion> <nuitonDecoratorVersion>3.0-alpha-3</nuitonDecoratorVersion> - <nuitonUtilsVersion>3.0-rc-2</nuitonUtilsVersion> + <nuitonUtilsVersion>3.0-SNAPSHOT</nuitonUtilsVersion> <processorPluginVersion>1.3</processorPluginVersion> - <nuitonI18nVersion>3.2</nuitonI18nVersion> + <nuitonI18nVersion>3.3</nuitonI18nVersion> <xmlrpcVersion>3.1.2</xmlrpcVersion> <hibernateVersion>4.3.5.Final</hibernateVersion> <sl4jVersion>1.7.6</sl4jVersion> diff --git a/topia-service-migration/src/main/java/org/nuiton/topia/migration/AbstractTopiaMigrationCallback.java b/topia-service-migration/src/main/java/org/nuiton/topia/migration/AbstractTopiaMigrationCallback.java index 54325bc..52ab25f 100644 --- a/topia-service-migration/src/main/java/org/nuiton/topia/migration/AbstractTopiaMigrationCallback.java +++ b/topia-service-migration/src/main/java/org/nuiton/topia/migration/AbstractTopiaMigrationCallback.java @@ -30,7 +30,7 @@ import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.util.StringUtil; -import org.nuiton.util.Version; +import org.nuiton.util.version.Version; import java.sql.Connection; import java.sql.PreparedStatement; diff --git a/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationCallbackByClass.java b/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationCallbackByClass.java index 7e600f1..52d3de2 100644 --- a/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationCallbackByClass.java +++ b/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationCallbackByClass.java @@ -26,7 +26,7 @@ package org.nuiton.topia.migration; import org.nuiton.topia.TopiaException; import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.util.ObjectUtil; -import org.nuiton.util.Version; +import org.nuiton.util.version.Version; import java.util.ArrayList; import java.util.Arrays; diff --git a/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationCallbackByClassNG.java b/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationCallbackByClassNG.java index 0168ef4..714d5b5 100644 --- a/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationCallbackByClassNG.java +++ b/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationCallbackByClassNG.java @@ -27,8 +27,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaException; import org.nuiton.topia.framework.TopiaContextImplementor; -import org.nuiton.util.Version; -import org.nuiton.util.VersionUtil; +import org.nuiton.util.version.Version; import java.util.ArrayList; import java.util.List; @@ -151,7 +150,7 @@ public abstract class TopiaMigrationCallbackByClassNG extends AbstractTopiaMigra * * @param version the version to migrate * @return the migration call for the given version, or {@code null} - * if no such migration callback exists for the version + * if no such migration callback exists for the version */ MigrationCallBackForVersion getCallBack(Version version); } @@ -167,8 +166,7 @@ public abstract class TopiaMigrationCallbackByClassNG extends AbstractTopiaMigra protected final Map<Version, MigrationCallBackForVersion> versionMigrationMapping; public MigrationCallBackForVersionResolverByServiceLoader() { - this.versionMigrationMapping = new TreeMap<Version, MigrationCallBackForVersion>( - new VersionUtil.VersionComparator()); + this.versionMigrationMapping = new TreeMap<Version, MigrationCallBackForVersion>(); ServiceLoader<MigrationCallBackForVersion> load = ServiceLoader.load(MigrationCallBackForVersion.class); for (MigrationCallBackForVersion callBackForVersion : load) { Version version = callBackForVersion.getVersion(); diff --git a/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationCallbackByMethod.java b/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationCallbackByMethod.java index b918837..beebc40 100644 --- a/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationCallbackByMethod.java +++ b/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationCallbackByMethod.java @@ -26,7 +26,7 @@ package org.nuiton.topia.migration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.framework.TopiaContextImplementor; -import org.nuiton.util.Version; +import org.nuiton.util.version.Version; import java.lang.reflect.Method; diff --git a/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationEngine.java b/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationEngine.java index 394462a..d2f69ee 100644 --- a/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationEngine.java +++ b/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationEngine.java @@ -41,13 +41,13 @@ import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaUtil; import org.nuiton.topia.migration.mappings.TMSVersion; import org.nuiton.topia.migration.mappings.TMSVersionDAO; -import org.nuiton.util.Version; -import org.nuiton.util.VersionUtil; -import org.nuiton.util.VersionUtil.VersionComparator; +import org.nuiton.util.version.Version; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Properties; +import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; @@ -344,8 +344,7 @@ public class TopiaMigrationEngine implements TopiaMigrationService { return true; } - SortedSet<Version> allVersions = - new TreeSet<Version>(new VersionComparator()); + SortedSet<Version> allVersions = new TreeSet<Version>(); allVersions.addAll(Arrays.asList(callback.getAvailableVersions())); if (log.isInfoEnabled()) { log.info(t("topia.migration.available.versions", allVersions)); @@ -357,13 +356,11 @@ public class TopiaMigrationEngine implements TopiaMigrationService { if (dbVersion.before(version)) { // on filtre les versions a appliquer - List<Version> versionsToApply = - VersionUtil.filterVersions(allVersions, - dbVersion, - version, - false, - true - ); + List<Version> versionsToApply = filterVersions(allVersions, + dbVersion, + version, + false, + true); if (versionsToApply.isEmpty()) { if (log.isInfoEnabled()) { @@ -604,7 +601,7 @@ public class TopiaMigrationEngine implements TopiaMigrationService { * entity of the underlying db context. * * @return {@code true} if there is no schema for any of the dealed entities, - * {@code false} otherwise. + * {@code false} otherwise. * @since 2.5.3 */ protected boolean detectDbEmpty() { @@ -692,4 +689,40 @@ public class TopiaMigrationEngine implements TopiaMigrationService { } + /** + * Filter versions. + * + * @param versions versions to filter + * @param min min version to accept + * @param max max version to accept + * @param includeMin flag to include min version + * @param includeMax flag to include max version + * @return versions between min and max + */ + protected List<Version> filterVersions(Set<Version> versions, + Version min, + Version max, + boolean includeMin, + boolean includeMax) { + List<Version> toApply = new ArrayList<Version>(); + for (Version v : versions) { + int t; + if (min != null) { + t = v.compareTo(min); + if (t < 0 || t == 0 && !includeMin) { + // version trop ancienne + continue; + } + } + if (max != null) { + t = v.compareTo(max); + if (t > 0 || t == 0 && !includeMax) { + // version trop recente + continue; + } + } + toApply.add(v); + } + return toApply; + } } diff --git a/topia-service-migration/src/main/java/org/nuiton/topia/migration/mappings/TMSVersion.java b/topia-service-migration/src/main/java/org/nuiton/topia/migration/mappings/TMSVersion.java index bb446b3..3c16a34 100644 --- a/topia-service-migration/src/main/java/org/nuiton/topia/migration/mappings/TMSVersion.java +++ b/topia-service-migration/src/main/java/org/nuiton/topia/migration/mappings/TMSVersion.java @@ -25,8 +25,8 @@ package org.nuiton.topia.migration.mappings; import org.apache.commons.lang3.StringUtils; -import org.nuiton.util.Version; -import org.nuiton.util.VersionUtil; +import org.nuiton.util.version.Version; +import org.nuiton.util.version.Versions; import java.io.Serializable; @@ -76,6 +76,6 @@ public class TMSVersion implements Serializable { } public Version toVersion() { - return StringUtils.isEmpty(version) ? null : VersionUtil.valueOf(version); + return StringUtils.isEmpty(version) ? null : Versions.valueOf(version); } } diff --git a/topia-service-migration/src/main/java/org/nuiton/topia/migration/mappings/TMSVersionDAO.java b/topia-service-migration/src/main/java/org/nuiton/topia/migration/mappings/TMSVersionDAO.java index d85366b..3e0d2ca 100644 --- a/topia-service-migration/src/main/java/org/nuiton/topia/migration/mappings/TMSVersionDAO.java +++ b/topia-service-migration/src/main/java/org/nuiton/topia/migration/mappings/TMSVersionDAO.java @@ -36,8 +36,8 @@ import org.nuiton.topia.TopiaException; import org.nuiton.topia.TopiaRuntimeException; import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaUtil; -import org.nuiton.util.Version; -import org.nuiton.util.VersionUtil; +import org.nuiton.util.version.Version; +import org.nuiton.util.version.Versions; import java.sql.Connection; import java.sql.PreparedStatement; @@ -174,7 +174,7 @@ public class TMSVersionDAO { ResultSet set = st.executeQuery(); if (set.next()) { - version = VersionUtil.valueOf(set.getString(1)); + version = Versions.valueOf(set.getString(1)); } } catch (SQLException eee) { if (log.isErrorEnabled()) { -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.