FELIX-2333 : service.ranking property type should be Integer by default
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@945597 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scrplugin/src/main/java/org/apache/felix/scrplugin/helper/PropertyHandler.java b/scrplugin/src/main/java/org/apache/felix/scrplugin/helper/PropertyHandler.java
index 69b42cc..88d81de 100644
--- a/scrplugin/src/main/java/org/apache/felix/scrplugin/helper/PropertyHandler.java
+++ b/scrplugin/src/main/java/org/apache/felix/scrplugin/helper/PropertyHandler.java
@@ -18,15 +18,9 @@
*/
package org.apache.felix.scrplugin.helper;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
-import org.apache.felix.scrplugin.Constants;
-import org.apache.felix.scrplugin.SCRDescriptorException;
-import org.apache.felix.scrplugin.SCRDescriptorGenerator;
+import org.apache.felix.scrplugin.*;
import org.apache.felix.scrplugin.om.Component;
import org.apache.felix.scrplugin.om.Property;
import org.apache.felix.scrplugin.om.metatype.AttributeDefinition;
@@ -70,7 +64,13 @@
throws SCRDescriptorException {
final Property prop = new Property(tag);
prop.setName(name);
- prop.setType(tag.getNamedParameter(Constants.PROPERTY_TYPE));
+ // special handling for service.ranking - FELIX-2333
+ if (name.equals(org.osgi.framework.Constants.SERVICE_RANKING)) {
+ prop.setType(Constants.PROPERTY_TYPE_INTEGER);
+ }
+ if ( tag.getNamedParameter(Constants.PROPERTY_TYPE) != null ) {
+ prop.setType(tag.getNamedParameter(Constants.PROPERTY_TYPE));
+ }
// let's first check for a value attribute
final String value = tag.getNamedParameter(Constants.PROPERTY_VALUE);
if ( value != null ) {
@@ -182,21 +182,20 @@
component.addProperty(prop);
}
-
+
private boolean isPrivate(String name, JavaTag tag) {
if (name.equals(org.osgi.framework.Constants.SERVICE_RANKING)) {
return SCRDescriptorGenerator.getBoolean(tag,
Constants.PROPERTY_PRIVATE, true);
- } else {
- return SCRDescriptorGenerator.getBoolean(tag,
- Constants.PROPERTY_PRIVATE, false)
- || name.equals(org.osgi.framework.Constants.SERVICE_PID)
- || name.equals(org.osgi.framework.Constants.SERVICE_DESCRIPTION)
- || name.equals(org.osgi.framework.Constants.SERVICE_ID)
- || name.equals(org.osgi.framework.Constants.SERVICE_VENDOR)
- || name.equals(ConfigurationAdmin.SERVICE_BUNDLELOCATION)
- || name.equals(ConfigurationAdmin.SERVICE_FACTORYPID);
}
+ return SCRDescriptorGenerator.getBoolean(tag,
+ Constants.PROPERTY_PRIVATE, false)
+ || name.equals(org.osgi.framework.Constants.SERVICE_PID)
+ || name.equals(org.osgi.framework.Constants.SERVICE_DESCRIPTION)
+ || name.equals(org.osgi.framework.Constants.SERVICE_ID)
+ || name.equals(org.osgi.framework.Constants.SERVICE_VENDOR)
+ || name.equals(ConfigurationAdmin.SERVICE_BUNDLELOCATION)
+ || name.equals(ConfigurationAdmin.SERVICE_FACTORYPID);
}
/**