private void registerMavenServlet()

in repository/service/src/main/java/org/apache/karaf/cave/repository/service/RepositoryServiceImpl.java [907:925]


    private void registerMavenServlet(Repository repository) throws Exception {
        Hashtable<String, String> mavenResolverConfig = new Hashtable<>();
        mavenResolverConfig.put("defaultRepositories", "file:" + repository.getLocation() + "@id=" + repository.getName() + "@snapshots@releases");
        mavenResolverConfig.put("defaultLocalRepoAsRemote", "false");
        mavenResolverConfig.put("useFallbackRepositories", "false");
        if (repository.getProxy() == null || repository.getProxy().isEmpty() || repository.isMirror()) {
            if (repository.getLocation() != null && !repository.getLocation().isEmpty()) {
                mavenResolverConfig.put("localRepository", repository.getLocation());
            }
        }
        if (repository.getProxy() != null && !repository.getProxy().isEmpty()) {
            mavenResolverConfig.put("repositories", repository.getProxy() + ",file:" + repository.getLocation() + "@id=" + repository.getName() + "@snapshots");
        } else {
            mavenResolverConfig.put("repositories", "file:" + repository.getLocation() + "@id=" + repository.getName() + "@snapshots");
        }
        MavenResolver mavenResolver = MavenResolvers.createMavenResolver(mavenResolverConfig, null);
        MavenServlet mavenServlet = new MavenServlet(mavenResolver, repository.getName(), repository.getLocation(), repository.getPoolSize(), repository.getRealm(), repository.getDownloadRole(), repository.getUploadRole());
        httpService.registerServlet(repository.getUrl(), mavenServlet, null, null);
    }