Author: clement
Date: Tue Apr 5 19:59:53 2011
New Revision: 1089186
URL: http://svn.apache.org/viewvc?rev=1089186&view=rev
Log:
Fixed FELIX-2902
Before adding a service property by propagation, checks whether the property is
not already existing.
Modified:
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/providedservice/ProvidedService.java
Modified:
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/providedservice/ProvidedService.java
URL:
http://svn.apache.org/viewvc/felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/providedservice/ProvidedService.java?rev=1089186&r1=1089185&r2=1089186&view=diff
==============================================================================
---
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/providedservice/ProvidedService.java
(original)
+++
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/providedservice/ProvidedService.java
Tue Apr 5 19:59:53 2011
@@ -485,12 +485,21 @@ public class ProvidedService implements
while (keys.hasMoreElements()) {
String key = (String) keys.nextElement();
Object value = props.get(key);
- Property prop;
- try {
- prop = new Property(key, null, null, value.toString(),
value.getClass().getName(), getInstanceManager(), m_handler);
- addProperty(prop);
- } catch (ConfigurationException e) {
- m_handler.error("The propagated property " + key + " cannot be
created correctly : " + e.getMessage());
+
+ boolean alreadyExisting = false;
+ for (int i = 0; i < m_properties.length; i++) {
+ if (key.equals(m_properties[i].getName())) {
+ alreadyExisting = true;
+ }
+ }
+
+ if (! alreadyExisting) {
+ try {
+ Property prop = new Property(key, null, null,
value.toString(), value.getClass().getName(), getInstanceManager(), m_handler);
+ addProperty(prop);
+ } catch (ConfigurationException e) {
+ m_handler.error("The propagated property " + key + "
cannot be created correctly : " + e.getMessage());
+ }
}
}
}