]> source.dussan.org Git - archiva.git/commitdiff
add util method to extract version from generic snapshot version
authorOlivier Lamy <olamy@apache.org>
Mon, 22 Oct 2012 20:51:46 +0000 (20:51 +0000)
committerOlivier Lamy <olamy@apache.org>
Mon, 22 Oct 2012 20:51:46 +0000 (20:51 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1401074 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-base/archiva-common/src/main/java/org/apache/archiva/common/utils/VersionUtil.java
archiva-modules/archiva-base/archiva-common/src/test/java/org/apache/archiva/common/utils/VersionUtilTest.java

index 1dae047f99e5ffc88a0ca7c12b2721ef88a1a3e2..36f9137a64bf71107239a787ca6c47c2147e1857 100644 (file)
@@ -26,8 +26,6 @@ import java.util.regex.Pattern;
 
 /**
  * Version utility methods.
- *
- *
  */
 public class VersionUtil
 {
@@ -191,4 +189,14 @@ public class VersionUtil
     {
         return version.endsWith( SNAPSHOT );
     }
+
+    public static String getVersionFromGenericSnapshot( String version )
+    {
+        Matcher m = GENERIC_SNAPSHOT_PATTERN.matcher( version );
+        if ( m.matches() )
+        {
+            return m.group( 1 );
+        }
+        return version;
+    }
 }
index 154cab2a80465edb2227464a20eb927641b28ba7..4b1b8649b8a823907f25d27f81c3c38378a6544b 100644 (file)
@@ -21,74 +21,81 @@ package org.apache.archiva.common.utils;
 
 import junit.framework.TestCase;
 
-public class VersionUtilTest extends TestCase
+public class VersionUtilTest
+    extends TestCase
 {
 
     public void testIsVersion()
     {
         // 0%
         assertFalse( VersionUtil.isVersion( "project" ) );
-        
+
         // 0%
         assertFalse( VersionUtil.isVersion( "project-not-version" ) );
-        
+
         // 50%
         assertFalse( VersionUtil.isVersion( "project-ver-1.0-dev" ) );
-        
+
         // > 75%
         assertTrue( VersionUtil.isVersion( "project-1.0-alpha" ) );
-        
+
         // 75%
         assertTrue( VersionUtil.isVersion( "project-1.0-latest-nightly" ) );
-        
+
         // >75%
         assertTrue( VersionUtil.isVersion( "1.0-project-unofficial-nightly-alpha-release" ) );
-      
+
         //only first token matches
         assertTrue( VersionUtil.isVersion( "1.0-project-my-own-version" ) );
-        
+
     }
-    
+
     public void testIsSimpleVersionKeyword()
     {
         assertTrue( VersionUtil.isSimpleVersionKeyword( "rc4.34" ) );
-        
+
         assertTrue( VersionUtil.isSimpleVersionKeyword( "beta" ) );
-        
+
         assertFalse( VersionUtil.isSimpleVersionKeyword( "1.0-SNAPSHOT" ) );
     }
-   
+
     public void testIsSnapshot()
     {
         assertTrue( VersionUtil.isSnapshot( "1.0-20070113.163208-99" ) );
-        
+
         assertTrue( VersionUtil.isSnapshot( "1.0-SNAPSHOT" ) );
-        
+
         assertFalse( VersionUtil.isSnapshot( "1.0-beta1" ) );
     }
-    
+
     public void testGetBaseVersion()
     {
         assertEquals( VersionUtil.getBaseVersion( "1.3.2-20090420.083501-3" ), "1.3.2-SNAPSHOT" );
     }
-    
+
     public void testGetReleaseVersion()
     {
         assertEquals( VersionUtil.getReleaseVersion( "1.3.2-20090420.083501-3" ), "1.3.2" );
     }
-    
+
     public void testIsUniqueSnapshot()
     {
         assertTrue( VersionUtil.isUniqueSnapshot( "1.3.2-20090420.083501-3" ) );
-        
+
         assertFalse( VersionUtil.isUniqueSnapshot( "1.3.2" ) );
     }
-    
+
     public void testIsGenericSnapshot()
     {
         assertFalse( VersionUtil.isGenericSnapshot( "1.3.2-20090420.083501-3" ) );
-        
+
         assertTrue( VersionUtil.isGenericSnapshot( "1.3.2-SNAPSHOT" ) );
     }
-    
+
+    public void testGetVersionFromGenericSnapshot()
+    {
+        assertEquals( "3.0", VersionUtil.getVersionFromGenericSnapshot( "3.0-SNAPSHOT" ) );
+
+    }
+
 }