@Test public void testLookup() throws ArtifactDescriptorException { StubArtifact art = new StubArtifact("gid:aid:ext:ver"); ArtifactDescriptorRequest request = new ArtifactDescriptorRequest(art, null, ""); ArtifactDescriptorResult description = reader.readArtifactDescriptor(session, request); assertEquals(request, description.getRequest()); assertEquals(art, description.getArtifact()); assertEquals(1, description.getRelocations().size()); Artifact artifact = description.getRelocations().get(0); assertEquals("gid", artifact.getGroupId()); assertEquals("aid", artifact.getArtifactId()); assertEquals("ver", artifact.getVersion()); assertEquals("ext", artifact.getExtension()); assertEquals(1, description.getRepositories().size()); RemoteRepository repo = description.getRepositories().get(0); assertEquals("id", repo.getId()); assertEquals("type", repo.getContentType()); assertEquals("protocol://some/url?for=testing", repo.getUrl()); assertDependencies(description.getDependencies()); assertDependencies(description.getManagedDependencies()); }
private ProxyServer getProxy(RemoteRepository repository) { ProxyServer proxyServer = null; Proxy p = repository.getProxy(); if (p != null) { Authentication a = p.getAuthentication(); boolean useSSL = repository.getProtocol().equalsIgnoreCase("https") || repository.getProtocol().equalsIgnoreCase("dav:https"); if (a == null) { proxyServer = new ProxyServer(useSSL ? Protocol.HTTPS : Protocol.HTTP, p.getHost(), p.getPort()); } else { proxyServer = new ProxyServer( useSSL ? Protocol.HTTPS : Protocol.HTTP, p.getHost(), p.getPort(), a.getUsername(), a.getPassword()); } } return proxyServer; }
/** * Tests if newCopy() gives independent instances. * * @throws NoSuchFieldException * @throws IllegalAccessException */ @Test public void shouldGiveNewIndependentRepositories() throws NoSuchFieldException, IllegalAccessException { // given final String initialId = "id"; final RemoteRepository remoteRepository = new RemoteRepository(initialId, "type", "url"); final MavenModelResolver mavenModelResolver = new MavenModelResolver(new MavenRepositorySystem(), null, Arrays.asList(remoteRepository)); // when final MavenModelResolver mavenModelResolverCopy = (MavenModelResolver) mavenModelResolver.newCopy(); remoteRepository.setId("otherId"); // then // simulate access to repositories field, internal functions uses this field, e.g. to resolve // model final Field repositoriesField = MavenModelResolver.class.getDeclaredField("repositories"); repositoriesField.setAccessible(true); @SuppressWarnings("unchecked") final List<RemoteRepository> value = (List<RemoteRepository>) repositoriesField.get(mavenModelResolverCopy); Assert.assertEquals("Internal value in copy has changed!", initialId, value.get(0).getId()); }
public void contextInitialized(ServletContextEvent event) { this.context = event.getServletContext(); RepositorySystem sys = newRepositorySystem(); // setting repository system this.context.setAttribute("RepositorySystem", sys); Settings settings = null; try { settings = loadSettings( context.getInitParameter("user-settings"), context.getInitParameter("global-settings")); } catch (SettingsBuildingException e) { this.context.log(e.getMessage(), e); } List<RemoteRepository> repos = new ArrayList<RemoteRepository>(); RemoteRepository central = new RemoteRepository("central", "default", getDefaultRemoteRepository()); this.context.log("using remote repo : " + central.getUrl()); repos.add(central); if (context.getInitParameter("snapshots-remote-repo") != null) { this.context.log( "using snapshot remote repo : " + context.getInitParameter("snapshots-remote-repo")); RemoteRepository snaps = new RemoteRepository( "snapshot", "default", context.getInitParameter("snapshots-remote-repo")); snaps.setPolicy(true, null); repos.add(snaps); } // setting remote repositories this.context.setAttribute("repositories", repos); // setting default session this.context.setAttribute("session", newSystemSession(sys, settings)); }
@Test public void testCreateSimpleRepo() { String plainUrl = "http://some.repo.url/somepath"; RemoteRepository repository = createRemoteRepository(plainUrl); assertNotNull(repository); assertNotNull(repository.getId()); assertNull(repository.getAuthentication()); }
/** * Create an {@link org.sonatype.aether.connector.async.AsyncRepositoryConnector} instance which * connect to the {@link RemoteRepository} * * @param repository the remote repository * @param session the {@link RepositorySystemSession} * @param logger the logger. * @throws NoRepositoryConnectorException */ public AsyncRepositoryConnector( RemoteRepository repository, RepositorySystemSession session, FileProcessor fileProcessor, Logger logger) throws NoRepositoryConnectorException { this.logger = logger; this.repository = repository; this.listener = session.getTransferListener(); this.fileProcessor = fileProcessor; this.session = session; if (!"default".equals(repository.getContentType())) { throw new NoRepositoryConnectorException(repository); } if (!repository.getProtocol().regionMatches(true, 0, "http", 0, "http".length()) && !repository.getProtocol().regionMatches(true, 0, "dav", 0, "dav".length())) { throw new NoRepositoryConnectorException(repository); } AsyncHttpClientConfig config = createConfig(session, repository, true); httpClient = new AsyncHttpClient(new NettyAsyncHttpProvider(config)); checksumAlgos = new LinkedHashMap<String, String>(); checksumAlgos.put("SHA-1", ".sha1"); checksumAlgos.put("MD5", ".md5"); disableResumeSupport = ConfigUtils.getBoolean(session, false, "aether.connector.ahc.disableResumable"); maxIOExceptionRetry = ConfigUtils.getInteger(session, 3, "aether.connector.ahc.resumeRetry"); this.headers = new FluentCaseInsensitiveStringsMap(); Map<?, ?> headers = ConfigUtils.getMap( session, null, ConfigurationProperties.HTTP_HEADERS + "." + repository.getId(), ConfigurationProperties.HTTP_HEADERS); if (headers != null) { for (Map.Entry<?, ?> entry : headers.entrySet()) { if (entry.getKey() instanceof String && entry.getValue() instanceof String) { this.headers.add(entry.getKey().toString(), entry.getValue().toString()); } } } }
/** * Builds a complete URL string from the repository URL and the relative path passed. * * @param path the relative path * @return the complete URL */ private String buildUrl(String path) { final String repoUrl = repository.getUrl(); path = path.replace(' ', '+'); if (repoUrl.charAt(repoUrl.length() - 1) != '/') { return repoUrl + '/' + path; } return repoUrl + path; }
private List<RemoteRepository> convertToMavenRepos( final List<DependencyRepository> repositories) { List<DependencyRepository> temp = new ArrayList<DependencyRepository>(); temp.addAll(repositories); List<RemoteRepository> remoteRepos = new ArrayList<RemoteRepository>(); boolean hasCentral = false; for (DependencyRepository deprep : temp) { remoteRepos.add(convertToMavenRepo(deprep)); if (KnownRepository.CENTRAL.getUrl().equals(deprep.getUrl())) { hasCentral = true; } } if (!hasCentral) { RemoteRepository central = convertToMavenRepo( new DependencyRepositoryImpl( KnownRepository.CENTRAL.getId(), KnownRepository.CENTRAL.getUrl())); central.setPolicy(true, new RepositoryPolicy().setEnabled(false)); remoteRepos.add(central); } return remoteRepos; }
private Realm getRealm(RemoteRepository repository) { Realm realm = null; Authentication a = repository.getAuthentication(); if (a != null && a.getUsername() != null) { realm = new Realm.RealmBuilder() .setPrincipal(a.getUsername()) .setPassword(a.getPassword()) .setUsePreemptiveAuth(false) .build(); } return realm; }
@Test public void testCreateRepWithCredentials() { String plainUrl = "http://*****:*****@some.repo.url/somepath"; RemoteRepository repository = createRemoteRepository(plainUrl); assertNotNull(repository); assertNotNull(repository.getId()); assertNotNull(repository.getAuthentication()); assertEquals("user", repository.getAuthentication().getUsername()); assertEquals("password", repository.getAuthentication().getPassword()); assertEquals("http://some.repo.url/somepath", repository.getUrl()); }