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 2010/04/23 13:41:39 UTC
svn commit: r937258 -
/felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/helper/PropertyHandler.java
Author: cziegeler
Date: Fri Apr 23 11:41:38 2010
New Revision: 937258
URL: http://svn.apache.org/viewvc?rev=937258&view=rev
Log:
FELIX-2300 : SCR Plugin should be able to produce a metatype property for service.ranking. Apply patch from Justin Edelson
Modified:
felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/helper/PropertyHandler.java
Modified: felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/helper/PropertyHandler.java
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/helper/PropertyHandler.java?rev=937258&r1=937257&r2=937258&view=diff
==============================================================================
--- felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/helper/PropertyHandler.java (original)
+++ felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/helper/PropertyHandler.java Fri Apr 23 11:41:38 2010
@@ -114,15 +114,7 @@ public class PropertyHandler {
// property is private if explicitly marked or a well known
// service property such as service.pid
- final boolean isPrivate = 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_RANKING)
- || name.equals(org.osgi.framework.Constants.SERVICE_VENDOR)
- || name.equals(ConfigurationAdmin.SERVICE_BUNDLELOCATION)
- || name.equals(ConfigurationAdmin.SERVICE_FACTORYPID);
+ final boolean isPrivate = isPrivate(name, tag);
// if this is an abstract component we store the extra info in the property
if ( component.isAbstract() ) {
@@ -190,6 +182,22 @@ public class PropertyHandler {
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 the name of the property.