2019-06-04 16:37:53 +02:00
|
|
|
package sonia.scm.update;
|
|
|
|
|
|
|
|
|
|
import com.google.inject.Injector;
|
2019-06-24 16:59:28 +02:00
|
|
|
import com.google.inject.Module;
|
2019-06-25 08:36:57 +02:00
|
|
|
import sonia.scm.lifecycle.ModuleProvider;
|
2019-06-11 14:34:44 +02:00
|
|
|
import sonia.scm.update.repository.XmlRepositoryV1UpdateStep;
|
2019-06-04 16:37:53 +02:00
|
|
|
|
2019-06-24 16:59:28 +02:00
|
|
|
import java.util.Collection;
|
|
|
|
|
import java.util.Collections;
|
|
|
|
|
|
|
|
|
|
public class MigrationWizardModuleProvider implements ModuleProvider {
|
2019-06-04 16:37:53 +02:00
|
|
|
|
2019-06-11 14:34:44 +02:00
|
|
|
private final Injector bootstrapInjector;
|
2019-06-04 16:37:53 +02:00
|
|
|
|
2019-06-24 16:59:28 +02:00
|
|
|
public MigrationWizardModuleProvider(Injector bootstrapInjector) {
|
2019-06-11 14:34:44 +02:00
|
|
|
this.bootstrapInjector = bootstrapInjector;
|
2019-06-04 16:37:53 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean wizardNecessary() {
|
2019-06-11 14:34:44 +02:00
|
|
|
return !bootstrapInjector.getInstance(XmlRepositoryV1UpdateStep.class).getRepositoriesWithoutMigrationStrategies().isEmpty();
|
2019-06-04 16:37:53 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2019-06-24 16:59:28 +02:00
|
|
|
public Collection<Module> createModules() {
|
|
|
|
|
return Collections.singleton(new MigrationWizardModule());
|
2019-06-04 16:37:53 +02:00
|
|
|
}
|
|
|
|
|
}
|