Bug 6420: Fixed SemVer's valueOf method 59/43959/2
authorIgor Foltin <ifoltin@cisco.com>
Mon, 15 Aug 2016 11:16:54 +0000 (13:16 +0200)
committerRobert Varga <nite@hq.sk>
Sat, 27 Aug 2016 16:19:58 +0000 (16:19 +0000)
SemVer's valueOf method now works correctly when called
with a string that contains only major and minor version.

Change-Id: Ia9656fe121d1d73bbe2dc1de87cb7bd7b445961d
Signed-off-by: Igor Foltin <ifoltin@cisco.com>
common/concepts/src/main/java/org/opendaylight/yangtools/concepts/SemVer.java
common/concepts/src/test/java/org/opendaylight/yangtools/concepts/SemVerTest.java

index 0df08925e0af52155cc1fbc4195df4d763b03e4b..a09a40afe841549bb7e94775ca6da6afd2c8ea43 100644 (file)
@@ -54,6 +54,7 @@ public final class SemVer implements Comparable<SemVer>, Serializable {
         final int patchIdx = str.indexOf('.', minorIdx + 1);
         if (patchIdx == -1) {
             minorStr = str.substring(minorIdx + 1);
+            return create(Integer.parseInt(str.substring(0, minorIdx), 10), Integer.parseInt(minorStr, 10));
         } else {
             minorStr = str.substring(minorIdx + 1, patchIdx);
         }
index 6ddc9062478b27d2da91bf1257c88bc9d6fb7e1d..56e45e4d0b1fdcd7b2ec00e9de84af539f14a588 100644 (file)
@@ -40,6 +40,13 @@ public class SemVerTest {
         assertEquals(0, semVer3.getMinor());
         assertEquals(0, semVer3.getPatch());
 
+        final SemVer semVer4 = SemVer.valueOf("1.2");
+        assertNotNull(semVer4);
+
+        assertEquals(1, semVer4.getMajor());
+        assertEquals(2, semVer4.getMinor());
+        assertEquals(0, semVer4.getPatch());
+
         assertEquals(1, semVer2.compareTo(semVer3));
         assertEquals(-1, semVer3.compareTo(semVer2));
         assertEquals(0, semVer2.compareTo(semVer2));