mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-02-04 13:49:13 +01:00
Use injector
This commit is contained in:
@@ -27,11 +27,8 @@ package sonia.scm.repository.spi;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.inject.AbstractModule;
|
||||
import com.google.inject.Injector;
|
||||
import sonia.scm.event.ScmEventBus;
|
||||
import sonia.scm.repository.Feature;
|
||||
import sonia.scm.repository.api.Command;
|
||||
import sonia.scm.repository.api.HookContextFactory;
|
||||
import sonia.scm.security.GPG;
|
||||
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
@@ -65,18 +62,12 @@ public class GitRepositoryServiceProvider extends RepositoryServiceProvider
|
||||
protected static final Set<Feature> FEATURES = EnumSet.of(Feature.INCOMING_REVISION);
|
||||
|
||||
private final GitContext context;
|
||||
private final GPG gpg;
|
||||
private final HookContextFactory hookContextFactory;
|
||||
private final ScmEventBus eventBus;
|
||||
private final Injector commandInjector;
|
||||
|
||||
//~--- constructors ---------------------------------------------------------
|
||||
|
||||
GitRepositoryServiceProvider(Injector injector, GitContext context, GPG gpg, HookContextFactory hookContextFactory, ScmEventBus eventBus) {
|
||||
GitRepositoryServiceProvider(Injector injector, GitContext context) {
|
||||
this.context = context;
|
||||
this.gpg = gpg;
|
||||
this.hookContextFactory = hookContextFactory;
|
||||
this.eventBus = eventBus;
|
||||
commandInjector = injector.createChildInjector(new AbstractModule() {
|
||||
@Override
|
||||
protected void configure() {
|
||||
@@ -152,12 +143,12 @@ public class GitRepositoryServiceProvider extends RepositoryServiceProvider
|
||||
|
||||
@Override
|
||||
public TagsCommand getTagsCommand() {
|
||||
return new GitTagsCommand(context, gpg);
|
||||
return commandInjector.getInstance(GitTagsCommand.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TagCommand getTagCommand() {
|
||||
return new GitTagCommand(context, gpg, hookContextFactory, eventBus);
|
||||
return commandInjector.getInstance(GitTagCommand.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -28,12 +28,9 @@ package sonia.scm.repository.spi;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Injector;
|
||||
import sonia.scm.event.ScmEventBus;
|
||||
import sonia.scm.plugin.Extension;
|
||||
import sonia.scm.repository.GitRepositoryHandler;
|
||||
import sonia.scm.repository.Repository;
|
||||
import sonia.scm.repository.api.HookContextFactory;
|
||||
import sonia.scm.security.GPG;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -44,23 +41,17 @@ public class GitRepositoryServiceResolver implements RepositoryServiceResolver {
|
||||
|
||||
private final Injector injector;
|
||||
private final GitContextFactory contextFactory;
|
||||
private final GPG gpg;
|
||||
private final HookContextFactory hookContextFactory;
|
||||
private final ScmEventBus scmEventBus;
|
||||
|
||||
@Inject
|
||||
public GitRepositoryServiceResolver(Injector injector, GitContextFactory contextFactory, GPG gpg, HookContextFactory hookContextFactory) {
|
||||
public GitRepositoryServiceResolver(Injector injector, GitContextFactory contextFactory) {
|
||||
this.injector = injector;
|
||||
this.contextFactory = contextFactory;
|
||||
this.gpg = gpg;
|
||||
this.hookContextFactory = hookContextFactory;
|
||||
this.scmEventBus = ScmEventBus.getInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
public GitRepositoryServiceProvider resolve(Repository repository) {
|
||||
if (GitRepositoryHandler.TYPE_NAME.equalsIgnoreCase(repository.getType())) {
|
||||
return new GitRepositoryServiceProvider(injector, contextFactory.create(repository), gpg, hookContextFactory, scmEventBus);
|
||||
return new GitRepositoryServiceProvider(injector, contextFactory.create(repository));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ import sonia.scm.repository.Signature;
|
||||
import sonia.scm.repository.Tag;
|
||||
import sonia.scm.security.GPG;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
@@ -61,6 +62,7 @@ public class GitTagsCommand extends AbstractGitCommand implements TagsCommand {
|
||||
*
|
||||
* @param context
|
||||
*/
|
||||
@Inject
|
||||
public GitTagsCommand(GitContext context, GPG gpp) {
|
||||
super(context);
|
||||
this.gpg = gpp;
|
||||
|
||||
Reference in New Issue
Block a user