You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/07/20 01:45:44 UTC
svn commit: r219815 - in /maven/components/trunk/maven-artifact/src:
main/java/org/apache/maven/artifact/versioning/
test/java/org/apache/maven/artifact/versioning/
Author: brett
Date: Tue Jul 19 16:45:44 2005
New Revision: 219815
URL: http://svn.apache.org/viewcvs?rev=219815&view=rev
Log:
PR: MNG-505
empty restrictions means that nothing is valid, otherwise there will be one restriction EVERYTHING
Modified:
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/Restriction.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java
maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/Restriction.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/Restriction.java?rev=219815&r1=219814&r2=219815&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/Restriction.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/Restriction.java Tue Jul 19 16:45:44 2005
@@ -32,6 +32,8 @@
private final boolean upperBoundInclusive;
+ static final Restriction EVERYTHING = new Restriction( null, false, null, false );
+
public Restriction( ArtifactVersion lowerBound, boolean lowerBoundInclusive, ArtifactVersion upperBound,
boolean upperBoundInclusive )
{
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java?rev=219815&r1=219814&r2=219815&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java Tue Jul 19 16:45:44 2005
@@ -110,6 +110,7 @@
else
{
version = new DefaultArtifactVersion( process );
+ restrictions.add( Restriction.EVERYTHING );
}
}
@@ -182,13 +183,9 @@
List r1 = this.restrictions;
List r2 = restriction.restrictions;
List restrictions;
- if ( r1.isEmpty() )
+ if ( r1.isEmpty() || r2.isEmpty() )
{
- restrictions = r2;
- }
- else if ( r2.isEmpty() )
- {
- restrictions = r1;
+ restrictions = Collections.EMPTY_LIST;
}
else
{
Modified: maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java?rev=219815&r1=219814&r2=219815&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java (original)
+++ maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java Tue Jul 19 16:45:44 2005
@@ -55,9 +55,14 @@
assertNull( CHECK_VERSION_RECOMMENDATION, range.getRecommendedVersion() );
range = VersionRange.createFromVersionSpec( "1.0" );
- restrictions = range.getRestrictions();
- assertEquals( CHECK_NUM_RESTRICTIONS, 0, restrictions.size() );
assertEquals( CHECK_VERSION_RECOMMENDATION, "1.0", range.getRecommendedVersion().toString() );
+ restrictions = range.getRestrictions();
+ assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+ restriction = (Restriction) restrictions.get( 0 );
+ assertNull( CHECK_LOWER_BOUND, restriction.getLowerBound() );
+ assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
+ assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
+ assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
range = VersionRange.createFromVersionSpec( "[1.0]" );
restrictions = range.getRestrictions();
@@ -141,20 +146,32 @@
VersionRange range2 = VersionRange.createFromVersionSpec( "1.1" );
VersionRange mergedRange = range1.restrict( range2 );
assertEquals( CHECK_VERSION_RECOMMENDATION, "1.1", mergedRange.getRecommendedVersion().toString() );
- assertEquals( CHECK_NUM_RESTRICTIONS, 0, mergedRange.getRestrictions().size() );
+ List restrictions = mergedRange.getRestrictions();
+ assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+ Restriction restriction = (Restriction) restrictions.get( 0 );
+ assertNull( CHECK_LOWER_BOUND, restriction.getLowerBound() );
+ assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
+ assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
+ assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
mergedRange = range2.restrict( range1 );
assertEquals( CHECK_VERSION_RECOMMENDATION, "1.1", mergedRange.getRecommendedVersion().toString() );
- assertEquals( CHECK_NUM_RESTRICTIONS, 0, mergedRange.getRestrictions().size() );
+ restrictions = mergedRange.getRestrictions();
+ assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+ restriction = (Restriction) restrictions.get( 0 );
+ assertNull( CHECK_LOWER_BOUND, restriction.getLowerBound() );
+ assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
+ assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
+ assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
// TODO: test reversed restrictions on all below
range1 = VersionRange.createFromVersionSpec( "[1.0,)" );
range2 = VersionRange.createFromVersionSpec( "1.1" );
mergedRange = range1.restrict( range2 );
assertEquals( CHECK_VERSION_RECOMMENDATION, "1.1", mergedRange.getRecommendedVersion().toString() );
- List restrictions = mergedRange.getRestrictions();
+ restrictions = mergedRange.getRestrictions();
assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
- Restriction restriction = (Restriction) restrictions.get( 0 );
+ restriction = (Restriction) restrictions.get( 0 );
assertEquals( CHECK_LOWER_BOUND, "1.0", restriction.getLowerBound().toString() );
assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
@@ -403,7 +420,6 @@
assertEquals( CHECK_UPPER_BOUND, "1.1", restriction.getUpperBound().toString() );
assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
- // TODO: specify this differently from no restriction - no restriction should be null, or one restriction with null ends?
range1 = VersionRange.createFromVersionSpec( "[1.0,1.1)" );
range2 = VersionRange.createFromVersionSpec( "[1.1,1.4]" );
mergedRange = range1.restrict( range2 );
@@ -584,6 +600,23 @@
assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
assertEquals( CHECK_UPPER_BOUND, "1.6", restriction.getUpperBound().toString() );
assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+
+ // test restricting empty sets
+ range1 = VersionRange.createFromVersionSpec( "[,1.1],[1.4,]" );
+ range2 = VersionRange.createFromVersionSpec( "[1.2,1.3]" );
+ range1 = range1.restrict( range2 );
+ mergedRange = range1.restrict( range2 );
+ assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+ restrictions = mergedRange.getRestrictions();
+ assertEquals( CHECK_NUM_RESTRICTIONS, 0, restrictions.size() );
+
+ range1 = VersionRange.createFromVersionSpec( "[,1.1],[1.4,]" );
+ range2 = VersionRange.createFromVersionSpec( "[1.2,1.3]" );
+ range2 = range1.restrict( range2 );
+ mergedRange = range1.restrict( range2 );
+ assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+ restrictions = mergedRange.getRestrictions();
+ assertEquals( CHECK_NUM_RESTRICTIONS, 0, restrictions.size() );
}
private void checkInvalidRange( String version )
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org