You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2008/07/04 16:00:43 UTC

svn commit: r674057 - in /maven/artifact/trunk/src: main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java

Author: brett
Date: Fri Jul  4 07:00:43 2008
New Revision: 674057

URL: http://svn.apache.org/viewvc?rev=674057&view=rev
Log:
[MARTIFACT-26] string tokenizers ignore lone delimiters, so explicitly handle such cases
The principle we're using here is that string -> version -> string should always return the original value

Modified:
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
    maven/artifact/trunk/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java?rev=674057&r1=674056&r2=674057&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java Fri Jul  4 07:00:43 2008
@@ -144,6 +144,7 @@
         else
         {
             boolean fallback = false;
+
             StringTokenizer tok = new StringTokenizer( part1, "." );
             try
             {
@@ -160,6 +161,12 @@
                 {
                     fallback = true;
                 }
+
+                // string tokenzier won't detect these and ignores them
+                if ( part1.indexOf( ".." ) >= 0 || part1.startsWith( "." ) || part1.endsWith( "." ) )
+                {
+                    fallback = true;
+                }
             }
             catch ( NumberFormatException e )
             {

Modified: maven/artifact/trunk/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java?rev=674057&r1=674056&r2=674057&view=diff
==============================================================================
--- maven/artifact/trunk/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java (original)
+++ maven/artifact/trunk/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java Fri Jul  4 07:00:43 2008
@@ -76,10 +76,13 @@
         checkVersionParsing( "1.7.3.0-1" , 0, 0, 0, 0, "1.7.3.0-1" );
         checkVersionParsing( "PATCH-1193602" , 0, 0, 0, 0, "PATCH-1193602" );
         checkVersionParsing( "5.0.0alpha-2006020117" , 0, 0, 0, 0, "5.0.0alpha-2006020117" );
+        checkVersionParsing( "1.0.0.-SNAPSHOT", 0, 0, 0, 0, "1.0.0.-SNAPSHOT" );
+        checkVersionParsing( "1..0-SNAPSHOT", 0, 0, 0, 0, "1..0-SNAPSHOT" );
+        checkVersionParsing( "1.0.-SNAPSHOT", 0, 0, 0, 0, "1.0.-SNAPSHOT" );
+        checkVersionParsing( ".1.0-SNAPSHOT", 0, 0, 0, 0, ".1.0-SNAPSHOT" );
 
         checkVersionParsing( "1.2.3.200705301630" , 0, 0, 0, 0, "1.2.3.200705301630" );
         checkVersionParsing( "1.2.3-200705301630" , 1, 2, 3, 0, "200705301630" );
-
     }
 
     public void testVersionComparing()