Index: topia-service/src/java/org/codelutin/topia/migration/transformation/FinderMigration.java diff -u topia-service/src/java/org/codelutin/topia/migration/transformation/FinderMigration.java:1.3 topia-service/src/java/org/codelutin/topia/migration/transformation/FinderMigration.java:1.4 --- topia-service/src/java/org/codelutin/topia/migration/transformation/FinderMigration.java:1.3 Fri Apr 27 08:13:32 2007 +++ topia-service/src/java/org/codelutin/topia/migration/transformation/FinderMigration.java Tue Nov 6 14:25:01 2007 @@ -30,75 +30,79 @@ * @author Chevallereau Benjamin * @author Eon Sébastien * @author Trève Vincent - * @version $Revision: 1.3 $ + * @version $Revision: 1.4 $ * - * Last update : $Date: 2007-04-27 08:13:32 $ + * Last update : $Date: 2007-11-06 14:25:01 $ */ public class FinderMigration { - /** - * Prefixe du nom des classes de migration. - */ - private static String PREFIX = "Migrate"; - - /** - * Logger (common-logging) - */ - private static Log logger = LogFactory.getLog(FinderMigration.class); - - /** - * Constructeur vide. - */ - public FinderMigration() { - } - - /** - * Constructeur - * - * @param prefix - * nouveau prefix - */ - public FinderMigration(String prefix) { - this(); - FinderMigration.PREFIX = prefix; - } - - /** - * Use to get migration class for one version to next version - * - * @param klass class - * @param base base version - * @param next destination version - */ - public MigrationClass getMigrationClass(ProxyClass klass, Version base, - Version next) { - - MigrationClass mcResult = null; - - String baseFullName = klass.getCanonicalName(); - String baseLittleName = baseFullName.substring(baseFullName - .lastIndexOf('.') + 1); - String basePackage = baseFullName.substring(0, baseFullName - .lastIndexOf('.')); - - // Convention : - // - meme package - // - MigrationVV - String newClassName = basePackage + "." + PREFIX + baseLittleName + "V" - + base.getVersion() + "V" + next.getVersion(); - - try { - Class.forName(newClassName); - - // pas d'exception, la classe existe - mcResult = new MigrationClass(newClassName, baseFullName, base, - next); - } catch (ClassNotFoundException e) { - // no migration class - // but this is not an error - logger.debug("No migration class for " + klass.getCanonicalName()); - } + /** + * Nom du package de migration + */ + private static String PACKAGE = "migration"; + + /** + * Logger (common-logging) + */ + private static Log logger = LogFactory.getLog(FinderMigration.class); + + /** + * Constructeur vide. + */ + public FinderMigration() { + } + + /** + * Constructeur + * + * @param prefix + * nouveau prefix + */ + public FinderMigration(String packag) { + this(); + FinderMigration.PACKAGE = packag; + } + + /** + * Use to get migration class for one version to next version + * + * @param klass + * class + * @param base + * base version + * @param next + * destination version + */ + public MigrationClass getMigrationClass(ProxyClass klass, Version base, + Version next) { + + MigrationClass mcResult = null; + + String baseFullName = klass.getCanonicalName(); + String baseLittleName = baseFullName.substring(baseFullName + .lastIndexOf('.') + 1); + String basePackage = baseFullName.substring(0, baseFullName + .lastIndexOf('.')); + + // Convention : + // - meme package + // - MigrationVV + String newClassName = basePackage + "." + PACKAGE + "." + "V" + + base.getVersion() + "V" + next.getVersion() + "." + + baseLittleName; + + try { + Class.forName(newClassName); + + // pas d'exception, la classe existe + mcResult = new MigrationClass(newClassName, baseFullName, base, + next); + } catch (ClassNotFoundException e) { + // no migration class + // but this is not an error + logger.debug("No migration class for " + klass.getCanonicalName()); + } - return mcResult; - } + return mcResult; + } }