Author: cziegeler
Date: Fri Aug  4 12:01:23 2017
New Revision: 1804107

URL: http://svn.apache.org/viewvc?rev=1804107&view=rev
Log:
Support versions with dots in qualifier

Modified:
    
sling/whiteboard/cziegeler/feature/src/main/java/org/apache/sling/feature/ArtifactId.java
    
sling/whiteboard/cziegeler/feature/src/test/java/org/apache/sling/feature/ArtifactIdTest.java

Modified: 
sling/whiteboard/cziegeler/feature/src/main/java/org/apache/sling/feature/ArtifactId.java
URL: 
http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature/src/main/java/org/apache/sling/feature/ArtifactId.java?rev=1804107&r1=1804106&r2=1804107&view=diff
==============================================================================
--- 
sling/whiteboard/cziegeler/feature/src/main/java/org/apache/sling/feature/ArtifactId.java
 (original)
+++ 
sling/whiteboard/cziegeler/feature/src/main/java/org/apache/sling/feature/ArtifactId.java
 Fri Aug  4 12:01:23 2017
@@ -260,6 +260,13 @@ public class ArtifactId implements Compa
                 parts = newParts;
             }
         }
+        if ( parts.length >= 4 ) {
+            final int pos = parts[2].indexOf('-');
+            if ( pos != -1 ) {
+                parts[3] = parts[2].substring(pos + 1) + "." + parts[3];
+                parts[2] = parts[2].substring(0, pos);
+            }
+        }
         if ( parts.length > 4 ) {
             final StringBuilder sb = new StringBuilder(parts[3]);
             for(int i=4; i<parts.length;i++) {

Modified: 
sling/whiteboard/cziegeler/feature/src/test/java/org/apache/sling/feature/ArtifactIdTest.java
URL: 
http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature/src/test/java/org/apache/sling/feature/ArtifactIdTest.java?rev=1804107&r1=1804106&r2=1804107&view=diff
==============================================================================
--- 
sling/whiteboard/cziegeler/feature/src/test/java/org/apache/sling/feature/ArtifactIdTest.java
 (original)
+++ 
sling/whiteboard/cziegeler/feature/src/test/java/org/apache/sling/feature/ArtifactIdTest.java
 Fri Aug  4 12:01:23 2017
@@ -16,11 +16,11 @@
  */
 package org.apache.sling.feature;
 
-import org.junit.Test;
-
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
+import org.junit.Test;
+
 public class ArtifactIdTest {
 
     private static final String G = "g";
@@ -103,4 +103,13 @@ public class ArtifactIdTest {
         assertEquals(2, v.getMicro());
         assertEquals("SNAPSHOT", v.getQualifier());
     }
+
+    @Test
+    public void testStrangeVersions() {
+        final Version v = new ArtifactId(G, A, "3.0.3-20170712.062549-4", 
null, null).getOSGiVersion();
+        assertEquals(3, v.getMajor());
+        assertEquals(0, v.getMinor());
+        assertEquals(3, v.getMicro());
+        assertEquals("20170712_062549-4", v.getQualifier());
+    }
 }


Reply via email to