Author: dcosse Date: 2014-05-16 17:07:42 +0200 (Fri, 16 May 2014) New Revision: 3807 Url: http://forge.chorem.org/projects/lima/repository/revisions/3807 Log: refs #1027 mise en place dun service de migration de la table entry pour remplacer les lettrages vides par des null Added: trunk/lima-business/src/main/java/org/chorem/lima/business/migration/MigrationV0_8.java Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/migration/DatabaseMigrationClass.java Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/migration/DatabaseMigrationClass.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/migration/DatabaseMigrationClass.java 2014-05-16 14:12:50 UTC (rev 3806) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/migration/DatabaseMigrationClass.java 2014-05-16 15:07:42 UTC (rev 3807) @@ -37,6 +37,7 @@ protected static final Version VERSION_0_5 = new Version("0.5"); protected static final Version VERSION_0_6 = new Version("0.6"); + protected static final Version VERSION_0_8 = new Version("0.8"); @Override public Version getVersion() { @@ -63,22 +64,12 @@ result = new MigrationV0V0_5(); } else if (version.equals(VERSION_0_6)) { result = new MigrationV0_6(); + } else if (version.equals(VERSION_0_8)) { + result = new MigrationV0_8(); } return result; } -// @Override -// public Class<? extends MigrationCallBackForVersion> getCallBack(Version version) { -// Class<? extends MigrationCallBackForVersion> result = null; -// -// if (version.equals(VERSION_0_5)) { -// result = MigrationV0V0_5.class; -// } else if (version.equals(VERSION_0_6)) { -// result = MigrationV0_6.class; -// } -// return result; -// } - } } Copied: trunk/lima-business/src/main/java/org/chorem/lima/business/migration/MigrationV0_8.java (from rev 3806, trunk/lima-business/src/main/java/org/chorem/lima/business/migration/MigrationV0_6.java) =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/migration/MigrationV0_8.java (rev 0) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/migration/MigrationV0_8.java 2014-05-16 15:07:42 UTC (rev 3807) @@ -0,0 +1,44 @@ +package org.chorem.lima.business.migration; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.topia.migration.TopiaMigrationCallbackByClass; +import org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG; +import org.nuiton.topia.persistence.TopiaException; +import org.nuiton.topia.persistence.TopiaPersistenceContext; +import org.nuiton.util.Version; + + +import java.util.List; + +/** + * Migration code from 0.7.3 to 0.8. + * + * @author dCosse <cosse@codelutin.com> + * @since 0.6 + */ +public class MigrationV0_8 extends TopiaMigrationCallbackByClassNG.MigrationCallBackForVersion { + + /** Logger. */ + private static final Log log = LogFactory.getLog(MigrationV0_8.class); + + @Override + protected void prepareMigrationScript(TopiaPersistenceContext tx, + List queries, + boolean showSql, + boolean showProgression) throws TopiaException { + + if (log.isInfoEnabled()) { + log.info("Migrates to version 0.8"); + } + + // + queries.add("UPDATE entry SET lettering=null WHERE lettering IS NOT NULL AND LENGTH(LTRIM(RTRIM(lettering))) = 0"); + + } + + @Override + public Version getVersion() { + return null; + } +}