r3102 - in trunk: . lima-business lima-business/src/main/java/org/chorem/lima/business lima-business/src/main/java/org/chorem/lima/business/migration
Author: vsalaun Date: 2011-05-06 15:50:36 +0200 (Fri, 06 May 2011) New Revision: 3102 Url: http://chorem.org/repositories/revision/lima/3102 Log: Changements dans la base de donnees Added: trunk/lima-business/src/main/java/org/chorem/lima/business/migration/ trunk/lima-business/src/main/java/org/chorem/lima/business/migration/DatabaseMigrationClass.java trunk/lima-business/src/main/java/org/chorem/lima/business/migration/MigrationV0V0_5.java Modified: trunk/lima-business/pom.xml trunk/lima-business/src/main/java/org/chorem/lima/business/LimaConfig.java trunk/pom.xml Modified: trunk/lima-business/pom.xml =================================================================== --- trunk/lima-business/pom.xml 2011-05-06 08:30:13 UTC (rev 3101) +++ trunk/lima-business/pom.xml 2011-05-06 13:50:36 UTC (rev 3102) @@ -54,6 +54,10 @@ <artifactId>topia-persistence</artifactId> </dependency> <dependency> + <groupId>org.nuiton.topia</groupId> + <artifactId>topia-service-migration</artifactId> + </dependency> + <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> </dependency> Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/LimaConfig.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/LimaConfig.java 2011-05-06 08:30:13 UTC (rev 3101) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/LimaConfig.java 2011-05-06 13:50:36 UTC (rev 3102) @@ -30,7 +30,10 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.chorem.lima.business.accountingrules.DefaultAccountingRules; +import org.chorem.lima.business.migration.DatabaseMigrationClass; import org.chorem.lima.entity.LimaCallaoDAOHelper; +import org.nuiton.topia.migration.TopiaMigrationEngine; +import org.nuiton.topia.migration.TopiaMigrationService; import org.nuiton.util.ApplicationConfig; import org.nuiton.util.ArgumentsParserException; @@ -60,6 +63,11 @@ for (Option o : Option.values()) { setDefaultOption(o.key, o.defaultValue); } + + setOption(TopiaMigrationService.TOPIA_SERVICE_NAME, TopiaMigrationEngine.class.getName()); + setOption(TopiaMigrationService.MIGRATION_CALLBACK, DatabaseMigrationClass.class.getName()); + setOption(TopiaMigrationService.MIGRATION_SHOW_SQL, Boolean.TRUE.toString()); + setOption(TopiaMigrationService.MIGRATION_SHOW_PROGRESSION, Boolean.TRUE.toString()); } public static LimaConfig getInstance() { Added: 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 (rev 0) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/migration/DatabaseMigrationClass.java 2011-05-06 13:50:36 UTC (rev 3102) @@ -0,0 +1,51 @@ +package org.chorem.lima.business.migration; + +import java.util.List; + +import org.chorem.lima.entity.LimaCallaoDAOHelper; +import org.nuiton.topia.migration.TopiaMigrationCallbackByClass; +import org.nuiton.topia.migration.TopiaMigrationCallbackByClass.MigrationCallBackForVersion; +import org.nuiton.topia.migration.TopiaMigrationCallbackByClass.MigrationCallBackForVersionResolver; +import org.nuiton.util.Version; + +public class DatabaseMigrationClass extends TopiaMigrationCallbackByClass { + + protected static final Version VERSION_0_5 = new Version("0.5"); + + + public DatabaseMigrationClass() { + super(new MigrationResolver()); + } + + protected static class MigrationResolver implements MigrationCallBackForVersionResolver { + + @Override + public Class<? extends MigrationCallBackForVersion> getCallBack(Version version) { + Class<? extends MigrationCallBackForVersion> result = null; + + if (version.equals(VERSION_0_5)) { + result = MigrationV0V0_5.class; + } + return result; + } + + } + + @Override + public Version[] getAvailableVersions() { + Version[] result = new Version[] { VERSION_0_5 }; + return result; + } + + @Override + public Version getApplicationVersion() { + Version appVersion = new Version(LimaCallaoDAOHelper.getModelVersion()); + return appVersion; + } + + @Override + public boolean askUser(Version dbVersion, List<Version> versions) { + return true; + } + + } Added: trunk/lima-business/src/main/java/org/chorem/lima/business/migration/MigrationV0V0_5.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/migration/MigrationV0V0_5.java (rev 0) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/migration/MigrationV0V0_5.java 2011-05-06 13:50:36 UTC (rev 3102) @@ -0,0 +1,24 @@ +package org.chorem.lima.business.migration; + +import java.util.List; + +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.framework.TopiaContextImplementor; +import org.nuiton.topia.migration.TopiaMigrationCallbackByClass; +import org.nuiton.topia.migration.TopiaMigrationCallbackByClass.MigrationCallBackForVersion; +import org.nuiton.util.Version; + +public class MigrationV0V0_5 extends MigrationCallBackForVersion { + + public MigrationV0V0_5(Version version, TopiaMigrationCallbackByClass callBack) { + super(version, callBack); + // TODO Auto-generated constructor stub + } + + @Override + protected void prepareMigrationScript(TopiaContextImplementor tx, + List<String> queries, boolean showSql, boolean showProgression) + throws TopiaException { + queries.add("Alter table record alter AMOUNT clob;"); + } +} Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2011-05-06 08:30:13 UTC (rev 3101) +++ trunk/pom.xml 2011-05-06 13:50:36 UTC (rev 3102) @@ -81,6 +81,13 @@ </dependency> <dependency> + <groupId>org.nuiton.topia</groupId> + <artifactId>topia-service-migration</artifactId> + <version>2.5.3</version> + <scope>compile</scope> + </dependency> + + <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.2.137</version>
participants (1)
-
vsalaun@users.chorem.org