pass scm-manager stage to google guice

This commit is contained in:
Sebastian Sdorra
2014-04-03 19:22:51 +02:00
parent 24bb4cbca4
commit 057bea43ad
2 changed files with 38 additions and 4 deletions

View File

@@ -30,6 +30,7 @@
*/ */
package sonia.scm; package sonia.scm;
/** /**
@@ -46,10 +47,41 @@ public enum Stage
/** /**
* This value indicates SCM-Manager is right now in development. * This value indicates SCM-Manager is right now in development.
*/ */
DEVELOPMENT, DEVELOPMENT(com.google.inject.Stage.DEVELOPMENT),
/** /**
* This value indicates SCM-Manager is right now productive. * This value indicates SCM-Manager is right now productive.
*/ */
PRODUCTION PRODUCTION(com.google.inject.Stage.PRODUCTION);
/**
* Constructs a new Stage
*
*
* @param injectionStage injection stage
*/
private Stage(com.google.inject.Stage injectionStage)
{
this.injectionStage = injectionStage;
}
//~--- get methods ----------------------------------------------------------
/**
* Returns the injection stage
*
*
* @return injection stage
*
* @since 2.0.0
*/
public com.google.inject.Stage getInjectionStage()
{
return injectionStage;
}
//~--- fields ---------------------------------------------------------------
/** injection stage */
private final com.google.inject.Stage injectionStage;
} }

View File

@@ -46,6 +46,7 @@ import org.apache.shiro.guice.web.ShiroWebModule;
import sonia.scm.cache.CacheManager; import sonia.scm.cache.CacheManager;
import sonia.scm.group.GroupManager; import sonia.scm.group.GroupManager;
import sonia.scm.plugin.DefaultPluginLoader; import sonia.scm.plugin.DefaultPluginLoader;
import sonia.scm.repository.HealthCheckContextListener;
import sonia.scm.repository.RepositoryManager; import sonia.scm.repository.RepositoryManager;
import sonia.scm.store.StoreFactory; import sonia.scm.store.StoreFactory;
import sonia.scm.upgrade.UpgradeManager; import sonia.scm.upgrade.UpgradeManager;
@@ -59,7 +60,6 @@ import java.util.List;
import javax.servlet.ServletContext; import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextEvent;
import sonia.scm.repository.HealthCheckContextListener;
/** /**
* *
@@ -196,7 +196,9 @@ public class ScmContextListener extends GuiceServletContextListener
moduleList.addAll(pluginLoader.getInjectionModules()); moduleList.addAll(pluginLoader.getInjectionModules());
moduleList.addAll(overrides.getModules()); moduleList.addAll(overrides.getModules());
return Guice.createInjector(moduleList); SCMContextProvider ctx = SCMContext.getContext();
return Guice.createInjector(ctx.getStage().getInjectionStage(), moduleList);
} }
/** /**