Fixed FELIX-3130.
The instance handler must not try to instantiate the composite from where it came. The instance configuration didn't ignore the 'component' attribute correctly.
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1175879 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/ipojo/composite/src/main/java/org/apache/felix/ipojo/composite/instance/InstanceHandler.java b/ipojo/composite/src/main/java/org/apache/felix/ipojo/composite/instance/InstanceHandler.java
index 133758e..357c262 100644
--- a/ipojo/composite/src/main/java/org/apache/felix/ipojo/composite/instance/InstanceHandler.java
+++ b/ipojo/composite/src/main/java/org/apache/felix/ipojo/composite/instance/InstanceHandler.java
@@ -179,8 +179,8 @@
String className = factory.getComponentDescription().getClassName();
for (int i = 0; i < m_configurations.length; i++) {
if (m_configurations[i].getInstance() == null
- && (m_configurations[i].getNeededFactoryName().equals(factName)
- || m_configurations[i].getNeededFactoryName().equals(className))) {
+ && (m_configurations[i].getNeededFactoryName().equals(factName)
+ || m_configurations[i].getNeededFactoryName().equals(className))) {
createInstance(factory, m_configurations[i]);
implicated = true;
}
@@ -239,11 +239,11 @@
Properties toAppend = new Properties();
Enumeration keys = configuration.keys();
while(keys.hasMoreElements()) {
- String key = (String) keys.nextElement();
- if (! key.equals("instance.name")
- || key.equals("component")) { // Remove instance.name and component
- toAppend.put(key, configuration.get(key));
- }
+ String key = (String) keys.nextElement();
+ if (! (key.equals("instance.name")
+ || key.equals("component"))) { // Remove instance.name and component
+ toAppend.put(key, configuration.get(key));
+ }
}
Element[] instances = metadata.getElements("instance");
@@ -257,8 +257,8 @@
throw new ConfigurationException("An instance cannot be parsed correctly : " + e.getMessage());
}
- Properties instanceConfiguration = new Properties();
- instanceConfiguration.putAll(conf);
+ Properties instanceConfiguration = new Properties();
+ instanceConfiguration.putAll(conf);
instanceConfiguration.putAll(toAppend);
m_configurations[i] = new ManagedConfiguration(instanceConfiguration);
}
@@ -273,7 +273,7 @@
* @throws ParseException : occurs when a configuration cannot be parse correctly.
*/
public static Properties parseInstance(Element instance) throws ParseException {
- Properties dict = new Properties();
+ Properties dict = new Properties();
String name = instance.getAttribute("name");
if (name != null) {
dict.put("name", name);