You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by dk...@apache.org on 2013/10/03 21:03:33 UTC

svn commit: r1528973 - /aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java

Author: dkulp
Date: Thu Oct  3 19:03:33 2013
New Revision: 1528973

URL: http://svn.apache.org/r1528973
Log:
[ARIES-1120] Make sure the getComponentIds is relatively consistent with the actual registry

Modified:
    aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java

Modified: aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java?rev=1528973&r1=1528972&r2=1528973&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java (original)
+++ aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java Thu Oct  3 19:03:33 2013
@@ -239,7 +239,7 @@ public class BlueprintContainerImpl 
                 return;
             }
             tidyupComponents();
-            this.componentDefinitionRegistry.reset();
+            resetComponentDefinitionRegistry();
             this.repository = null;
             this.processors = new ArrayList<Processor>();
             timeout = 5 * 60 * 1000;
@@ -254,6 +254,14 @@ public class BlueprintContainerImpl 
             schedule();
         }
     }
+    
+    private void resetComponentDefinitionRegistry() {
+        this.componentDefinitionRegistry.reset();
+        componentDefinitionRegistry.registerComponentDefinition(new PassThroughMetadataImpl("blueprintContainer", this));
+        componentDefinitionRegistry.registerComponentDefinition(new PassThroughMetadataImpl("blueprintBundle", bundle));
+        componentDefinitionRegistry.registerComponentDefinition(new PassThroughMetadataImpl("blueprintBundleContext", bundleContext));
+        componentDefinitionRegistry.registerComponentDefinition(new PassThroughMetadataImpl("blueprintConverter", converter));
+    }
 
     public void run() {
         scheduled.set(false);
@@ -308,11 +316,7 @@ public class BlueprintContainerImpl 
                             eventDispatcher.blueprintEvent(new BlueprintEvent(BlueprintEvent.GRACE_PERIOD, getBundle(), getExtenderBundle(), missing.toArray(new String[missing.size()])));
                             return;
                         }
-                        componentDefinitionRegistry.reset();
-                        componentDefinitionRegistry.registerComponentDefinition(new PassThroughMetadataImpl("blueprintContainer", this));
-                        componentDefinitionRegistry.registerComponentDefinition(new PassThroughMetadataImpl("blueprintBundle", bundle));
-                        componentDefinitionRegistry.registerComponentDefinition(new PassThroughMetadataImpl("blueprintBundleContext", bundleContext));
-                        componentDefinitionRegistry.registerComponentDefinition(new PassThroughMetadataImpl("blueprintConverter", converter));
+                        resetComponentDefinitionRegistry();
                         if (xmlValidation) {
                             parser.validate(handlerSet.getSchema());
                         }
@@ -737,13 +741,7 @@ public class BlueprintContainerImpl 
     }
     
     public Set<String> getComponentIds() {
-        Set<String> set = new LinkedHashSet<String>();
-        set.addAll(componentDefinitionRegistry.getComponentDefinitionNames());
-        set.add("blueprintContainer");
-        set.add("blueprintBundle");
-        set.add("blueprintBundleContext");
-        set.add("blueprintConverter");
-        return set;
+        return new LinkedHashSet<String>(componentDefinitionRegistry.getComponentDefinitionNames());
     }
     
     public Object getComponentInstance(String id) throws NoSuchComponentException {
@@ -902,7 +900,7 @@ public class BlueprintContainerImpl 
                     return;
                 }
                 tidyupComponents();
-                this.componentDefinitionRegistry.reset();
+                resetComponentDefinitionRegistry();
                 this.repository = null;
                 state = State.WaitForNamespaceHandlers;
                 schedule();