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/05/05 16:52:19 UTC

svn commit: r1479335 - in /felix/trunk/scrplugin/annotations: changelog.txt src/main/java/org/apache/felix/scrplugin/processing/SCRAnnotationProcessor.java

Author: cziegeler
Date: Sun May  5 14:52:19 2013
New Revision: 1479335

URL: http://svn.apache.org/r1479335
Log:
FELIX-4047 -  Unable to single valued (String) array property

Modified:
    felix/trunk/scrplugin/annotations/changelog.txt
    felix/trunk/scrplugin/annotations/src/main/java/org/apache/felix/scrplugin/processing/SCRAnnotationProcessor.java

Modified: felix/trunk/scrplugin/annotations/changelog.txt
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/annotations/changelog.txt?rev=1479335&r1=1479334&r2=1479335&view=diff
==============================================================================
--- felix/trunk/scrplugin/annotations/changelog.txt (original)
+++ felix/trunk/scrplugin/annotations/changelog.txt Sun May  5 14:52:19 2013
@@ -1,3 +1,9 @@
+ Changes from 1.9.4 to 1.9.2
+----------------------------
+**
+    * [FELIX-4047] -  Unable to single valued (String) array property
+
+
  Changes from 1.9.2 to 1.9.0
 ----------------------------
 ** Bug

Modified: felix/trunk/scrplugin/annotations/src/main/java/org/apache/felix/scrplugin/processing/SCRAnnotationProcessor.java
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/annotations/src/main/java/org/apache/felix/scrplugin/processing/SCRAnnotationProcessor.java?rev=1479335&r1=1479334&r2=1479335&view=diff
==============================================================================
--- felix/trunk/scrplugin/annotations/src/main/java/org/apache/felix/scrplugin/processing/SCRAnnotationProcessor.java (original)
+++ felix/trunk/scrplugin/annotations/src/main/java/org/apache/felix/scrplugin/processing/SCRAnnotationProcessor.java Sun May  5 14:52:19 2013
@@ -438,6 +438,13 @@ public class SCRAnnotationProcessor impl
                 prop.setCardinality(0);
             }
 
+            if ( prop.getValue() != null ) {
+                if ( prop.getUnbounded() == PropertyUnbounded.ARRAY || prop.getUnbounded() == PropertyUnbounded.VECTOR ) {
+                    prop.setMultiValue(new String[] {prop.getValue()});
+                } else if ( prop.getCardinality() < -1 || prop.getCardinality() > 1 ) {
+                    prop.setMultiValue(new String[] {prop.getValue()});
+                }
+            }
             // options
             final ScannedAnnotation[] options = (ScannedAnnotation[])ad.getValue("options");
             if (options != null) {