]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/internal/ServiceBasedModuleSourceRepository.java
(refs #7613) Removed some module sources as declarative services
[simantics/platform.git] / bundles / org.simantics.scl.osgi / src / org / simantics / scl / osgi / internal / ServiceBasedModuleSourceRepository.java
index ac8384c242bf54e834148f6cfa8b7c31d2220024..e9d4abd4a01e3a825275f028b31429f5e7852edc 100644 (file)
@@ -25,6 +25,7 @@ public class ServiceBasedModuleSourceRepository implements ModuleSourceRepositor
     public ModuleSource getModuleSource(String moduleName,
             UpdateListener listener) {
         ModuleSource result = null;
     public ModuleSource getModuleSource(String moduleName,
             UpdateListener listener) {
         ModuleSource result = null;
+        ModuleSourceRepository resultRepository = null;
         Object[] services = sourceRepositories.getServices();
         if(services != null)
             for(Object sourceRepository_ : services) {
         Object[] services = sourceRepositories.getServices();
         if(services != null)
             for(Object sourceRepository_ : services) {
@@ -37,10 +38,11 @@ public class ServiceBasedModuleSourceRepository implements ModuleSourceRepositor
                         if(resultPriority > sourcePriority)
                             continue;
                         if(resultPriority == sourcePriority)
                         if(resultPriority > sourcePriority)
                             continue;
                         if(resultPriority == sourcePriority)
-                            throw new RuntimeException("Module " + moduleName + " has two sources " + result + ", " +
-                                    source + " with the same priority.");
+                            throw new RuntimeException("Module " + moduleName + " has two sources " + result + " (from "+resultRepository+"), " +
+                                    source + " (from "+sourceLoader+")  with the same priority.");
                     }
                     result = source;
                     }
                     result = source;
+                    resultRepository = sourceLoader;
                 }
             }
         return result;
                 }
             }
         return result;