Copy bindings from db injector to plugin environment

Some basic bindings aren't copied to plugin environment that were
defined in SchemaModule, e.g. AllProjectsName.

Bug: Issue 3163
Change-Id: I7b07f6658c4b5d0dd997039e85f4373e57c4650f
This commit is contained in:
David Ostrovsky 2015-01-30 00:38:21 +01:00 committed by David Ostrovsky
parent 6a78963c0c
commit 05cde2836c
3 changed files with 5 additions and 3 deletions

View File

@ -275,7 +275,7 @@ public class Daemon extends SiteProgram {
cfgInjector = createCfgInjector();
sysInjector = createSysInjector();
sysInjector.getInstance(PluginGuiceEnvironment.class)
.setCfgInjector(cfgInjector);
.setDbCfgInjector(dbInjector, cfgInjector);
manager.add(dbInjector, cfgInjector, sysInjector);
sshd &= !sshdOff();

View File

@ -149,13 +149,15 @@ public class PluginGuiceEnvironment {
return sysModule;
}
public void setCfgInjector(Injector cfgInjector) {
public void setDbCfgInjector(Injector dbInjector, Injector cfgInjector) {
final Module db = copy(dbInjector);
final Module cm = copy(cfgInjector);
final Module sm = copy(sysInjector);
sysModule = new AbstractModule() {
@Override
protected void configure() {
install(copyConfigModule);
install(db);
install(cm);
install(sm);
}

View File

@ -167,7 +167,7 @@ public class WebAppInitializer extends GuiceServletContextListener
webInjector = createWebInjector();
PluginGuiceEnvironment env = sysInjector.getInstance(PluginGuiceEnvironment.class);
env.setCfgInjector(cfgInjector);
env.setDbCfgInjector(dbInjector, cfgInjector);
if (sshInjector != null) {
env.setSshInjector(sshInjector);
}