From e7fa8f7ebb8b320bd2eb21794eae589162aef1bf Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Thu, 15 Mar 2012 08:22:28 +0000
Subject: [PATCH] bug fixed: A disabled plugin which appeared twice caused an
 exception. This is now fixed

SVN: 24734
---
 .../shared/utils/CorePluginsInjector.java       |  2 +-
 .../shared/utils/CorePluginsInjectorTest.java   | 17 +++++++++++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/CorePluginsInjector.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/CorePluginsInjector.java
index d5ff3793c6c..7f2deed90b0 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/CorePluginsInjector.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/CorePluginsInjector.java
@@ -247,12 +247,12 @@ public class CorePluginsInjector
                     for (File pluginFolder : pluginFolders)
                     {
                         String pluginName = pluginFolder.getName();
-                        assertAndAddPluginName(pluginName, pluginNames, pluginType);
                         DssCorePlugin plugin =
                                 new DssCorePlugin(technology, pluginType, pluginFolder);
                         String fullPluginName = plugin.getName();
                         if (isDisabled(disabledPlugins, fullPluginName) == false)
                         {
+                            assertAndAddPluginName(pluginName, pluginNames, pluginType);
                             Map<String, DssCorePlugin> map = typeToPluginsMap.get(pluginType);
                             if (map == null)
                             {
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/CorePluginsInjectorTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/CorePluginsInjectorTest.java
index b1018f5b86f..7d1891e9abb 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/CorePluginsInjectorTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/CorePluginsInjectorTest.java
@@ -249,6 +249,23 @@ public class CorePluginsInjectorTest extends AbstractFileSystemTestCase
         context.assertIsSatisfied();
     }
     
+    @Test
+    public void testADuplicatedButDisabledReportingPluginVersion2()
+    {
+        new File(corePluginsFolder, "screening/1/dss/drop-boxes/my-drop-box").mkdirs();
+        File dropBox2 = new File(corePluginsFolder, "screening/2/dss/drop-boxes/k2");
+        dropBox2.mkdirs();
+        FileUtilities.writeToFile(new File(dropBox2, PLUGIN_PROPERTIES_FILE_NAME),
+                "class = blabla\n");
+        Properties properties = createProperties();
+        properties.setProperty(REPORTING_PLUGIN_NAMES, "k1, k2");
+        properties.setProperty(DISABLED_CORE_PLUGINS_KEY, "screening");
+        
+        injector.injectCorePlugins(properties);
+        
+        context.assertIsSatisfied();
+    }
+    
     @Test
     public void testAMiscellaneousPlugin()
     {
-- 
GitLab