Example usage for org.apache.maven.repository MirrorSelector getMirror

List of usage examples for org.apache.maven.repository MirrorSelector getMirror

Introduction

In this page you can find the example usage for org.apache.maven.repository MirrorSelector getMirror.

Prototype

Mirror getMirror(ArtifactRepository repository, List<Mirror> mirrors);

Source Link

Document

Determines the mirror for the specified repository.

Usage

From source file:com.redhat.rcm.offliner.PomArtifactListReader.java

License:Apache License

/**
 * Applies mirrors from the settings.xml on the {@code repositories}. Read mirrors replace the original repositories
 * in provided repository list.// w  w w .  j av a 2  s.  co  m
 *
 * @param settings settings.xml contents
 * @param repositories list of repositories read from pom
 */
private void processMirrors(final Settings settings, final List<Repository> repositories) {
    List<Mirror> mirrors = settings.getMirrors();
    MirrorSelector mirrorSelector = new DefaultMirrorSelector();
    DefaultRepositoryLayout layout = new DefaultRepositoryLayout();
    for (Repository repository : new ArrayList<>(repositories)) {
        ArtifactRepository artRepository = new MavenArtifactRepository();
        artRepository.setId(repository.getId());
        // TODO read the layout from the original repository
        artRepository.setLayout(layout);
        Mirror mirror = mirrorSelector.getMirror(artRepository, mirrors);
        if (mirror != null) {
            Repository mirrorRepository = new Repository();
            mirrorRepository.setId(mirror.getId());
            mirrorRepository.setLayout(mirror.getLayout());
            mirrorRepository.setReleases(repository.getReleases());
            mirrorRepository.setSnapshots(repository.getSnapshots());
            mirrorRepository.setUrl(mirror.getUrl());
            Collections.replaceAll(repositories, repository, mirrorRepository);
        }
    }
}

From source file:org.commonjava.maven.ext.io.resolver.MavenLocationExpander.java

License:Apache License

private void addRequestRepositoriesTo(final Set<Location> locs,
        final List<ArtifactRepository> artifactRepositories, final Settings settings,
        final MirrorSelector mirrorSelector) throws MalformedURLException {
    if (artifactRepositories != null) {
        for (final ArtifactRepository repo : artifactRepositories) {
            // TODO: Authentication via memory password manager.
            String id = repo.getId();
            String url = repo.getUrl();

            if (url.startsWith("file:")) {
                locs.add(new SimpleLocation(id, url));
            } else {
                final List<Mirror> mirrors = settings.getMirrors();
                if (mirrors != null) {
                    final Mirror mirror = mirrorSelector == null ? null
                            : mirrorSelector.getMirror(repo, mirrors);
                    if (mirror != null) {
                        id = mirror.getId();
                        url = mirror.getUrl();
                    }// w w  w.j av a2 s.c o  m
                }

                final ArtifactRepositoryPolicy releases = repo.getReleases();
                final ArtifactRepositoryPolicy snapshots = repo.getSnapshots();

                SimpleHttpLocation addition = new SimpleHttpLocation(id, url,
                        snapshots != null && snapshots.isEnabled(), releases == null || releases.isEnabled(),
                        true, false, null);

                addition.setAttribute(Location.CONNECTION_TIMEOUT_SECONDS, 60);

                locs.add(addition);
            }
        }
    }
}

From source file:org.commonjava.maven.ext.io.resolver.MavenLocationExpander.java

License:Apache License

private void addSettingsProfileRepositoriesTo(final Set<Location> locs, final Settings settings,
        final List<String> activeProfiles, final MirrorSelector mirrorSelector) throws MalformedURLException {
    if (settings != null) {
        final Map<String, Profile> profiles = settings.getProfilesAsMap();
        if (profiles != null && activeProfiles != null && !activeProfiles.isEmpty()) {
            final LinkedHashSet<String> active = new LinkedHashSet<>(activeProfiles);

            final List<String> settingsActiveProfiles = settings.getActiveProfiles();
            if (settingsActiveProfiles != null && !settingsActiveProfiles.isEmpty()) {
                active.addAll(settingsActiveProfiles);
            }//from w w w  . j a v a  2 s  . co m

            for (final String profileId : active) {
                final Profile profile = profiles.get(profileId);
                if (profile != null) {
                    final List<Repository> repositories = profile.getRepositories();
                    if (repositories != null) {
                        final List<Mirror> mirrors = settings.getMirrors();
                        final ArtifactRepositoryLayout layout = new DefaultRepositoryLayout();
                        for (final Repository repo : repositories) {
                            String id = repo.getId();
                            String url = repo.getUrl();

                            if (mirrors != null) {
                                final ArtifactRepositoryPolicy snapshots = convertPolicy(repo.getSnapshots());
                                final ArtifactRepositoryPolicy releases = convertPolicy(repo.getReleases());

                                final MavenArtifactRepository arepo = new MavenArtifactRepository(id, url,
                                        layout, snapshots, releases);

                                final Mirror mirror = mirrorSelector == null ? null
                                        : mirrorSelector.getMirror(arepo, mirrors);

                                if (mirror != null) {
                                    id = mirror.getId();
                                    url = mirror.getUrl();
                                }

                                SimpleHttpLocation addition = new SimpleHttpLocation(id, url,
                                        snapshots.isEnabled(), releases.isEnabled(), true, false, null);

                                addition.setAttribute(Location.CONNECTION_TIMEOUT_SECONDS, 60);

                                locs.add(addition);
                            }
                        }
                    }

                }
            }
        }
    }
}

