You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2013/04/23 15:37:33 UTC

svn commit: r1470946 - in /felix/trunk/scrplugin: generator/ generator/src/main/java/org/apache/felix/scrplugin/helper/ generator/src/main/java/org/apache/felix/scrplugin/xml/ maven-scr-plugin/ scrtask/

Author: cziegeler
Date: Tue Apr 23 13:37:33 2013
New Revision: 1470946

URL: http://svn.apache.org/r1470946
Log:
FELIX-3542 - Escape property values used as Metatype default values

Modified:
    felix/trunk/scrplugin/generator/changelog.txt
    felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/MetatypeAttributeDefinition.java
    felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/MetaTypeIO.java
    felix/trunk/scrplugin/maven-scr-plugin/changelog.txt
    felix/trunk/scrplugin/scrtask/changelog.txt

Modified: felix/trunk/scrplugin/generator/changelog.txt
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/generator/changelog.txt?rev=1470946&r1=1470945&r2=1470946&view=diff
==============================================================================
--- felix/trunk/scrplugin/generator/changelog.txt (original)
+++ felix/trunk/scrplugin/generator/changelog.txt Tue Apr 23 13:37:33 2013
@@ -2,6 +2,8 @@ Changes from 1.6.0 to 1.5.0
 ---------------------------
 ** Bug
     * [FELIX-4030] - Generated metatype file contains all metatype infos
+    * [FELIX-3542] - Escape property values used as Metatype default values
+
  
 Changes from 1.5.0 to 1.4.0
 ----------------------------

Modified: felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/MetatypeAttributeDefinition.java
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/MetatypeAttributeDefinition.java?rev=1470946&r1=1470945&r2=1470946&view=diff
==============================================================================
--- felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/MetatypeAttributeDefinition.java (original)
+++ felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/helper/MetatypeAttributeDefinition.java Tue Apr 23 13:37:33 2013
@@ -59,7 +59,7 @@ public class MetatypeAttributeDefinition
         }
     }
 
-    public Object getDefaultValue() {
+    public String getDefaultValue() {
         return this.defaultValue;
     }
 

Modified: felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/MetaTypeIO.java
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/MetaTypeIO.java?rev=1470946&r1=1470945&r2=1470946&view=diff
==============================================================================
--- felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/MetaTypeIO.java (original)
+++ felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/MetaTypeIO.java Tue Apr 23 13:37:33 2013
@@ -212,6 +212,21 @@ public class MetaTypeIO {
         IOUtils.newline(contentHandler);
     }
 
+    /**
+     * Escape the value according to 105.13.3.21 (validate method)
+     */
+    private static String escapeDefaultValue(final String value) {
+        if ( value == null ) {
+            return value;
+        }
+
+        String result = value.trim();
+        result = result.replace(" ", "\\ ");
+        result = result.replace(",", "\\,");
+        result = result.replace("\\", "\\\\");
+        return result;
+    }
+
     private static void generateAttributeXML(final MetatypeAttributeDefinition ad, final ContentHandler contentHandler)
             throws SAXException {
         final AttributesImpl ai = new AttributesImpl();
@@ -223,11 +238,11 @@ public class MetaTypeIO {
                 if ( i > 0 ) {
                     buf.append(',');
                 }
-                buf.append(ad.getDefaultMultiValue()[i]);
+                buf.append(escapeDefaultValue(ad.getDefaultMultiValue()[i]));
             }
             IOUtils.addAttribute(ai, "default", buf);
         } else {
-            IOUtils.addAttribute(ai, "default", ad.getDefaultValue());
+            IOUtils.addAttribute(ai, "default", escapeDefaultValue(ad.getDefaultValue()));
         }
         IOUtils.addAttribute(ai, "name", ad.getName());
         IOUtils.addAttribute(ai, "description", ad.getDescription());

Modified: felix/trunk/scrplugin/maven-scr-plugin/changelog.txt
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/maven-scr-plugin/changelog.txt?rev=1470946&r1=1470945&r2=1470946&view=diff
==============================================================================
--- felix/trunk/scrplugin/maven-scr-plugin/changelog.txt (original)
+++ felix/trunk/scrplugin/maven-scr-plugin/changelog.txt Tue Apr 23 13:37:33 2013
@@ -3,6 +3,7 @@ Changes from 1.12.0 to 1.11.0
 ** Bug
     * [FELIX-4030] - Generated metatype file contains all metatype infos
     * [FELIX-4023] - SCR-Plugin not working reliably in m2e 1.3.1 
+    * [FELIX-3542] - Escape property values used as Metatype default values
 
 
 Changes from 1.11.0 to 1.10.0

Modified: felix/trunk/scrplugin/scrtask/changelog.txt
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/scrtask/changelog.txt?rev=1470946&r1=1470945&r2=1470946&view=diff
==============================================================================
--- felix/trunk/scrplugin/scrtask/changelog.txt (original)
+++ felix/trunk/scrplugin/scrtask/changelog.txt Tue Apr 23 13:37:33 2013
@@ -2,6 +2,8 @@ Changes from 1.6.0 to 1.5.0
 ---------------------------
 ** Bug
     * [FELIX-4030] - Generated metatype file contains all metatype infos
+    * [FELIX-3542] - Escape property values used as Metatype default values
+
 
 Changes from 1.5.0 to 1.4.0
 ----------------------------