Example usage for org.apache.maven.artifact.versioning ManagedVersionMap ManagedVersionMap

List of usage examples for org.apache.maven.artifact.versioning ManagedVersionMap ManagedVersionMap

Introduction

In this page you can find the example usage for org.apache.maven.artifact.versioning ManagedVersionMap ManagedVersionMap.

Prototype

public ManagedVersionMap(Map<String, Artifact> map) 

Source Link

Usage

From source file:org.universAAL.maven.treebuilder.DependencyTreeBuilder.java

License:Apache License

/**
 * Get the map of managed versions, removing the originating artifact if it
 * is also in managed versions//from ww w. jav  a2 s. c om
 * 
 * @param originatingArtifact
 *            artifact we are processing
 * @param managedVersions
 *            original managed versions
 * 
 * @return Returns the map of managed versions.
 */
private ManagedVersionMap getManagedVersionsMap(final Artifact originatingArtifact, final Map managedVersions) {
    ManagedVersionMap versionMap;
    if (managedVersions != null && managedVersions instanceof ManagedVersionMap) {
        versionMap = (ManagedVersionMap) managedVersions;
    } else {
        versionMap = new ManagedVersionMap(managedVersions);
    }

    /*
     * remove the originating artifact if it is also in managed versions to
     * avoid being modified during resolution
     */
    Artifact managedOriginatingArtifact = (Artifact) versionMap
            .get(originatingArtifact.getDependencyConflictId());
    if (managedOriginatingArtifact != null) {
        // TODO we probably want to warn the user that he is building an
        // artifact with
        // different values than in dependencyManagement
        if (managedVersions instanceof ManagedVersionMap) {
            /*
             * avoid modifying the managedVersions parameter creating a new
             * map
             */
            versionMap = new ManagedVersionMap(managedVersions);
        }
        versionMap.remove(originatingArtifact.getDependencyConflictId());
    }

    return versionMap;
}