private static VersionedDatabaseJobHistoryStore findVersionedDatabaseJobHistoryStore(MigrationVersion requiredVersion) throws IllegalAccessException, InstantiationException, ClassNotFoundException { Class<?> foundClazz = null; Class<?> defaultClazz = null; MigrationVersion defaultVersion = MigrationVersion.EMPTY; for (Class<?> clazz : Sets.intersection(reflections.getTypesAnnotatedWith(SupportedDatabaseVersion.class), reflections.getSubTypesOf(VersionedDatabaseJobHistoryStore.class))) { SupportedDatabaseVersion annotation = clazz.getAnnotation(SupportedDatabaseVersion.class); String version = annotation.version(); MigrationVersion actualVersion = MigrationVersion.fromVersion(Strings.isNullOrEmpty(version) ? null : version); if (annotation.isDefault() && actualVersion.compareTo(defaultVersion) > 0) { defaultClazz = clazz; defaultVersion = actualVersion; } if (actualVersion.compareTo(requiredVersion) == 0) { foundClazz = clazz; } } if (foundClazz == null) { foundClazz = defaultClazz; } if (foundClazz == null) { throw new ClassNotFoundException( String.format("Could not find an instance of %s which supports database " + "version %s.", VersionedDatabaseJobHistoryStore.class.getSimpleName(), requiredVersion.toString())); } return (VersionedDatabaseJobHistoryStore) foundClazz.newInstance(); } }
@Override public void addAppliedMigration(final AppliedMigration appliedMigration) { final MigrationVersion version = appliedMigration.getVersion(); final String versionStr = version == null ? null : version.toString(); final int calculateInstalledRank; try {
/** * {@inheritDoc} * @see org.flywaydb.core.api.callback.FlywayCallback#beforeEachMigrate(java.sql.Connection, org.flywaydb.core.api.MigrationInfo) */ @Override public void beforeEachMigrate(Connection connection, MigrationInfo info) { out.println("[Hibernate Service] Flyway migrate: " + info.getVersion().toString()); }
private static VersionedDatabaseJobHistoryStore findVersionedDatabaseJobHistoryStore(MigrationVersion requiredVersion) throws IllegalAccessException, InstantiationException, ClassNotFoundException { Class<?> foundClazz = null; Class<?> defaultClazz = null; MigrationVersion defaultVersion = MigrationVersion.EMPTY; for (Class<?> clazz : Sets.intersection(reflections.getTypesAnnotatedWith(SupportedDatabaseVersion.class), reflections.getSubTypesOf(VersionedDatabaseJobHistoryStore.class))) { SupportedDatabaseVersion annotation = clazz.getAnnotation(SupportedDatabaseVersion.class); String version = annotation.version(); MigrationVersion actualVersion = MigrationVersion.fromVersion(Strings.isNullOrEmpty(version) ? null : version); if (annotation.isDefault() && actualVersion.compareTo(defaultVersion) > 0) { defaultClazz = clazz; defaultVersion = actualVersion; } if (actualVersion.compareTo(requiredVersion) == 0) { foundClazz = clazz; } } if (foundClazz == null) { foundClazz = defaultClazz; } if (foundClazz == null) { throw new ClassNotFoundException( String.format("Could not find an instance of %s which supports database " + "version %s.", VersionedDatabaseJobHistoryStore.class.getSimpleName(), requiredVersion.toString())); } return (VersionedDatabaseJobHistoryStore) foundClazz.newInstance(); } }
private void printFlywayInfo(MigrationInfo... infos){ MigrationInfo[] all = ArrayUtils.nullToEmpty(infos); if(all.length > 0){ for (MigrationInfo migrationInfo : all) { out.println("[Hibernate Service] Flyway Information:"); out.println("Version: " + migrationInfo.getVersion().toString()); out.println("Description: " + migrationInfo.getDescription()); out.println("Date: " + migrationInfo.getInstalledOn()); out.println("State: " + migrationInfo.getState().name()); out.println("Type: " + migrationInfo.getType().name()); out.println("[Hibernate Service] -------------------"); } } } }
throw new ClassNotFoundException( String.format("Could not find an instance of %s which supports database " + "version %s.", VersionedDatabaseJobHistoryStore.class.getSimpleName(), requiredVersion.toString()));
@Override public void addAppliedMigration(final AppliedMigration appliedMigration) { final MigrationVersion version = appliedMigration.getVersion(); final String versionStr = version == null ? null : version.toString(); final int calculateInstalledRank; try {