Index: topia-service/src/java/org/codelutin/topia/migration/TopiaMigrationServiceImpl.java diff -u topia-service/src/java/org/codelutin/topia/migration/TopiaMigrationServiceImpl.java:1.5 topia-service/src/java/org/codelutin/topia/migration/TopiaMigrationServiceImpl.java:1.6 --- topia-service/src/java/org/codelutin/topia/migration/TopiaMigrationServiceImpl.java:1.5 Thu Apr 26 13:13:24 2007 +++ topia-service/src/java/org/codelutin/topia/migration/TopiaMigrationServiceImpl.java Thu Apr 26 15:19:23 2007 @@ -49,9 +49,9 @@ * @author Chevallereau Benjamin * @author Eon Sébastien * @author Trève Vincent - * @version $Revision: 1.5 $ + * @version $Revision: 1.6 $ * - * Last update : $Date: 2007/04/26 13:13:24 $ + * Last update : $Date: 2007/04/26 15:19:23 $ */ public class TopiaMigrationServiceImpl implements TopiaMigrationService { @@ -60,6 +60,7 @@ */ static private final String MIGRATION_APPLICATION_VERSION = "topia.service.migration.version"; static private final String MIGRATION_PREVIOUS_MAPPING_DIRECTORY = "topia.service.migration.mappingsdir"; + static private final String MIGRATION_PREVIOUS_MODEL_NAME = "topia.service.migration.modelnames"; /** * C'est la meme, mais ca vire des dependances @@ -181,21 +182,33 @@ this.setApplicationVersion(applicationversion); } + + + // test mappingdir null if(mappingdir == null) { logger.error("'" + MIGRATION_PREVIOUS_MAPPING_DIRECTORY +"' not set."); } else { - this.setMappingsDirectory(mappingdir); - } - - if(applicationversion != null && mappingdir != null) { - try { - // migration - migrateSchema(); - } - catch(TopiaMigrationServiceException e) { - logger.error("Can't migrate schema", e); + + // test applicationversion null + if(applicationversion != null) { + // effectue la migration de tous les modeles + String modelnamesList = config.getProperty( + MIGRATION_PREVIOUS_MODEL_NAME, ""); + String[] modelnames = modelnamesList.split(","); + + for(String modelname : modelnames) { + this.setMappingsDirectory(mappingdir + File.separator + modelname); + + try { + // migration + migrateSchema(); + } + catch(TopiaMigrationServiceException e) { + logger.error("Can't migrate schema", e); + } + } } } }