summaryrefslogtreecommitdiffstats
path: root/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritGlobalModule.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-server/src/main/java/com/google/gerrit/server/config/GerritGlobalModule.java')
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/config/GerritGlobalModule.java85
1 files changed, 79 insertions, 6 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritGlobalModule.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritGlobalModule.java
index 2a66706c17..1da611c8e8 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritGlobalModule.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritGlobalModule.java
@@ -18,9 +18,10 @@ import static com.google.inject.Scopes.SINGLETON;
import com.google.common.cache.Cache;
import com.google.gerrit.audit.AuditModule;
-import com.google.gerrit.common.data.ApprovalTypes;
+import com.google.gerrit.common.ChangeListener;
import com.google.gerrit.extensions.events.GitReferenceUpdatedListener;
import com.google.gerrit.extensions.events.NewProjectCreatedListener;
+import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.gerrit.extensions.registration.DynamicMap;
import com.google.gerrit.extensions.registration.DynamicSet;
import com.google.gerrit.reviewdb.client.AuthType;
@@ -31,50 +32,80 @@ import com.google.gerrit.server.FileTypeRegistry;
import com.google.gerrit.server.IdentifiedUser;
import com.google.gerrit.server.InternalUser;
import com.google.gerrit.server.MimeUtilFileTypeRegistry;
+import com.google.gerrit.server.PluginUser;
import com.google.gerrit.server.account.AccountByEmailCacheImpl;
import com.google.gerrit.server.account.AccountCacheImpl;
+import com.google.gerrit.server.account.AccountControl;
import com.google.gerrit.server.account.AccountInfoCacheFactory;
+import com.google.gerrit.server.account.AccountManager;
+import com.google.gerrit.server.account.AccountResolver;
import com.google.gerrit.server.account.AccountVisibility;
import com.google.gerrit.server.account.AccountVisibilityProvider;
import com.google.gerrit.server.account.CapabilityControl;
+import com.google.gerrit.server.account.ChangeUserName;
import com.google.gerrit.server.account.DefaultRealm;
import com.google.gerrit.server.account.EmailExpander;
import com.google.gerrit.server.account.GroupBackend;
import com.google.gerrit.server.account.GroupCacheImpl;
import com.google.gerrit.server.account.GroupControl;
+import com.google.gerrit.server.account.GroupDetailFactory;
import com.google.gerrit.server.account.GroupIncludeCacheImpl;
import com.google.gerrit.server.account.GroupInfoCacheFactory;
+import com.google.gerrit.server.account.GroupMembers;
import com.google.gerrit.server.account.IncludingGroupMembership;
import com.google.gerrit.server.account.InternalGroupBackend;
+import com.google.gerrit.server.account.PerformCreateGroup;
+import com.google.gerrit.server.account.PerformRenameGroup;
import com.google.gerrit.server.account.Realm;
import com.google.gerrit.server.account.UniversalGroupBackend;
+import com.google.gerrit.server.auth.AuthBackend;
+import com.google.gerrit.server.auth.InternalAuthBackend;
+import com.google.gerrit.server.auth.UniversalAuthBackend;
import com.google.gerrit.server.auth.ldap.LdapModule;
+import com.google.gerrit.server.avatar.AvatarProvider;
import com.google.gerrit.server.cache.CacheRemovalListener;
import com.google.gerrit.server.events.EventFactory;
import com.google.gerrit.server.extensions.events.GitReferenceUpdated;
+import com.google.gerrit.server.git.ChangeCache;
import com.google.gerrit.server.git.ChangeMergeQueue;
+import com.google.gerrit.server.git.GarbageCollection;
import com.google.gerrit.server.git.GitModule;
import com.google.gerrit.server.git.MergeQueue;
+import com.google.gerrit.server.git.MergeUtil;
+import com.google.gerrit.server.git.NotesBranchUtil;
import com.google.gerrit.server.git.ReloadSubmitQueueOp;
import com.google.gerrit.server.git.TagCache;
import com.google.gerrit.server.git.TransferConfig;
+import com.google.gerrit.server.git.validators.CommitValidationListener;
+import com.google.gerrit.server.git.validators.CommitValidators;
+import com.google.gerrit.server.mail.AddReviewerSender;
+import com.google.gerrit.server.mail.CommitMessageEditedSender;
+import com.google.gerrit.server.mail.CreateChangeSender;
+import com.google.gerrit.server.mail.EmailModule;
import com.google.gerrit.server.mail.FromAddressGenerator;
import com.google.gerrit.server.mail.FromAddressGeneratorProvider;
+import com.google.gerrit.server.mail.MergeFailSender;
+import com.google.gerrit.server.mail.MergedSender;
+import com.google.gerrit.server.mail.RebasedPatchSetSender;
+import com.google.gerrit.server.mail.ReplacePatchSetSender;
import com.google.gerrit.server.mail.VelocityRuntimeProvider;
import com.google.gerrit.server.patch.PatchListCacheImpl;
import com.google.gerrit.server.patch.PatchSetInfoFactory;
import com.google.gerrit.server.project.AccessControlModule;
import com.google.gerrit.server.project.ChangeControl;
+import com.google.gerrit.server.project.PerformCreateProject;
import com.google.gerrit.server.project.PermissionCollection;
import com.google.gerrit.server.project.ProjectCacheImpl;
import com.google.gerrit.server.project.ProjectControl;
import com.google.gerrit.server.project.ProjectNode;
import com.google.gerrit.server.project.ProjectState;
import com.google.gerrit.server.project.SectionSortCache;
+import com.google.gerrit.server.query.change.ChangeQueryBuilder;
+import com.google.gerrit.server.query.change.ChangeQueryRewriter;
+import com.google.gerrit.server.ssh.SshAddressesModule;
import com.google.gerrit.server.tools.ToolsCatalog;
import com.google.gerrit.server.util.IdGenerator;
import com.google.gerrit.server.util.ThreadLocalRequestContext;
-import com.google.gerrit.server.workflow.FunctionState;
import com.google.inject.Inject;
import com.google.inject.TypeLiteral;
@@ -107,11 +138,10 @@ public class GerritGlobalModule extends FactoryModule {
default:
bind(Realm.class).to(DefaultRealm.class);
+ DynamicSet.bind(binder(), AuthBackend.class).to(InternalAuthBackend.class);
break;
}
- bind(ApprovalTypes.class).toProvider(ApprovalTypesProvider.class).in(
- SINGLETON);
bind(EmailExpander.class).toProvider(EmailExpanderProvider.class).in(
SINGLETON);
@@ -125,27 +155,55 @@ public class GerritGlobalModule extends FactoryModule {
install(ProjectCacheImpl.module());
install(SectionSortCache.module());
install(TagCache.module());
+ install(ChangeCache.module());
+
install(new AccessControlModule());
+ install(new EmailModule());
install(new GitModule());
install(new PrologModule());
+ install(new SshAddressesModule());
install(ThreadLocalRequestContext.module());
+ bind(AccountResolver.class);
+ bind(ChangeQueryRewriter.class);
+
factory(AccountInfoCacheFactory.Factory.class);
+ factory(AddReviewerSender.Factory.class);
factory(CapabilityControl.Factory.class);
+ factory(ChangeQueryBuilder.Factory.class);
+ factory(CommitMessageEditedSender.Factory.class);
+ factory(CreateChangeSender.Factory.class);
+ factory(GroupDetailFactory.Factory.class);
factory(GroupInfoCacheFactory.Factory.class);
+ factory(GroupMembers.Factory.class);
factory(InternalUser.Factory.class);
+ factory(MergedSender.Factory.class);
+ factory(MergeFailSender.Factory.class);
+ factory(MergeUtil.Factory.class);
+ factory(PerformCreateGroup.Factory.class);
+ factory(PerformRenameGroup.Factory.class);
+ factory(PluginUser.Factory.class);
factory(ProjectNode.Factory.class);
factory(ProjectState.Factory.class);
+ factory(RebasedPatchSetSender.Factory.class);
+ factory(ReplacePatchSetSender.Factory.class);
+ factory(PerformCreateProject.Factory.class);
+ factory(GarbageCollection.Factory.class);
bind(PermissionCollection.Factory.class);
bind(AccountVisibility.class)
.toProvider(AccountVisibilityProvider.class)
.in(SINGLETON);
+ bind(AuthBackend.class).to(UniversalAuthBackend.class).in(SINGLETON);
+ DynamicSet.setOf(binder(), AuthBackend.class);
+
bind(GroupControl.Factory.class).in(SINGLETON);
+ bind(GroupControl.GenericFactory.class).in(SINGLETON);
factory(IncludingGroupMembership.Factory.class);
- bind(InternalGroupBackend.class).in(SINGLETON);
bind(GroupBackend.class).to(UniversalGroupBackend.class).in(SINGLETON);
DynamicSet.setOf(binder(), GroupBackend.class);
+
+ bind(InternalGroupBackend.class).in(SINGLETON);
DynamicSet.bind(binder(), GroupBackend.class).to(InternalGroupBackend.class);
bind(FileTypeRegistry.class).to(MimeUtilFileTypeRegistry.class);
@@ -167,16 +225,31 @@ public class GerritGlobalModule extends FactoryModule {
bind(IdentifiedUser.GenericFactory.class).in(SINGLETON);
bind(ChangeControl.GenericFactory.class);
bind(ProjectControl.GenericFactory.class);
- factory(FunctionState.Factory.class);
+ bind(AccountControl.Factory.class);
install(new AuditModule());
+ install(new com.google.gerrit.server.account.Module());
+ install(new com.google.gerrit.server.change.Module());
+ install(new com.google.gerrit.server.group.Module());
+ install(new com.google.gerrit.server.project.Module());
bind(GitReferenceUpdated.class);
DynamicMap.mapOf(binder(), new TypeLiteral<Cache<?, ?>>() {});
DynamicSet.setOf(binder(), CacheRemovalListener.class);
DynamicSet.setOf(binder(), GitReferenceUpdatedListener.class);
DynamicSet.setOf(binder(), NewProjectCreatedListener.class);
+ DynamicSet.bind(binder(), GitReferenceUpdatedListener.class).to(ChangeCache.class);
+ DynamicSet.setOf(binder(), ChangeListener.class);
+ DynamicSet.setOf(binder(), CommitValidationListener.class);
+ DynamicItem.itemOf(binder(), AvatarProvider.class);
bind(AnonymousUser.class);
+
+ factory(CommitValidators.Factory.class);
+ factory(NotesBranchUtil.Factory.class);
+
+ bind(AccountManager.class);
+ bind(ChangeUserName.CurrentUser.class);
+ factory(ChangeUserName.Factory.class);
}
}