Restrict the initial value usage of a property to types of java.lang.String and correctly trim the value to fix #FELIX-353.

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@572968 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scrplugin/src/main/java/org/apache/felix/scrplugin/SCRDescriptorMojo.java b/scrplugin/src/main/java/org/apache/felix/scrplugin/SCRDescriptorMojo.java
index e22c970..85e8fa3 100644
--- a/scrplugin/src/main/java/org/apache/felix/scrplugin/SCRDescriptorMojo.java
+++ b/scrplugin/src/main/java/org/apache/felix/scrplugin/SCRDescriptorMojo.java
@@ -261,7 +261,16 @@
 
                 tag = fields[i].getTagByName(Constants.PROPERTY);
                 if (tag != null) {
-                    this.doProperty(tag, fields[i].getInitializationExpression(), component, ocd);
+                    String defaultName = null;
+                    if ( "java.lang.String".equals(fields[i].getType()) ) {
+                        defaultName = fields[i].getInitializationExpression().trim();
+                        int pos = defaultName.indexOf("\"");
+                        if ( pos != -1 ) {
+                            defaultName = defaultName.substring(pos + 1);
+                            defaultName = defaultName.substring(0, defaultName.lastIndexOf("\""));
+                        }
+                    }
+                    this.doProperty(tag, defaultName, component, ocd);
                 }
             }
 
@@ -388,10 +397,8 @@
      */
     protected void doProperty(JavaTag property, String defaultName, Component component, OCD ocd) {
         String name = property.getNamedParameter(Constants.PROPERTY_NAME);
-        if (StringUtils.isEmpty(name) && defaultName!= null) {
-            name = defaultName.trim();
-            if (name.startsWith("\"")) name = name.substring(1);
-            if (name.endsWith("\"")) name = name.substring(0, name.length()-1);
+        if (StringUtils.isEmpty(name) && defaultName != null) {
+            name = defaultName;
         }
 
         if (!StringUtils.isEmpty(name)) {