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 d5ff3793c6c7781d8395412b1de175ecc83c2cee..7f2deed90b0464acc763c622935bd4ccce9db998 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 b1018f5b86fc5deab08581d3a7611b085dd5a6a6..7d1891e9abbd2cccaf9c208b7ec4be41b9444018 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() {