Rely on GroupAuditService rather than its implementation

GroupAuditService is the interface to the underlying audit
system, while AuditService is the actual implementation.

Instead of directly injecting the implementation class, rely on
the interface and leave the association to AuditService to the
Guice binding.

This is useful because tests may want to replace, at times, the
actual implementation of the audit-trail with a fake in-memory
store.

Change-Id: I31bbb522fb974c2504635ccf1251287d4890af89
This commit is contained in:
Luca Milanesio
2019-02-04 17:58:41 +00:00
parent 4adddf6442
commit 6a130c17a2
6 changed files with 16 additions and 16 deletions

View File

@@ -19,9 +19,9 @@ import com.google.gerrit.common.Nullable;
import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.gerrit.server.AuditEvent;
import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.audit.AuditService;
import com.google.gerrit.server.config.AuthConfig;
import com.google.gerrit.server.config.CanonicalWebUrl;
import com.google.gerrit.server.group.GroupAuditService;
import com.google.gerrit.server.util.time.TimeUtil;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -38,14 +38,14 @@ public class HttpLogoutServlet extends HttpServlet {
private final DynamicItem<WebSession> webSession;
private final Provider<String> urlProvider;
private final String logoutUrl;
private final AuditService audit;
private final GroupAuditService audit;
@Inject
protected HttpLogoutServlet(
AuthConfig authConfig,
DynamicItem<WebSession> webSession,
@CanonicalWebUrl @Nullable Provider<String> urlProvider,
AuditService audit) {
GroupAuditService audit) {
this.webSession = webSession;
this.urlProvider = urlProvider;
this.logoutUrl = authConfig.getLogoutURL();

View File

@@ -18,9 +18,9 @@ import com.google.gerrit.common.Nullable;
import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.gerrit.httpd.HttpLogoutServlet;
import com.google.gerrit.httpd.WebSession;
import com.google.gerrit.server.audit.AuditService;
import com.google.gerrit.server.config.AuthConfig;
import com.google.gerrit.server.config.CanonicalWebUrl;
import com.google.gerrit.server.group.GroupAuditService;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
@@ -39,7 +39,7 @@ class OAuthLogoutServlet extends HttpLogoutServlet {
AuthConfig authConfig,
DynamicItem<WebSession> webSession,
@CanonicalWebUrl @Nullable Provider<String> urlProvider,
AuditService audit,
GroupAuditService audit,
Provider<OAuthSession> oauthSession) {
super(authConfig, webSession, urlProvider, audit);
this.oauthSession = oauthSession;

View File

@@ -18,9 +18,9 @@ import com.google.gerrit.common.Nullable;
import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.gerrit.httpd.HttpLogoutServlet;
import com.google.gerrit.httpd.WebSession;
import com.google.gerrit.server.audit.AuditService;
import com.google.gerrit.server.config.AuthConfig;
import com.google.gerrit.server.config.CanonicalWebUrl;
import com.google.gerrit.server.group.GroupAuditService;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
@@ -39,7 +39,7 @@ class OAuthOverOpenIDLogoutServlet extends HttpLogoutServlet {
AuthConfig authConfig,
DynamicItem<WebSession> webSession,
@CanonicalWebUrl @Nullable Provider<String> urlProvider,
AuditService audit,
GroupAuditService audit,
Provider<OAuthSessionOverOpenID> oauthSession) {
super(authConfig, webSession, urlProvider, audit);
this.oauthSession = oauthSession;

View File

@@ -104,11 +104,11 @@ import com.google.gerrit.server.AnonymousUser;
import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.OptionUtil;
import com.google.gerrit.server.OutputFormat;
import com.google.gerrit.server.audit.AuditService;
import com.google.gerrit.server.audit.ExtendedHttpAuditEvent;
import com.google.gerrit.server.cache.PerThreadCache;
import com.google.gerrit.server.config.GerritServerConfig;
import com.google.gerrit.server.git.LockFailureException;
import com.google.gerrit.server.group.GroupAuditService;
import com.google.gerrit.server.logging.RequestId;
import com.google.gerrit.server.logging.TraceContext;
import com.google.gerrit.server.permissions.GlobalPermission;
@@ -224,7 +224,7 @@ public class RestApiServlet extends HttpServlet {
final DynamicItem<WebSession> webSession;
final Provider<ParameterParser> paramParser;
final PermissionBackend permissionBackend;
final AuditService auditService;
final GroupAuditService auditService;
final RestApiMetrics metrics;
final Pattern allowOrigin;
@@ -234,7 +234,7 @@ public class RestApiServlet extends HttpServlet {
DynamicItem<WebSession> webSession,
Provider<ParameterParser> paramParser,
PermissionBackend permissionBackend,
AuditService auditService,
GroupAuditService auditService,
RestApiMetrics metrics,
@GerritServerConfig Config cfg) {
this.currentUser = currentUser;

View File

@@ -24,8 +24,8 @@ import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.gerrit.httpd.WebSession;
import com.google.gerrit.server.AccessPath;
import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.audit.AuditService;
import com.google.gerrit.server.audit.RpcAuditEvent;
import com.google.gerrit.server.group.GroupAuditService;
import com.google.gerrit.server.util.time.TimeUtil;
import com.google.gson.GsonBuilder;
import com.google.gwtjsonrpc.common.RemoteJsonService;
@@ -50,10 +50,10 @@ final class GerritJsonServlet extends JsonServlet<GerritJsonServlet.GerritCall>
private static final ThreadLocal<MethodHandle> currentMethod = new ThreadLocal<>();
private final DynamicItem<WebSession> session;
private final RemoteJsonService service;
private final AuditService audit;
private final GroupAuditService audit;
@Inject
GerritJsonServlet(final DynamicItem<WebSession> w, RemoteJsonService s, AuditService a) {
GerritJsonServlet(final DynamicItem<WebSession> w, RemoteJsonService s, GroupAuditService a) {
session = w;
service = s;
audit = a;

View File

@@ -21,7 +21,6 @@ import com.google.gerrit.extensions.events.LifecycleListener;
import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.IdentifiedUser;
import com.google.gerrit.server.PeerDaemonUser;
import com.google.gerrit.server.audit.AuditService;
import com.google.gerrit.server.audit.SshAuditEvent;
import com.google.gerrit.server.config.ConfigKey;
import com.google.gerrit.server.config.ConfigUpdatedEvent;
@@ -29,6 +28,7 @@ import com.google.gerrit.server.config.ConfigUpdatedEvent.ConfigUpdateEntry;
import com.google.gerrit.server.config.ConfigUpdatedEvent.UpdateResult;
import com.google.gerrit.server.config.GerritConfigListener;
import com.google.gerrit.server.config.GerritServerConfig;
import com.google.gerrit.server.group.GroupAuditService;
import com.google.gerrit.server.ioutil.HexFormat;
import com.google.gerrit.server.util.SystemLog;
import com.google.gerrit.server.util.time.TimeUtil;
@@ -57,7 +57,7 @@ class SshLog implements LifecycleListener, GerritConfigListener {
private final Provider<SshSession> session;
private final Provider<Context> context;
private volatile AsyncAppender async;
private final AuditService auditService;
private final GroupAuditService auditService;
private final SystemLog systemLog;
private final Object lock = new Object();
@@ -68,7 +68,7 @@ class SshLog implements LifecycleListener, GerritConfigListener {
final Provider<Context> context,
SystemLog systemLog,
@GerritServerConfig Config config,
AuditService auditService) {
GroupAuditService auditService) {
this.session = session;
this.context = context;
this.auditService = auditService;