felix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cziege...@apache.org
Subject svn commit: r680025 - in /felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin: PropertyHandler.java SCRDescriptorMojo.java
Date Sat, 26 Jul 2008 18:13:35 GMT
Author: cziegeler
Date: Sat Jul 26 11:13:35 2008
New Revision: 680025

URL: http://svn.apache.org/viewvc?rev=680025&view=rev
Log:
FELIX-645 : Only apply global property if it hasn't been defined by the component itself.

Modified:
    felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/PropertyHandler.java
    felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/SCRDescriptorMojo.java

Modified: felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/PropertyHandler.java
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/PropertyHandler.java?rev=680025&r1=680024&r2=680025&view=diff
==============================================================================
--- felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/PropertyHandler.java (original)
+++ felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/PropertyHandler.java Sat
Jul 26 11:13:35 2008
@@ -332,7 +332,7 @@
      * Process all found properties for the component.
      * @throws MojoExecutionException
      */
-    public void processProperties()
+    public void processProperties(final Map globalProperties)
     throws MojoExecutionException {
         final Iterator propIter = properties.entrySet().iterator();
         while ( propIter.hasNext() ) {
@@ -341,6 +341,27 @@
             final PropertyDescription desc = (PropertyDescription)entry.getValue();
             this.processProperty(desc.propertyTag, propName, desc.field);
         }
+        // apply pre configured global properties
+        if ( globalProperties != null ) {
+            final Iterator globalPropIter = globalProperties.entrySet().iterator();
+            while ( globalPropIter.hasNext() ) {
+                final Map.Entry entry = (Map.Entry)globalPropIter.next();
+                final String name = entry.getKey().toString();
+
+                // check if the service already provides this property
+                if ( !properties.containsKey(name) ) {
+                    final String value = entry.getValue().toString();
+
+                    final Property p = new Property();
+                    p.setName(name);
+                    p.setValue(value);
+                    p.setType("String");
+                    p.setPrivate(true);
+                    component.addProperty(p);
+
+                }
+            }
+        }
     }
 
     protected static final class PropertyDescription {

Modified: felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/SCRDescriptorMojo.java
URL: http://svn.apache.org/viewvc/felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/SCRDescriptorMojo.java?rev=680025&r1=680024&r2=680025&view=diff
==============================================================================
--- felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/SCRDescriptorMojo.java
(original)
+++ felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/SCRDescriptorMojo.java
Sat Jul 26 11:13:35 2008
@@ -252,18 +252,6 @@
         // Utility handler for propertie
         final PropertyHandler propertyHandler = new PropertyHandler(component, ocd);
 
-        // pre configured properties
-        final Iterator globalPropIter = this.properties.entrySet().iterator();
-        while ( globalPropIter.hasNext() ) {
-            final Map.Entry entry = (Map.Entry)globalPropIter.next();
-            final Property p = new Property();
-            p.setName(entry.getKey().toString());
-            p.setValue(entry.getValue().toString());
-            p.setType("String");
-            p.setPrivate(true);
-            component.addProperty(p);
-        }
-
         JavaClassDescription currentDescription = description;
         do {
             // properties
@@ -293,7 +281,7 @@
         } while (inherited && currentDescription != null);
 
         // process properties
-        propertyHandler.processProperties();
+        propertyHandler.processProperties(this.properties);
 
         // process references
         final Iterator refIter = references.entrySet().iterator();



Mime
View raw message