]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-1838:
authorGodin <mandrikov@gmail.com>
Fri, 15 Oct 2010 20:30:57 +0000 (20:30 +0000)
committerGodin <mandrikov@gmail.com>
Fri, 15 Oct 2010 20:30:57 +0000 (20:30 +0000)
* Fix small and stupid bug in ClassLoadersCollection - important to have dot at the end of package name
* Add prefixes "com.sonar.plugins." and "com.sonarsource.plugins." for export

sonar-core/src/main/java/org/sonar/core/classloaders/ClassLoadersCollection.java

index 858ed05f88babc48f0fd6bb073e32d61684d4850..b7b2b3bb7fd9c7a705921a8a914af8e4ce05cfe9 100644 (file)
@@ -30,7 +30,7 @@ import java.util.Collection;
  */
 public class ClassLoadersCollection {
 
-  private static final String EXPORTED_PREFIX = "org.sonar.plugins.";
+  private static final String[] PREFIXES_TO_EXPORT = { "org.sonar.plugins.", "com.sonar.plugins.", "com.sonarsource.plugins." };
 
   private ClassWorld world = new ClassWorld();
   private ClassLoader baseClassLoader;
@@ -49,7 +49,6 @@ public class ClassLoadersCollection {
       for (URL constituent : urls) {
         realm.addConstituent(constituent);
       }
-      // export(realm, EXPORTED_PREFIX + key);
       return realm.getClassLoader();
     } catch (DuplicateRealmException e) {
       throw new SonarException(e);
@@ -62,7 +61,12 @@ public class ClassLoadersCollection {
   public void done() {
     for (Object o : world.getRealms()) {
       ClassRealm realm = (ClassRealm) o;
-      export(realm, EXPORTED_PREFIX + realm.getId());
+      String[] packagesToExport = new String[PREFIXES_TO_EXPORT.length];
+      for (int i = 0; i < PREFIXES_TO_EXPORT.length; i++) {
+        // important to have dot at the end of package name
+        packagesToExport[i] = PREFIXES_TO_EXPORT[i] + realm.getId() + ".";
+      }
+      export(realm, packagesToExport);
     }
   }