You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2016/11/23 21:15:24 UTC

svn commit: r1771051 - in /sling/trunk/contrib/extensions/contextaware-config/impl/src: main/java/org/apache/sling/caconfig/impl/override/OverrideStringParser.java test/java/org/apache/sling/caconfig/impl/override/OverrideStringParserTest.java

Author: sseifert
Date: Wed Nov 23 21:15:24 2016
New Revision: 1771051

URL: http://svn.apache.org/viewvc?rev=1771051&view=rev
Log:
SLING-6060 allow dots in config name for override strings

Modified:
    sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/impl/override/OverrideStringParser.java
    sling/trunk/contrib/extensions/contextaware-config/impl/src/test/java/org/apache/sling/caconfig/impl/override/OverrideStringParserTest.java

Modified: sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/impl/override/OverrideStringParser.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/impl/override/OverrideStringParser.java?rev=1771051&r1=1771050&r2=1771051&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/impl/override/OverrideStringParser.java (original)
+++ sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/impl/override/OverrideStringParser.java Wed Nov 23 21:15:24 2016
@@ -223,11 +223,11 @@ class OverrideStringParser {
      * @return true if item is valid
      */
     private static boolean isValid(OverrideItem item, String overrideString) {
-        if (item.getPath() != null && (!StringUtils.startsWith(item.getPath(), "/") || StringUtils.contains(item.getPath(), "."))) {
+        if (item.getPath() != null && (!StringUtils.startsWith(item.getPath(), "/") || StringUtils.contains(item.getPath(), ".."))) {
             log.warn("Ignore config override string - invalid path: {}", overrideString);
             return false;
         }
-        if (StringUtils.startsWith(item.getConfigName(), "/") || StringUtils.contains(item.getConfigName(), ".")) {
+        if (StringUtils.startsWith(item.getConfigName(), "/") || StringUtils.contains(item.getConfigName(), "..")) {
             log.warn("Ignore config override string - invalid configName: {}", overrideString);
             return false;
         }

Modified: sling/trunk/contrib/extensions/contextaware-config/impl/src/test/java/org/apache/sling/caconfig/impl/override/OverrideStringParserTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/contextaware-config/impl/src/test/java/org/apache/sling/caconfig/impl/override/OverrideStringParserTest.java?rev=1771051&r1=1771050&r2=1771051&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/contextaware-config/impl/src/test/java/org/apache/sling/caconfig/impl/override/OverrideStringParserTest.java (original)
+++ sling/trunk/contrib/extensions/contextaware-config/impl/src/test/java/org/apache/sling/caconfig/impl/override/OverrideStringParserTest.java Wed Nov 23 21:15:24 2016
@@ -77,17 +77,17 @@ public class OverrideStringParserTest {
     @Test
     public void testBasicTypesArray() {
         List<OverrideItem> result = parse(
-                "configName/param1=[\"v1a\",\"v1b\"]",
-                "configName/param2=['v2a','v2b']",
-                "configName/param3=[555,666]",
-                "configName/param4=[1.23,2.34]",
-                "configName/param5=[true,false]",
-                "configName/param6=[]");
+                "config.name/param1=[\"v1a\",\"v1b\"]",
+                "config.name/param2=['v2a','v2b']",
+                "config.name/param3=[555,666]",
+                "config.name/param4=[1.23,2.34]",
+                "config.name/param5=[true,false]",
+                "config.name/param6=[]");
         
         assertEquals(1, result.size());
         OverrideItem item = result.get(0);
         assertNull(item.getPath());
-        assertEquals("configName", item.getConfigName());
+        assertEquals("config.name", item.getConfigName());
         for (Map.Entry<String,Object> entry : item.getProperties().entrySet()) {
             assertArrayEquals("array " + entry.getKey(), (Object[])BASICTYPES_ARRAY_MAP.get(entry.getKey()), (Object[])item.getProperties().get(entry.getKey()));
         }
@@ -188,7 +188,7 @@ public class OverrideStringParserTest {
     public void testInvalidSyntax() {
         List<OverrideItem> result = parse(
                 "/configName/param1=\"value1\"",
-                "configName/./param1=\"value1\"",
+                "configName/../param1=\"value1\"",
                 "[/a/b]=\"value1\"",
                 "[/a/b]configName=\"value1\"",
                 "[/a/../b]configName/param1=\"value1\"",