diff --git a/scm-core/src/main/java/sonia/scm/api/v2/resources/LinkBuilder.java b/scm-core/src/main/java/sonia/scm/api/v2/resources/LinkBuilder.java index 13ae04b093..0797134c9f 100644 --- a/scm-core/src/main/java/sonia/scm/api/v2/resources/LinkBuilder.java +++ b/scm-core/src/main/java/sonia/scm/api/v2/resources/LinkBuilder.java @@ -13,7 +13,7 @@ import java.util.Arrays; * builder for each method. * *
- * LinkBuilder builder = new LinkBuilder(uriInfo, MainResource.class, SubResource.class);
+ * LinkBuilder builder = new LinkBuilder(pathInfo, MainResource.class, SubResource.class);
  * Link link = builder
  *     .method("sub")
  *     .parameters("param")
@@ -24,16 +24,16 @@ import java.util.Arrays;
  */
 @SuppressWarnings("WeakerAccess") // Non-public will result in IllegalAccessError for plugins
 public class LinkBuilder {
-  private final ScmPathInfo uriInfo;
+  private final ScmPathInfo pathInfo;
   private final Class[] classes;
   private final ImmutableList calls;
 
-  public LinkBuilder(ScmPathInfo uriInfo, Class... classes) {
-    this(uriInfo, classes, ImmutableList.of());
+  public LinkBuilder(ScmPathInfo pathInfo, Class... classes) {
+    this(pathInfo, classes, ImmutableList.of());
   }
 
-  private LinkBuilder(ScmPathInfo uriInfo, Class[] classes, ImmutableList calls) {
-    this.uriInfo = uriInfo;
+  private LinkBuilder(ScmPathInfo pathInfo, Class[] classes, ImmutableList calls) {
+    this.pathInfo = pathInfo;
     this.classes = classes;
     this.calls = calls;
   }
@@ -50,7 +50,7 @@ public class LinkBuilder {
       throw new IllegalStateException("not enough methods for all classes");
     }
 
-    URI baseUri = uriInfo.getApiRestUri();
+    URI baseUri = pathInfo.getApiRestUri();
     URI relativeUri = createRelativeUri();
     return baseUri.resolve(relativeUri);
   }
@@ -60,7 +60,7 @@ public class LinkBuilder {
   }
 
   private LinkBuilder add(String method, String[] parameters) {
-    return new LinkBuilder(uriInfo, classes, appendNewCall(method, parameters));
+    return new LinkBuilder(pathInfo, classes, appendNewCall(method, parameters));
   }
 
   private ImmutableList appendNewCall(String method, String[] parameters) {
diff --git a/scm-core/src/main/java/sonia/scm/repository/spi/InitializingHttpScmProtocolWrapper.java b/scm-core/src/main/java/sonia/scm/repository/spi/InitializingHttpScmProtocolWrapper.java
index 0a94b1e6bf..57de407edc 100644
--- a/scm-core/src/main/java/sonia/scm/repository/spi/InitializingHttpScmProtocolWrapper.java
+++ b/scm-core/src/main/java/sonia/scm/repository/spi/InitializingHttpScmProtocolWrapper.java
@@ -64,7 +64,7 @@ public abstract class InitializingHttpScmProtocolWrapper implements ScmProtocolP
   }
 
   private String getPathFromConfiguration() {
-    logger.debug("using base path from configuration: " + scmConfiguration.getBaseUrl());
+    logger.debug("using base path from configuration: {}", scmConfiguration.getBaseUrl());
     return scmConfiguration.getBaseUrl();
   }
 
diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryRootResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryRootResource.java
index 6ad9b6257e..d5ea6c88de 100644
--- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryRootResource.java
+++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryRootResource.java
@@ -42,7 +42,6 @@ import sonia.scm.repository.Repository;
 import sonia.scm.repository.RepositoryManager;
 import sonia.scm.repository.RepositoryTypePredicate;
 import sonia.scm.template.Viewable;
-import sonia.scm.util.HttpUtil;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.GET;
@@ -98,13 +97,12 @@ public class RepositoryRootResource
   @Produces(MediaType.TEXT_HTML)
   public Viewable renderRepositoriesRoot(@Context HttpServletRequest request, @PathParam("type") final String type)
   {
-    String baseUrl = HttpUtil.getCompleteUrl(request);
     //J-
     Collection unsortedRepositories =
       Collections2.transform( 
         Collections2.filter(
             repositoryManager.getAll(), new RepositoryTypePredicate(type))
-        , new RepositoryTransformFunction(baseUrl)
+        , new RepositoryTransformFunction()
       );
     
     List repositories = Ordering.from(
@@ -130,17 +128,9 @@ public class RepositoryRootResource
   public static class RepositoryTemplateElement
   {
 
-    /**
-     * Constructs ...
-     *
-     *
-     * @param repository
-     * @param baseUrl
-     */
-    public RepositoryTemplateElement(Repository repository, String baseUrl)
+    public RepositoryTemplateElement(Repository repository)
     {
       this.repository = repository;
-      this.baseUrl = baseUrl;
     }
 
     //~--- get methods --------------------------------------------------------
@@ -169,9 +159,6 @@ public class RepositoryRootResource
 
     //~--- fields -------------------------------------------------------------
 
-    /** Field description */
-    private String baseUrl;
-
     /** Field description */
     private Repository repository;
 
@@ -217,31 +204,10 @@ public class RepositoryRootResource
   private static class RepositoryTransformFunction
     implements Function
   {
-
-    public RepositoryTransformFunction(String baseUrl)
-    {
-      this.baseUrl = baseUrl;
-    }
-
-    //~--- methods ------------------------------------------------------------
-
-    /**
-     * Method description
-     *
-     *
-     * @param repository
-     *
-     * @return
-     */
     @Override
     public RepositoryTemplateElement apply(Repository repository)
     {
-      return new RepositoryTemplateElement(repository, baseUrl);
+      return new RepositoryTemplateElement(repository);
     }
-
-    //~--- fields -------------------------------------------------------------
-
-    /** Field description */
-    private String baseUrl;
   }
 }
diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ResourceLinks.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ResourceLinks.java
index 59d7ccaa27..35444bb715 100644
--- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ResourceLinks.java
+++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ResourceLinks.java
@@ -26,8 +26,8 @@ class ResourceLinks {
   static class GroupLinks {
     private final LinkBuilder groupLinkBuilder;
 
-    GroupLinks(ScmPathInfo uriInfo) {
-      groupLinkBuilder = new LinkBuilder(uriInfo, GroupRootResource.class, GroupResource.class);
+    GroupLinks(ScmPathInfo pathInfo) {
+      groupLinkBuilder = new LinkBuilder(pathInfo, GroupRootResource.class, GroupResource.class);
     }
 
     String self(String name) {
@@ -50,8 +50,8 @@ class ResourceLinks {
   static class GroupCollectionLinks {
     private final LinkBuilder collectionLinkBuilder;
 
-    GroupCollectionLinks(ScmPathInfo uriInfo) {
-      collectionLinkBuilder = new LinkBuilder(uriInfo, GroupRootResource.class, GroupCollectionResource.class);
+    GroupCollectionLinks(ScmPathInfo pathInfo) {
+      collectionLinkBuilder = new LinkBuilder(pathInfo, GroupRootResource.class, GroupCollectionResource.class);
     }
 
     String self() {
@@ -70,8 +70,8 @@ class ResourceLinks {
   static class UserLinks {
     private final LinkBuilder userLinkBuilder;
 
-    UserLinks(ScmPathInfo uriInfo) {
-      userLinkBuilder = new LinkBuilder(uriInfo, UserRootResource.class, UserResource.class);
+    UserLinks(ScmPathInfo pathInfo) {
+      userLinkBuilder = new LinkBuilder(pathInfo, UserRootResource.class, UserResource.class);
     }
 
     String self(String name) {
@@ -94,8 +94,8 @@ class ResourceLinks {
   static class UserCollectionLinks {
     private final LinkBuilder collectionLinkBuilder;
 
-    UserCollectionLinks(ScmPathInfo uriInfo) {
-      collectionLinkBuilder = new LinkBuilder(uriInfo, UserRootResource.class, UserCollectionResource.class);
+    UserCollectionLinks(ScmPathInfo pathInfo) {
+      collectionLinkBuilder = new LinkBuilder(pathInfo, UserRootResource.class, UserCollectionResource.class);
     }
 
     String self() {
@@ -114,8 +114,8 @@ class ResourceLinks {
   static class ConfigLinks {
     private final LinkBuilder configLinkBuilder;
 
-    ConfigLinks(ScmPathInfo uriInfo) {
-      configLinkBuilder = new LinkBuilder(uriInfo, ConfigResource.class);
+    ConfigLinks(ScmPathInfo pathInfo) {
+      configLinkBuilder = new LinkBuilder(pathInfo, ConfigResource.class);
     }
 
     String self() {
@@ -133,11 +133,9 @@ class ResourceLinks {
 
   static class RepositoryLinks {
     private final LinkBuilder repositoryLinkBuilder;
-    private final ScmPathInfo uriInfo;
 
-    RepositoryLinks(ScmPathInfo uriInfo) {
-      repositoryLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class);
-      this.uriInfo = uriInfo;
+    RepositoryLinks(ScmPathInfo pathInfo) {
+      repositoryLinkBuilder = new LinkBuilder(pathInfo, RepositoryRootResource.class, RepositoryResource.class);
     }
 
     String self(String namespace, String name) {
@@ -160,8 +158,8 @@ class ResourceLinks {
   static class RepositoryCollectionLinks {
     private final LinkBuilder collectionLinkBuilder;
 
-    RepositoryCollectionLinks(ScmPathInfo uriInfo) {
-      collectionLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryCollectionResource.class);
+    RepositoryCollectionLinks(ScmPathInfo pathInfo) {
+      collectionLinkBuilder = new LinkBuilder(pathInfo, RepositoryRootResource.class, RepositoryCollectionResource.class);
     }
 
     String self() {
@@ -180,8 +178,8 @@ class ResourceLinks {
   static class RepositoryTypeLinks {
     private final LinkBuilder repositoryTypeLinkBuilder;
 
-    RepositoryTypeLinks(ScmPathInfo uriInfo) {
-      repositoryTypeLinkBuilder = new LinkBuilder(uriInfo, RepositoryTypeRootResource.class, RepositoryTypeResource.class);
+    RepositoryTypeLinks(ScmPathInfo pathInfo) {
+      repositoryTypeLinkBuilder = new LinkBuilder(pathInfo, RepositoryTypeRootResource.class, RepositoryTypeResource.class);
     }
 
     String self(String name) {
@@ -196,8 +194,8 @@ class ResourceLinks {
   static class RepositoryTypeCollectionLinks {
     private final LinkBuilder collectionLinkBuilder;
 
-    RepositoryTypeCollectionLinks(ScmPathInfo uriInfo) {
-      collectionLinkBuilder = new LinkBuilder(uriInfo, RepositoryTypeRootResource.class, RepositoryTypeCollectionResource.class);
+    RepositoryTypeCollectionLinks(ScmPathInfo pathInfo) {
+      collectionLinkBuilder = new LinkBuilder(pathInfo, RepositoryTypeRootResource.class, RepositoryTypeCollectionResource.class);
     }
 
     String self() {
@@ -213,8 +211,8 @@ class ResourceLinks {
   static class TagCollectionLinks {
     private final LinkBuilder tagLinkBuilder;
 
-    TagCollectionLinks(ScmPathInfo uriInfo) {
-      tagLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class, TagRootResource.class);
+    TagCollectionLinks(ScmPathInfo pathInfo) {
+      tagLinkBuilder = new LinkBuilder(pathInfo, RepositoryRootResource.class, RepositoryResource.class, TagRootResource.class);
     }
 
     String self(String namespace, String name, String tagName) {
@@ -233,8 +231,8 @@ class ResourceLinks {
   static class DiffLinks {
     private final LinkBuilder diffLinkBuilder;
 
-    DiffLinks(ScmPathInfo uriInfo) {
-      diffLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class, DiffRootResource.class);
+    DiffLinks(ScmPathInfo pathInfo) {
+      diffLinkBuilder = new LinkBuilder(pathInfo, RepositoryRootResource.class, RepositoryResource.class, DiffRootResource.class);
     }
 
     String self(String namespace, String name, String id) {
@@ -253,8 +251,8 @@ class ResourceLinks {
   static class BranchLinks {
     private final LinkBuilder branchLinkBuilder;
 
-    BranchLinks(ScmPathInfo uriInfo) {
-      branchLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class, BranchRootResource.class);
+    BranchLinks(ScmPathInfo pathInfo) {
+      branchLinkBuilder = new LinkBuilder(pathInfo, RepositoryRootResource.class, RepositoryResource.class, BranchRootResource.class);
     }
 
     String self(NamespaceAndName namespaceAndName, String branch) {
@@ -273,8 +271,8 @@ class ResourceLinks {
   static class BranchCollectionLinks {
     private final LinkBuilder branchLinkBuilder;
 
-    BranchCollectionLinks(ScmPathInfo uriInfo) {
-      branchLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class, BranchRootResource.class);
+    BranchCollectionLinks(ScmPathInfo pathInfo) {
+      branchLinkBuilder = new LinkBuilder(pathInfo, RepositoryRootResource.class, RepositoryResource.class, BranchRootResource.class);
     }
 
     String self(String namespace, String name) {
@@ -289,8 +287,8 @@ class ResourceLinks {
   static class ChangesetLinks {
     private final LinkBuilder changesetLinkBuilder;
 
-    ChangesetLinks(ScmPathInfo uriInfo) {
-      changesetLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class, ChangesetRootResource.class);
+    ChangesetLinks(ScmPathInfo pathInfo) {
+      changesetLinkBuilder = new LinkBuilder(pathInfo, RepositoryRootResource.class, RepositoryResource.class, ChangesetRootResource.class);
     }
 
     String self(String namespace, String name, String changesetId) {
@@ -313,8 +311,8 @@ class ResourceLinks {
   static class ModificationsLinks {
     private final LinkBuilder modificationsLinkBuilder;
 
-    ModificationsLinks(ScmPathInfo uriInfo) {
-      modificationsLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class, ModificationsRootResource.class);
+    ModificationsLinks(ScmPathInfo pathInfo) {
+      modificationsLinkBuilder = new LinkBuilder(pathInfo, RepositoryRootResource.class, RepositoryResource.class, ModificationsRootResource.class);
     }
     String self(String namespace, String name, String revision) {
       return modificationsLinkBuilder.method("getRepositoryResource").parameters(namespace, name).method("modifications").parameters().method("get").parameters(revision).href();
@@ -328,8 +326,8 @@ class ResourceLinks {
   static class FileHistoryLinks {
     private final LinkBuilder fileHistoryLinkBuilder;
 
-    FileHistoryLinks(ScmPathInfo uriInfo) {
-      fileHistoryLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class, FileHistoryRootResource.class);
+    FileHistoryLinks(ScmPathInfo pathInfo) {
+      fileHistoryLinkBuilder = new LinkBuilder(pathInfo, RepositoryRootResource.class, RepositoryResource.class, FileHistoryRootResource.class);
     }
 
     String self(String namespace, String name, String changesetId, String path) {
@@ -345,8 +343,8 @@ class ResourceLinks {
   static class SourceLinks {
     private final LinkBuilder sourceLinkBuilder;
 
-    SourceLinks(ScmPathInfo uriInfo) {
-      sourceLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class, SourceRootResource.class);
+    SourceLinks(ScmPathInfo pathInfo) {
+      sourceLinkBuilder = new LinkBuilder(pathInfo, RepositoryRootResource.class, RepositoryResource.class, SourceRootResource.class);
     }
 
     String self(String namespace, String name, String revision) {
@@ -378,8 +376,8 @@ class ResourceLinks {
   static class PermissionLinks {
     private final LinkBuilder permissionLinkBuilder;
 
-    PermissionLinks(ScmPathInfo uriInfo) {
-      permissionLinkBuilder = new LinkBuilder(uriInfo, RepositoryRootResource.class, RepositoryResource.class, PermissionRootResource.class);
+    PermissionLinks(ScmPathInfo pathInfo) {
+      permissionLinkBuilder = new LinkBuilder(pathInfo, RepositoryRootResource.class, RepositoryResource.class, PermissionRootResource.class);
     }
 
     String all(String namespace, String name) {
@@ -415,8 +413,8 @@ class ResourceLinks {
   static class UIPluginLinks {
     private final LinkBuilder uiPluginLinkBuilder;
 
-    UIPluginLinks(ScmPathInfo uriInfo) {
-      uiPluginLinkBuilder = new LinkBuilder(uriInfo, UIRootResource.class, UIPluginResource.class);
+    UIPluginLinks(ScmPathInfo pathInfo) {
+      uiPluginLinkBuilder = new LinkBuilder(pathInfo, UIRootResource.class, UIPluginResource.class);
     }
 
     String self(String id) {
@@ -431,8 +429,8 @@ class ResourceLinks {
   static class UIPluginCollectionLinks {
     private final LinkBuilder uiPluginCollectionLinkBuilder;
 
-    UIPluginCollectionLinks(ScmPathInfo uriInfo) {
-      uiPluginCollectionLinkBuilder = new LinkBuilder(uriInfo, UIRootResource.class, UIPluginResource.class);
+    UIPluginCollectionLinks(ScmPathInfo pathInfo) {
+      uiPluginCollectionLinkBuilder = new LinkBuilder(pathInfo, UIRootResource.class, UIPluginResource.class);
     }
 
     String self() {
diff --git a/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java b/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java
index 1ddfb4a3d3..8cb325b818 100644
--- a/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java
+++ b/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java
@@ -82,7 +82,6 @@ public class DefaultRepositoryManager extends AbstractRepositoryManager {
   private final KeyGenerator keyGenerator;
   private final RepositoryDAO repositoryDAO;
   private final Set types;
-  private RepositoryMatcher repositoryMatcher;
   private NamespaceStrategy namespaceStrategy;
   private final ManagerDaoAdapter managerDaoAdapter;
 
@@ -91,12 +90,10 @@ public class DefaultRepositoryManager extends AbstractRepositoryManager {
   public DefaultRepositoryManager(ScmConfiguration configuration,
                                   SCMContextProvider contextProvider, KeyGenerator keyGenerator,
                                   RepositoryDAO repositoryDAO, Set handlerSet,
-                                  RepositoryMatcher repositoryMatcher,
                                   NamespaceStrategy namespaceStrategy) {
     this.configuration = configuration;
     this.keyGenerator = keyGenerator;
     this.repositoryDAO = repositoryDAO;
-    this.repositoryMatcher = repositoryMatcher;
     this.namespaceStrategy = namespaceStrategy;
 
     ThreadFactory factory = new ThreadFactoryBuilder()
diff --git a/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerPerfTest.java b/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerPerfTest.java
index 5f4ea2fa72..448c2561f3 100644
--- a/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerPerfTest.java
+++ b/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerPerfTest.java
@@ -54,7 +54,6 @@ import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
 import sonia.scm.SCMContextProvider;
-import sonia.scm.Type;
 import sonia.scm.cache.GuavaCacheManager;
 import sonia.scm.config.ScmConfiguration;
 import sonia.scm.security.AuthorizationCollector;
@@ -120,7 +119,6 @@ public class DefaultRepositoryManagerPerfTest {
       keyGenerator, 
       repositoryDAO,
       handlerSet, 
-      repositoryMatcher,
       namespaceStrategy
     );
     
diff --git a/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerTest.java b/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerTest.java
index d85ce12014..b7d231cf38 100644
--- a/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerTest.java
+++ b/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerTest.java
@@ -61,7 +61,6 @@ import sonia.scm.store.ConfigurationStoreFactory;
 import sonia.scm.store.JAXBConfigurationStoreFactory;
 
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
 import java.util.Stack;
@@ -441,7 +440,7 @@ public class DefaultRepositoryManagerTest extends ManagerTestBase {
     when(namespaceStrategy.createNamespace(Mockito.any(Repository.class))).thenAnswer(invocation -> mockedNamespace);
 
     return new DefaultRepositoryManager(configuration, contextProvider,
-      keyGenerator, repositoryDAO, handlerSet, createRepositoryMatcher(), namespaceStrategy);
+      keyGenerator, repositoryDAO, handlerSet, namespaceStrategy);
   }
 
   private void createRepository(RepositoryManager m, Repository repository) throws AlreadyExistsException {
@@ -467,10 +466,6 @@ public class DefaultRepositoryManagerTest extends ManagerTestBase {
     assertEquals(repo.getLastModified(), other.getLastModified());
   }
 
-  private RepositoryMatcher createRepositoryMatcher() {
-    return new RepositoryMatcher(Collections.emptySet());
-  }
-
   private Repository createRepository(Repository repository) throws AlreadyExistsException {
     manager.create(repository);
     assertNotNull(repository.getId());