Author: rfeng
Date: Mon Mar  3 14:15:02 2008
New Revision: 633301

URL: http://svn.apache.org/viewvc?rev=633301&view=rev
Log:
Applied the patch for TUSCANY-1941 to avoid loading duplicate module activators

Modified:
    
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java

Modified: 
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java?rev=633301&r1=633300&r2=633301&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
 Mon Mar  3 14:15:02 2008
@@ -22,6 +22,7 @@
 import java.io.IOException;
 import java.net.URL;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -274,10 +275,15 @@
         // Load and instantiate the modules found on the classpath (or any 
registered classloaders)
         modules = new ArrayList<ModuleActivator>();
         try {
-               Set<ServiceDeclaration> moduleActivators = 
ServiceDiscovery.getInstance().getServiceDeclarations(ModuleActivator.class);
-               
-            for (ServiceDeclaration moduleDeclarator : moduleActivators) { 
-               Class<?> moduleClass = moduleDeclarator.loadClass();
+            Set<ServiceDeclaration> moduleActivators =
+                
ServiceDiscovery.getInstance().getServiceDeclarations(ModuleActivator.class);
+            Set<String> moduleClasses = new HashSet<String>();
+            for (ServiceDeclaration moduleDeclarator : moduleActivators) {
+                if (moduleClasses.contains(moduleDeclarator.getClassName())) {
+                    continue;
+                }
+                moduleClasses.add(moduleDeclarator.getClassName());
+                Class<?> moduleClass = moduleDeclarator.loadClass();
                 ModuleActivator module = 
(ModuleActivator)moduleClass.newInstance();
                 modules.add(module);
             }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to