From source file:org.commonjava.maven.ext.manip.resolver.MavenLocationExpander.java

License:Open Source License

private void addRequestRepositoriesTo(final Set<Location> locs,
        final List<ArtifactRepository> artifactRepositories, final Settings settings,
        final MirrorSelector mirrorSelector) throws MalformedURLException {
    if (artifactRepositories != null) {
        for (final ArtifactRepository repo : artifactRepositories) {
            // TODO: Authentication via memory password manager.
            String id = repo.getId();
            String url = repo.getUrl();

            if (url.startsWith("file:")) {
                locs.add(new SimpleLocation(id, url));
            } else {
                final List<Mirror> mirrors = settings.getMirrors();
                if (mirrors != null) {
                    final Mirror mirror = mirrorSelector == null ? null
                            : mirrorSelector.getMirror(repo, mirrors);
                    if (mirror != null) {
                        id = mirror.getId();
                        url = mirror.getUrl();
                    }/* w ww.  jav  a  2s .c  om*/
                }

                final ArtifactRepositoryPolicy releases = repo.getReleases();
                final ArtifactRepositoryPolicy snapshots = repo.getSnapshots();

                SimpleHttpLocation addition = new SimpleHttpLocation(id, url,
                        snapshots == null ? false : snapshots.isEnabled(),
                        releases == null ? true : releases.isEnabled(), true, false, null);

                addition.setAttribute(Location.CONNECTION_TIMEOUT_SECONDS, 60);

                locs.add(addition);
            }
        }
    }
}

From source file:org.commonjava.maven.ext.manip.resolver.MavenLocationExpander.java

License:Open Source License

private void addSettingsProfileRepositoriesTo(final Set<Location> locs, final Settings settings,
        final List<String> activeProfiles, final MirrorSelector mirrorSelector) throws MalformedURLException {
    if (settings != null) {
        final Map<String, Profile> profiles = settings.getProfilesAsMap();
        if (profiles != null && activeProfiles != null && !activeProfiles.isEmpty()) {
            final LinkedHashSet<String> active = new LinkedHashSet<String>(activeProfiles);

            final List<String> settingsActiveProfiles = settings.getActiveProfiles();
            if (settingsActiveProfiles != null && !settingsActiveProfiles.isEmpty()) {
                active.addAll(settingsActiveProfiles);
            }/*  w w w  .  j a  v a  2s.c  o  m*/

            for (final String profileId : active) {
                final Profile profile = profiles.get(profileId);
                if (profile != null) {
                    final List<Repository> repositories = profile.getRepositories();
                    if (repositories != null) {
                        final List<Mirror> mirrors = settings.getMirrors();
                        final ArtifactRepositoryLayout layout = new DefaultRepositoryLayout();
                        for (final Repository repo : repositories) {
                            String id = repo.getId();
                            String url = repo.getUrl();

                            if (mirrors != null) {
                                final ArtifactRepositoryPolicy snapshots = convertPolicy(repo.getSnapshots());
                                final ArtifactRepositoryPolicy releases = convertPolicy(repo.getReleases());

                                final MavenArtifactRepository arepo = new MavenArtifactRepository(id, url,
                                        layout, snapshots, releases);

                                final Mirror mirror = mirrorSelector == null ? null
                                        : mirrorSelector.getMirror(arepo, mirrors);

                                if (mirror != null) {
                                    id = mirror.getId();
                                    url = mirror.getUrl();
                                }

                                SimpleHttpLocation addition = new SimpleHttpLocation(id, url,
                                        snapshots == null ? false : snapshots.isEnabled(),
                                        releases == null ? true : releases.isEnabled(), true, false, null);

                                addition.setAttribute(Location.CONNECTION_TIMEOUT_SECONDS, 60);

                                locs.add(addition);
                            }
                        }
                    }

                }
            }
        }
    }
}