You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2008/08/16 04:49:30 UTC
svn commit: r686440 - in /maven/sandbox/trunk/mercury/mercury-artifact/src:
main/java/org/apache/maven/mercury/artifact/QualityRange.java
test/java/org/apache/maven/mercury/artifact/QualityTest.java
Author: ogusakov
Date: Fri Aug 15 19:49:30 2008
New Revision: 686440
URL: http://svn.apache.org/viewvc?rev=686440&view=rev
Log:
added flexible upper boundary to version ranges
Added:
maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/QualityRange.java
maven/sandbox/trunk/mercury/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/QualityTest.java
Added: maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/QualityRange.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/QualityRange.java?rev=686440&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/QualityRange.java (added)
+++ maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/QualityRange.java Fri Aug 15 19:49:30 2008
@@ -0,0 +1,59 @@
+package org.apache.maven.mercury.artifact;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class QualityRange
+{
+ public static final QualityRange SNAPSHOTS_ONLY = new QualityRange( Quality.SNAPSHOT_QUALITY, true, Quality.SNAPSHOT_TS_QUALITY, true );
+ public static final QualityRange ALPHA_ONLY = new QualityRange( Quality.SNAPSHOT_QUALITY, false, Quality.BETA_QUALITY, false );
+ public static final QualityRange BETA_ONLY = new QualityRange( Quality.ALPHA_QUALITY, false, Quality.RELEASE_QUALITY, false );
+ public static final QualityRange RELEASES_ONLY = new QualityRange( Quality.RELEASE_QUALITY, true, Quality.RELEASE_QUALITY, true );
+ public static final QualityRange ALL = new QualityRange( Quality.SNAPSHOT_QUALITY, true, Quality.RELEASE_QUALITY, true );
+
+ protected Quality qualityFrom = Quality.SNAPSHOT_QUALITY;
+ protected boolean fromInclusive = true;
+ protected Quality qualityTo = Quality.RELEASE_QUALITY;
+ protected boolean toInclusive = true;
+
+ /**
+ * @param qualityFrom
+ * @param fromInclusive
+ * @param qualityTo
+ * @param toInclusive
+ */
+ public QualityRange(
+ Quality qualityFrom,
+ boolean fromInclusive,
+ Quality qualityTo,
+ boolean toInclusive )
+ {
+ this.qualityFrom = qualityFrom;
+ this.fromInclusive = fromInclusive;
+
+ this.qualityTo = qualityTo;
+ this.toInclusive = toInclusive;
+ }
+
+ //---------------------------------------------------------------------------
+ public boolean isAcceptedQuality( Quality quality )
+ {
+ if( quality == null )
+ return false;
+
+ int from = quality.compareTo( qualityFrom );
+ if( from == 0 )
+ return fromInclusive;
+
+ int to = quality.compareTo( qualityTo );
+ if( to == 0 )
+ return toInclusive;
+
+ return from > 0 && to < 0;
+ }
+
+}
Added: maven/sandbox/trunk/mercury/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/QualityTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/QualityTest.java?rev=686440&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/QualityTest.java (added)
+++ maven/sandbox/trunk/mercury/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/QualityTest.java Fri Aug 15 19:49:30 2008
@@ -0,0 +1,98 @@
+package org.apache.maven.mercury.artifact;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class QualityTest
+ extends TestCase
+{
+
+ public void testParser()
+ {
+ Quality q = new Quality("a-b_a-1");
+
+ assertNotNull( q.quality );
+ assertEquals( QualityEnum.release, q.getQuality() );
+ assertEquals( Quality.DEFAULT_QUANTITY, q.getQuantity() );
+ }
+
+ public void testSn1()
+ {
+ Quality q = new Quality("5.5-SNAPSHOT");
+
+ assertNotNull( q.quality );
+ assertEquals( QualityEnum.snapshot, q.getQuality() );
+ assertEquals( Quality.DEFAULT_QUANTITY, q.getQuantity() );
+ }
+
+ public void testSn2()
+ {
+ Quality q = new Quality("5.5-20080815.231708-12");
+
+ assertNotNull( q.quality );
+ assertEquals( QualityEnum.snapshot, q.getQuality() );
+ assertEquals( Quality.SNAPSHOT_TS_QUANTITY, q.getQuantity() );
+ }
+
+ public void testSn3()
+ {
+ Quality q = new Quality("5.5-20080815.231708-");
+
+ assertNotNull( q.quality );
+ assertEquals( QualityEnum.release, q.getQuality() );
+ }
+
+ public void testSn4()
+ {
+ Quality q = new Quality("5.5-20080815.23-15");
+
+ assertNotNull( q.quality );
+ assertEquals( QualityEnum.release, q.getQuality() );
+ }
+
+ public void testAlpha()
+ {
+ Quality q = new Quality("5.5-alpha-12");
+
+ assertNotNull( q.quality );
+ assertEquals( QualityEnum.alpha, q.getQuality() );
+ assertEquals( 12, q.getQuantity() );
+ }
+
+ public void testBeta()
+ {
+ Quality q = new Quality("5.5-beta-1");
+
+ assertNotNull( q.quality );
+ assertEquals( QualityEnum.beta, q.getQuality() );
+ assertEquals( 1, q.getQuantity() );
+ }
+
+ public void testCompateQ()
+ {
+ Quality u = Quality.UNKNOWN_QUALITY;
+ Quality sn = new Quality("5.5-SNAPSHOT");
+ Quality snts = new Quality("5.5-5.5-20080815.231708-12");
+ Quality a1 = new Quality("5.5-5.5-alpha-1");
+ Quality a2 = new Quality("5.5-5.5-alpha-20");
+ Quality b1 = new Quality("5.5-5.5-beta-1");
+ Quality b2 = new Quality("5.5-5.5-beta-10");
+ Quality r = new Quality("5.5");
+
+ assertTrue( u.compareTo( sn ) < 0 );
+ assertTrue( sn.compareTo( snts ) == 0 );
+ assertTrue( snts.compareTo( a1 ) < 0 );
+ assertEquals( 0, a1.compareTo( a1 ) );
+ assertTrue( a1.compareTo( a2 ) < 0 );
+ assertTrue( a2.compareTo( b1 ) < 0 );
+ assertTrue( b1.compareTo( b2 ) < 0 );
+ assertTrue( b2.compareTo( r ) < 0 );
+ assertEquals( 0, r.compareTo( r ) );
+ }
+}