FELIX-1010 : Apply patch from Stefan Seifert to fix the compilation issue.

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@767574 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/PropertyTag.java b/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/PropertyTag.java
index 2262e6c..bccc417 100644
--- a/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/PropertyTag.java
+++ b/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/PropertyTag.java
@@ -90,12 +90,7 @@
             public String[] value() {
                 // value property can be used as String[] or String property
                 Object obj = annotation.getNamedParameter("value");
-                if (obj instanceof List) {
-                    return Util.getStringValues(annotation, "value", Property.class);
-                }
-                else {
-                    return new String[] { Util.getStringValue(annotation, "value", Property.class) };
-                }
+                return Util.getStringValues(annotation, "value", Property.class);
             }
 
             public Class<? extends java.lang.annotation.Annotation> annotationType() {
diff --git a/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/Util.java b/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/Util.java
index d27980c..1e58d4b 100644
--- a/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/Util.java
+++ b/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/Util.java
@@ -18,6 +18,7 @@
  */
 package org.apache.felix.scrplugin.tags.annotation.defaulttag;
 
+import java.util.ArrayList;
 import java.util.EnumSet;
 import java.util.List;
 
@@ -66,7 +67,14 @@
     public static String[] getStringValues(Annotation annotation, String name, final Class<?> clazz) {
         final Object obj = annotation.getNamedParameter(name);
         if ( obj != null ) {
-            List<String> list = (List<String>)obj;
+            List<String> list;
+            if (obj instanceof String) {
+                list = new ArrayList<String>();
+                list.add((String)obj);
+            }
+            else {
+                list = (List<String>)obj;
+            }
             String[] values = new String[list.size()];
             for (int i=0; i<values.length; i++) {
                 values[i] = stripQuotes(list.get(i));
@@ -144,7 +152,7 @@
                 if (dotPos >= 0) {
                     enumName = enumName.substring(dotPos+1);
                 }
-                return Enum.valueOf(enumClass, enumName);
+                return (T)Enum.valueOf(enumClass, enumName);
             }
         }
         return null;