From 8cd2c3f493d695b46aef05f9d0121384699edabe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Pfeuffer?= Date: Mon, 30 Nov 2020 17:52:25 +0100 Subject: [PATCH] Use injector --- .../spi/GitRepositoryServiceProvider.java | 15 +++------------ .../spi/GitRepositoryServiceResolver.java | 13 ++----------- .../sonia/scm/repository/spi/GitTagsCommand.java | 2 ++ .../spi/GitRepositoryServiceProviderTest.java | 14 +------------- 4 files changed, 8 insertions(+), 36 deletions(-) diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitRepositoryServiceProvider.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitRepositoryServiceProvider.java index c6867ffbb4..d2df924e7d 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitRepositoryServiceProvider.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitRepositoryServiceProvider.java @@ -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 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 diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitRepositoryServiceResolver.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitRepositoryServiceResolver.java index 8e65258ada..7ff06dd140 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitRepositoryServiceResolver.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitRepositoryServiceResolver.java @@ -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; } diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitTagsCommand.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitTagsCommand.java index 64a038b3ce..e73302cba6 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitTagsCommand.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitTagsCommand.java @@ -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; diff --git a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/GitRepositoryServiceProviderTest.java b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/GitRepositoryServiceProviderTest.java index 894965ccda..aac6eaef49 100644 --- a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/GitRepositoryServiceProviderTest.java +++ b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/GitRepositoryServiceProviderTest.java @@ -31,10 +31,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import sonia.scm.event.ScmEventBus; import sonia.scm.repository.GitRepositoryHandler; -import sonia.scm.repository.api.HookContextFactory; -import sonia.scm.security.GPG; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.verify; @@ -48,15 +45,6 @@ class GitRepositoryServiceProviderTest { @Mock private GitContext context; - @Mock - private GPG gpg; - - @Mock - private HookContextFactory hookContextFactory; - - @Mock - private ScmEventBus eventBus; - @Test void shouldCreatePushCommand() { GitRepositoryServiceProvider provider = createProvider(); @@ -71,7 +59,7 @@ class GitRepositoryServiceProviderTest { } private GitRepositoryServiceProvider createProvider() { - return new GitRepositoryServiceProvider(createParentInjector(), context, gpg, hookContextFactory, eventBus); + return new GitRepositoryServiceProvider(createParentInjector(), context); } private Injector createParentInjector() {