Index: maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java =================================================================== --- maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java (revision 538872) +++ maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java (working copy) @@ -34,8 +34,6 @@ */ public class VersionRange { - private final ArtifactVersion RELEASE = new DefaultArtifactVersion( "RELEASE" ); - private final ArtifactVersion recommendedVersion; private final List restrictions; @@ -435,16 +433,8 @@ { throw new OverConstrainedVersionException( "The artifact has no valid ranges", artifact ); } - else - { - Restriction restriction = (Restriction) restrictions.get( restrictions.size() - 1 ); - version = restriction.getUpperBound(); - if ( version == null ) - { - version = RELEASE; - } - } + version = null; } return version; } @@ -463,15 +453,6 @@ { throw new OverConstrainedVersionException( "The artifact has no valid ranges", artifact ); } - else - { - Restriction restriction = (Restriction) restrictions.get( restrictions.size() - 1 ); - - if ( restriction.getUpperBound() != null ) - { - value = restriction.isUpperBoundInclusive(); - } - } } return value; } Index: maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java =================================================================== --- maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java (revision 538872) +++ maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java (working copy) @@ -23,6 +23,8 @@ import java.util.List; +import org.apache.maven.artifact.Artifact; + /** * Tests version range construction. * @@ -44,9 +46,15 @@ private static final String CHECK_VERSION_RECOMMENDATION = "check version recommended"; + private static final String CHECK_SELECTED_VERSION_KNOWN = "check selected version known"; + + private static final String CHECK_SELECTED_VERSION = "check selected version"; + public void testRange() - throws InvalidVersionSpecificationException + throws InvalidVersionSpecificationException, OverConstrainedVersionException { + Artifact artifact = null; + VersionRange range = VersionRange.createFromVersionSpec( "(,1.0]" ); List restrictions = range.getRestrictions(); assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() ); @@ -56,6 +64,8 @@ assertEquals( CHECK_UPPER_BOUND, "1.0", restriction.getUpperBound().toString() ); assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() ); assertNull( CHECK_VERSION_RECOMMENDATION, range.getRecommendedVersion() ); + assertFalse( CHECK_SELECTED_VERSION_KNOWN, range.isSelectedVersionKnown( artifact ) ); + assertNull( CHECK_SELECTED_VERSION, range.getSelectedVersion( artifact ) ); range = VersionRange.createFromVersionSpec( "1.0" ); assertEquals( CHECK_VERSION_RECOMMENDATION, "1.0", range.getRecommendedVersion().toString() ); @@ -66,6 +76,8 @@ assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() ); assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() ); assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() ); + assertTrue( CHECK_SELECTED_VERSION_KNOWN, range.isSelectedVersionKnown( artifact ) ); + assertEquals( CHECK_SELECTED_VERSION, "1.0", range.getSelectedVersion( artifact ).toString() ); range = VersionRange.createFromVersionSpec( "[1.0]" ); restrictions = range.getRestrictions(); @@ -76,6 +88,8 @@ assertEquals( CHECK_UPPER_BOUND, "1.0", restriction.getUpperBound().toString() ); assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() ); assertNull( CHECK_VERSION_RECOMMENDATION, range.getRecommendedVersion() ); + assertFalse( CHECK_SELECTED_VERSION_KNOWN, range.isSelectedVersionKnown( artifact ) ); + assertNull( CHECK_SELECTED_VERSION, range.getSelectedVersion( artifact ) ); range = VersionRange.createFromVersionSpec( "[1.2,1.3]" ); restrictions = range.getRestrictions(); @@ -86,6 +100,8 @@ assertEquals( CHECK_UPPER_BOUND, "1.3", restriction.getUpperBound().toString() ); assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() ); assertNull( CHECK_VERSION_RECOMMENDATION, range.getRecommendedVersion() ); + assertFalse( CHECK_SELECTED_VERSION_KNOWN, range.isSelectedVersionKnown( artifact ) ); + assertNull( CHECK_SELECTED_VERSION, range.getSelectedVersion( artifact ) ); range = VersionRange.createFromVersionSpec( "[1.0,2.0)" ); restrictions = range.getRestrictions(); @@ -96,6 +112,8 @@ assertEquals( CHECK_UPPER_BOUND, "2.0", restriction.getUpperBound().toString() ); assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() ); assertNull( CHECK_VERSION_RECOMMENDATION, range.getRecommendedVersion() ); + assertFalse( CHECK_SELECTED_VERSION_KNOWN, range.isSelectedVersionKnown( artifact ) ); + assertNull( CHECK_SELECTED_VERSION, range.getSelectedVersion( artifact ) ); range = VersionRange.createFromVersionSpec( "[1.5,)" ); restrictions = range.getRestrictions(); @@ -106,6 +124,8 @@ assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() ); assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() ); assertNull( CHECK_VERSION_RECOMMENDATION, range.getRecommendedVersion() ); + assertFalse( CHECK_SELECTED_VERSION_KNOWN, range.isSelectedVersionKnown( artifact ) ); + assertNull( CHECK_SELECTED_VERSION, range.getSelectedVersion( artifact ) ); range = VersionRange.createFromVersionSpec( "(,1.0],[1.2,)" ); restrictions = range.getRestrictions(); @@ -122,6 +142,8 @@ assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() ); assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() ); assertNull( CHECK_VERSION_RECOMMENDATION, range.getRecommendedVersion() ); + assertFalse( CHECK_SELECTED_VERSION_KNOWN, range.isSelectedVersionKnown( artifact ) ); + assertNull( CHECK_SELECTED_VERSION, range.getSelectedVersion( artifact ) ); } public void testInvalidRanges() Index: maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java =================================================================== --- maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java (revision 538872) +++ maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java (working copy) @@ -292,10 +292,10 @@ ArtifactSpec b = a.addDependency( "b", "1.0" ); a.addDependency( "c", "[2.0,2.5]" ); b.addDependency( "c", "[1.0,3.0]" ); + ArtifactSpec c = createArtifact( "c", "2.5" ); ArtifactResolutionResult res = collect( a ); - ArtifactSpec c = createArtifact( "c", "2.5" ); assertEquals( "Check artifact list", createSet( new Object[]{a.artifact, b.artifact, c.artifact} ), res.getArtifacts() ); assertEquals( "Check version", "2.5", getArtifact( "c", res.getArtifacts() ).getVersion() );