Define AccountDirectory as an abstract backend for user data

Eventually this will fully support all account information, similar
to GroupBackend. For now lets start by defining a simple base class
that can supply name, email and avatar URLs to an AccountInfo for
the REST API. Bind this in the Daemon and web application code so
its at least partially pluggable at the static Guice injector level.

Change-Id: I6e1b55fd46f3e99a982f7bd523f3e9d91b637b0d
This commit is contained in:
Shawn Pearce
2013-07-23 16:41:47 -07:00
parent f85f896bdd
commit a750617d39
5 changed files with 217 additions and 60 deletions

View File

@@ -39,6 +39,7 @@ import com.google.gerrit.pgm.util.LogFileCompressor;
import com.google.gerrit.pgm.util.RuntimeShutdown;
import com.google.gerrit.pgm.util.SiteProgram;
import com.google.gerrit.reviewdb.client.AuthType;
import com.google.gerrit.server.account.InternalAccountDirectory;
import com.google.gerrit.server.cache.h2.DefaultCacheFactory;
import com.google.gerrit.server.config.AuthConfig;
import com.google.gerrit.server.config.AuthConfigModule;
@@ -250,6 +251,7 @@ public class Daemon extends SiteProgram {
modules.add(new ReceiveCommitsExecutorModule());
modules.add(new IntraLineWorkerPool.Module());
modules.add(cfgInjector.getInstance(GerritGlobalModule.class));
modules.add(new InternalAccountDirectory.Module());
modules.add(new DefaultCacheFactory.Module());
modules.add(new SmtpEmailSender.Module());
modules.add(new SignedTokenEmailTokenVerifier.Module());