ONOS-2124 Added a few more validity checks.

Change-Id: Icbb784bd0caa124b6bfac03619702b6f2250ffff
diff --git a/core/api/src/main/java/org/onosproject/core/Version.java b/core/api/src/main/java/org/onosproject/core/Version.java
index 7a26357..a537701 100644
--- a/core/api/src/main/java/org/onosproject/core/Version.java
+++ b/core/api/src/main/java/org/onosproject/core/Version.java
@@ -31,6 +31,7 @@
     public static final String FORMAT_LONG = "%d.%d.%s.%s";
 
     private static final String NEGATIVE = "Version segment cannot be negative";
+    public static final String TOO_SHORT = "Version must have at least major and minor numbers";
 
     private final int major;
     private final int minor;
@@ -64,8 +65,8 @@
      * @return version descriptor
      */
     public static Version version(int major, int minor, String patch, String build) {
-        checkArgument(major > 0, NEGATIVE);
-        checkArgument(minor > 0, NEGATIVE);
+        checkArgument(major >= 0, NEGATIVE);
+        checkArgument(minor >= 0, NEGATIVE);
         return new Version(major, minor, patch, build);
     }
 
@@ -77,6 +78,7 @@
      */
     public static Version version(String string) {
         String[] fields = string.split("[.-]");
+        checkArgument(fields.length >= 2, TOO_SHORT);
         return new Version(parseInt(fields[0]), parseInt(fields[1]),
                            fields.length >= 3 ? fields[2] : null,
                            fields.length >= 4 ? fields[3] : null);