FELIX-3550 : Reimplement the SCR Generator

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1356384 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scrplugin/annotations/src/main/java/org/apache/felix/scrplugin/processing/SCRAnnotationProcessor.java b/scrplugin/annotations/src/main/java/org/apache/felix/scrplugin/processing/SCRAnnotationProcessor.java
index 44e6239..3ae7c9c 100644
--- a/scrplugin/annotations/src/main/java/org/apache/felix/scrplugin/processing/SCRAnnotationProcessor.java
+++ b/scrplugin/annotations/src/main/java/org/apache/felix/scrplugin/processing/SCRAnnotationProcessor.java
@@ -404,7 +404,6 @@
                         }
                     }
                 } else {
-                    prop.setType(PropertyType.String);
                     final Object value = fieldAnnotation.getAnnotatedFieldValue();
                     if (value != null) {
                         name = value.toString();
diff --git a/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/ComponentDescriptorIO.java b/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/ComponentDescriptorIO.java
index 75894e4..a29aad3 100644
--- a/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/ComponentDescriptorIO.java
+++ b/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/xml/ComponentDescriptorIO.java
@@ -522,6 +522,9 @@
                                 iLog.addWarning("Invalid value for attribute type : " + type, this.location);
                             }
                         }
+                        if ( prop.getType() == null ) {
+                            prop.setType(PropertyType.String);
+                        }
 
                         if (attributes.getValue("value") != null) {
                             prop.setValue(attributes.getValue("value"));