You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2016/10/30 10:31:38 UTC

svn commit: r1767140 - in /sling/trunk/tooling/support/provisioning-model/src: main/java/org/apache/sling/provisioning/model/ModelUtility.java test/java/org/apache/sling/provisioning/model/ModelUtilityTest.java

Author: cziegeler
Date: Sun Oct 30 10:31:38 2016
New Revision: 1767140

URL: http://svn.apache.org/viewvc?rev=1767140&view=rev
Log:
SLING-6214 : Validate feature version to be a valid version

Modified:
    sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java
    sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/ModelUtilityTest.java

Modified: sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java?rev=1767140&r1=1767139&r2=1767140&view=diff
==============================================================================
--- sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java (original)
+++ sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java Sun Oct 30 10:31:38 2016
@@ -168,6 +168,14 @@ public abstract class ModelUtility {
             if ( feature.getName() == null || feature.getName().isEmpty() ) {
                 errors.put(feature, "Name is required for a feature.");
             }
+            // version should be a valid version
+            if ( feature.getVersion() != null ) {
+                try {
+                    new Version(feature.getVersion());
+                } catch ( final IllegalArgumentException iae) {
+                    errors.put(feature, "Version is not a valid version");
+                }
+            }
             for(final RunMode runMode : feature.getRunModes()) {
                 final String[] rm = runMode.getNames();
                 if ( rm != null ) {

Modified: sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/ModelUtilityTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/ModelUtilityTest.java?rev=1767140&r1=1767139&r2=1767140&view=diff
==============================================================================
--- sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/ModelUtilityTest.java (original)
+++ sling/trunk/tooling/support/provisioning-model/src/test/java/org/apache/sling/provisioning/model/ModelUtilityTest.java Sun Oct 30 10:31:38 2016
@@ -252,4 +252,20 @@ public class ModelUtilityTest {
         assertNotNull(ModelUtility.validate(m));
         f.getRunModes().remove(rmC);
     }
+
+    @Test public void testValidateFeatureVersion() {
+        final Model m = new Model();
+        final Feature f = m.getOrCreateFeature("f");
+
+        // no version -> no error
+        assertNull(ModelUtility.validate(m));
+
+        f.setVersion("1.0");
+        // valid version -> no error
+        assertNull(ModelUtility.validate(m));
+
+        f.setVersion("foo");
+        // invalid version -> error
+        assertNotNull(ModelUtility.validate(m));
+    }
 }