Example usage for org.apache.maven.artifact.repository.metadata RepositoryMetadata setRepository

List of usage examples for org.apache.maven.artifact.repository.metadata RepositoryMetadata setRepository

Introduction

In this page you can find the example usage for org.apache.maven.artifact.repository.metadata RepositoryMetadata setRepository.

Prototype

void setRepository(ArtifactRepository remoteRepository);

Source Link

Document

Set the repository the metadata was located in.

Usage

From source file:org.ck.maven.plugins.pom.versions.service.version.PomVersionRepositoryMetadataManager.java

License:Apache License

private void mergeMetadata(RepositoryMetadata metadata, List remoteRepositories,
        ArtifactRepository localRepository)
        throws RepositoryMetadataStoreException, RepositoryMetadataReadException {
    // TODO: currently this is first wins, but really we should take the latest by comparing either the
    // snapshot timestamp, or some other timestamp later encoded into the metadata.
    // TODO: this needs to be repeated here so the merging doesn't interfere with the written metadata
    //  - we'd be much better having a pristine input, and an ongoing metadata for merging instead

    Map previousMetadata = new HashMap();
    ArtifactRepository selected = null;/*  w w w  .ja  va2  s .  c  o m*/
    for (Iterator i = remoteRepositories.iterator(); i.hasNext();) {
        ArtifactRepository repository = (ArtifactRepository) i.next();

        ArtifactRepositoryPolicy policy = metadata.isSnapshot() ? repository.getSnapshots()
                : repository.getReleases();

        if (policy.isEnabled() && loadMetadata(metadata, repository, localRepository, previousMetadata)) {
            metadata.setRepository(repository);
            selected = repository;
        }
    }
    //        if ( loadMetadata( metadata, localRepository, localRepository, previousMetadata ) )
    //        {
    //            metadata.setRepository( null );
    //            selected = localRepository;
    //        }

    updateSnapshotMetadata(metadata, previousMetadata, selected, localRepository);
}