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);