Files
SCM-Manager/scm-webapp/src/main/java/sonia/scm/update/MigrationWizardModuleProvider.java
Sebastian Sdorra 9662b8a00b simplify scm-manager bootstrap
We have simplified the scm-manager bootstrap process, by replacing the
ServletContextListener call hierarchy with much simpler ModuleProviders.
We have also removed the parent injector. Now we create always a new
injector. If something goes wrong in the process of injector creation,
we will show a nicely styled error page instead of stacktrace on a white
page.
2019-06-24 16:59:28 +02:00

28 lines
794 B
Java

package sonia.scm.update;
import com.google.inject.Injector;
import com.google.inject.Module;
import sonia.scm.boot.ModuleProvider;
import sonia.scm.update.repository.XmlRepositoryV1UpdateStep;
import java.util.Collection;
import java.util.Collections;
public class MigrationWizardModuleProvider implements ModuleProvider {
private final Injector bootstrapInjector;
public MigrationWizardModuleProvider(Injector bootstrapInjector) {
this.bootstrapInjector = bootstrapInjector;
}
public boolean wizardNecessary() {
return !bootstrapInjector.getInstance(XmlRepositoryV1UpdateStep.class).getRepositoriesWithoutMigrationStrategies().isEmpty();
}
@Override
public Collection<Module> createModules() {
return Collections.singleton(new MigrationWizardModule());
}
}