From 1339491aeb3a5a0dfa7342bc890ea88080454b70 Mon Sep 17 00:00:00 2001 From: Luca Milanesio Date: Wed, 31 May 2017 06:35:31 +0100 Subject: [PATCH] Allow rebinding of PermissionBackend by libModules Set the DefaultPermissionBackend as default binding and leave the door opened to rebinding it. Allow alternative backend implementations provided via libModules. Change-Id: Ifebc666cb9309e34ced0c653a1646d279923d18d --- .../google/gerrit/server/permissions/PermissionBackend.java | 3 +++ .../gerrit/server/project/DefaultPermissionBackendModule.java | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/permissions/PermissionBackend.java b/gerrit-server/src/main/java/com/google/gerrit/server/permissions/PermissionBackend.java index 9aa8d27bf4..93db963552 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/permissions/PermissionBackend.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/permissions/PermissionBackend.java @@ -26,8 +26,10 @@ import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.notedb.ChangeNotes; +import com.google.gerrit.server.project.DefaultPermissionBackend; import com.google.gerrit.server.query.change.ChangeData; import com.google.gwtorm.server.OrmException; +import com.google.inject.ImplementedBy; import com.google.inject.Provider; import com.google.inject.util.Providers; import java.util.Collection; @@ -80,6 +82,7 @@ import org.slf4j.LoggerFactory; * } * */ +@ImplementedBy(DefaultPermissionBackend.class) public abstract class PermissionBackend { private static final Logger logger = LoggerFactory.getLogger(PermissionBackend.class); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/DefaultPermissionBackendModule.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/DefaultPermissionBackendModule.java index 49163538ca..8fa049da0d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/DefaultPermissionBackendModule.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/DefaultPermissionBackendModule.java @@ -17,13 +17,11 @@ package com.google.gerrit.server.project; import com.google.gerrit.extensions.config.FactoryModule; import com.google.gerrit.server.permissions.PermissionBackend; import com.google.inject.AbstractModule; -import com.google.inject.Scopes; /** Binds the default {@link PermissionBackend}. */ public class DefaultPermissionBackendModule extends AbstractModule { @Override protected void configure() { - bind(PermissionBackend.class).to(DefaultPermissionBackend.class).in(Scopes.SINGLETON); install(new LegacyControlsModule()); }