Merge "Install DefaultPermissionBackendModule at daemon level"

This commit is contained in:
David Pursehouse
2017-04-28 10:03:36 +00:00
committed by Gerrit Code Review
6 changed files with 21 additions and 9 deletions

View File

@@ -75,6 +75,7 @@ import com.google.gerrit.server.mime.MimeUtil2Module;
import com.google.gerrit.server.patch.DiffExecutorModule; import com.google.gerrit.server.patch.DiffExecutorModule;
import com.google.gerrit.server.plugins.PluginGuiceEnvironment; import com.google.gerrit.server.plugins.PluginGuiceEnvironment;
import com.google.gerrit.server.plugins.PluginRestApiModule; import com.google.gerrit.server.plugins.PluginRestApiModule;
import com.google.gerrit.server.project.DefaultPermissionBackendModule;
import com.google.gerrit.server.schema.DataSourceProvider; import com.google.gerrit.server.schema.DataSourceProvider;
import com.google.gerrit.server.schema.H2AccountPatchReviewStore; import com.google.gerrit.server.schema.H2AccountPatchReviewStore;
import com.google.gerrit.server.schema.JdbcAccountPatchReviewStore; import com.google.gerrit.server.schema.JdbcAccountPatchReviewStore;
@@ -367,6 +368,7 @@ public class Daemon extends SiteProgram {
modules.add(cfgInjector.getInstance(GerritGlobalModule.class)); modules.add(cfgInjector.getInstance(GerritGlobalModule.class));
modules.add(new SearchingChangeCacheImpl.Module(slave)); modules.add(new SearchingChangeCacheImpl.Module(slave));
modules.add(new InternalAccountDirectory.Module()); modules.add(new InternalAccountDirectory.Module());
modules.add(new DefaultPermissionBackendModule());
modules.add(new DefaultCacheFactory.Module()); modules.add(new DefaultCacheFactory.Module());
modules.add(cfgInjector.getInstance(MailReceiver.Module.class)); modules.add(cfgInjector.getInstance(MailReceiver.Module.class));
if (emailModule != null) { if (emailModule != null) {

View File

@@ -160,7 +160,6 @@ import com.google.gerrit.server.patch.PatchSetInfoFactory;
import com.google.gerrit.server.plugins.ReloadPluginListener; import com.google.gerrit.server.plugins.ReloadPluginListener;
import com.google.gerrit.server.project.AccessControlModule; import com.google.gerrit.server.project.AccessControlModule;
import com.google.gerrit.server.project.CommentLinkProvider; import com.google.gerrit.server.project.CommentLinkProvider;
import com.google.gerrit.server.project.DefaultPermissionBackendModule;
import com.google.gerrit.server.project.PermissionCollection; import com.google.gerrit.server.project.PermissionCollection;
import com.google.gerrit.server.project.ProjectCacheImpl; import com.google.gerrit.server.project.ProjectCacheImpl;
import com.google.gerrit.server.project.ProjectNode; import com.google.gerrit.server.project.ProjectNode;
@@ -230,7 +229,6 @@ public class GerritGlobalModule extends FactoryModule {
install(new AccessControlModule()); install(new AccessControlModule());
install(new CmdLineParserModule()); install(new CmdLineParserModule());
install(new DefaultPermissionBackendModule());
install(new EmailModule()); install(new EmailModule());
install(new ExternalIdModule()); install(new ExternalIdModule());
install(new GitModule()); install(new GitModule());

View File

@@ -32,7 +32,7 @@ import java.util.EnumSet;
import java.util.Set; import java.util.Set;
@Singleton @Singleton
class DefaultPermissionBackend extends PermissionBackend { public class DefaultPermissionBackend extends PermissionBackend {
private final ProjectCache projectCache; private final ProjectCache projectCache;
@Inject @Inject

View File

@@ -16,18 +16,26 @@ package com.google.gerrit.server.project;
import com.google.gerrit.extensions.config.FactoryModule; import com.google.gerrit.extensions.config.FactoryModule;
import com.google.gerrit.server.permissions.PermissionBackend; import com.google.gerrit.server.permissions.PermissionBackend;
import com.google.inject.AbstractModule;
import com.google.inject.Scopes; import com.google.inject.Scopes;
/** Binds the default {@link PermissionBackend}. */ /** Binds the default {@link PermissionBackend}. */
public class DefaultPermissionBackendModule extends FactoryModule { public class DefaultPermissionBackendModule extends AbstractModule {
@Override @Override
protected void configure() { protected void configure() {
bind(PermissionBackend.class).to(DefaultPermissionBackend.class).in(Scopes.SINGLETON); bind(PermissionBackend.class).to(DefaultPermissionBackend.class).in(Scopes.SINGLETON);
install(new LegacyControlsModule());
}
// TODO(sop) Hide ProjectControl, RefControl, ChangeControl related bindings. /** Binds legacy ProjectControl, RefControl, ChangeControl. */
bind(ProjectControl.GenericFactory.class); public static class LegacyControlsModule extends FactoryModule {
factory(ProjectControl.AssistedFactory.class); @Override
bind(ChangeControl.GenericFactory.class); protected void configure() {
bind(ChangeControl.Factory.class); // TODO(sop) Hide ProjectControl, RefControl, ChangeControl related bindings.
bind(ProjectControl.GenericFactory.class);
factory(ProjectControl.AssistedFactory.class);
bind(ChangeControl.GenericFactory.class);
bind(ChangeControl.Factory.class);
}
} }
} }

View File

@@ -57,6 +57,7 @@ import com.google.gerrit.server.notedb.ChangeBundleReader;
import com.google.gerrit.server.notedb.GwtormChangeBundleReader; import com.google.gerrit.server.notedb.GwtormChangeBundleReader;
import com.google.gerrit.server.notedb.NotesMigration; import com.google.gerrit.server.notedb.NotesMigration;
import com.google.gerrit.server.patch.DiffExecutor; import com.google.gerrit.server.patch.DiffExecutor;
import com.google.gerrit.server.project.DefaultPermissionBackendModule;
import com.google.gerrit.server.schema.DataSourceType; import com.google.gerrit.server.schema.DataSourceType;
import com.google.gerrit.server.schema.H2AccountPatchReviewStore; import com.google.gerrit.server.schema.H2AccountPatchReviewStore;
import com.google.gerrit.server.schema.NotesMigrationSchemaFactory; import com.google.gerrit.server.schema.NotesMigrationSchemaFactory;
@@ -149,6 +150,7 @@ public class InMemoryModule extends FactoryModule {
}); });
bind(MetricMaker.class).to(DisabledMetricMaker.class); bind(MetricMaker.class).to(DisabledMetricMaker.class);
install(cfgInjector.getInstance(GerritGlobalModule.class)); install(cfgInjector.getInstance(GerritGlobalModule.class));
install(new DefaultPermissionBackendModule());
install(new SearchingChangeCacheImpl.Module()); install(new SearchingChangeCacheImpl.Module());
factory(GarbageCollection.Factory.class); factory(GarbageCollection.Factory.class);

View File

@@ -62,6 +62,7 @@ import com.google.gerrit.server.notedb.ConfigNotesMigration;
import com.google.gerrit.server.patch.DiffExecutorModule; import com.google.gerrit.server.patch.DiffExecutorModule;
import com.google.gerrit.server.plugins.PluginGuiceEnvironment; import com.google.gerrit.server.plugins.PluginGuiceEnvironment;
import com.google.gerrit.server.plugins.PluginRestApiModule; import com.google.gerrit.server.plugins.PluginRestApiModule;
import com.google.gerrit.server.project.DefaultPermissionBackendModule;
import com.google.gerrit.server.schema.DataSourceModule; import com.google.gerrit.server.schema.DataSourceModule;
import com.google.gerrit.server.schema.DataSourceProvider; import com.google.gerrit.server.schema.DataSourceProvider;
import com.google.gerrit.server.schema.DataSourceType; import com.google.gerrit.server.schema.DataSourceType;
@@ -317,6 +318,7 @@ public class WebAppInitializer extends GuiceServletContextListener implements Fi
modules.add(cfgInjector.getInstance(GerritGlobalModule.class)); modules.add(cfgInjector.getInstance(GerritGlobalModule.class));
modules.add(new SearchingChangeCacheImpl.Module()); modules.add(new SearchingChangeCacheImpl.Module());
modules.add(new InternalAccountDirectory.Module()); modules.add(new InternalAccountDirectory.Module());
modules.add(new DefaultPermissionBackendModule());
modules.add(new DefaultCacheFactory.Module()); modules.add(new DefaultCacheFactory.Module());
modules.add(cfgInjector.getInstance(MailReceiver.Module.class)); modules.add(cfgInjector.getInstance(MailReceiver.Module.class));
modules.add(new SmtpEmailSender.Module()); modules.add(new SmtpEmailSender.Module());