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
----------------------------