From b32c54b079525dc4182d3c78d23199e037eef00e Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Thu, 1 Mar 2012 14:45:41 +0000
Subject: [PATCH] LMS-2818 Add plugin types DATA_SOURCES and SERVICES

SVN: 24595
---
 .../openbis/dss/generic/server/ConfigParameters.java     | 5 ++---
 .../cisd/openbis/dss/generic/shared/Constants.java       | 9 ++++++---
 .../openbis/dss/generic/shared/DataSourceProvider.java   | 4 +---
 .../dss/generic/shared/utils/CorePluginsInjector.java    | 2 ++
 .../openbis/dss/generic/server/ConfigParametersTest.java | 7 ++++---
 5 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ConfigParameters.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ConfigParameters.java
index 64d2b4f5d2c..929ff2383bc 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ConfigParameters.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ConfigParameters.java
@@ -31,6 +31,7 @@ import ch.systemsx.cisd.common.logging.LogFactory;
 import ch.systemsx.cisd.common.utilities.PropertyParametersUtil;
 import ch.systemsx.cisd.common.utilities.PropertyParametersUtil.SectionProperties;
 import ch.systemsx.cisd.common.utilities.PropertyUtils;
+import ch.systemsx.cisd.openbis.dss.generic.shared.Constants;
 import ch.systemsx.cisd.openbis.dss.generic.shared.dto.PluginServletConfig;
 import ch.systemsx.cisd.openbis.dss.generic.shared.utils.DssPropertyParametersUtil;
 
@@ -78,8 +79,6 @@ public final class ConfigParameters implements IServletPropertiesManager
 
     public static final String KEYSTORE_KEY_PASSWORD_KEY = KEYSTORE + "key-password";
 
-    static final String PLUGIN_SERVICES_LIST_KEY = "plugin-services";
-
     static final String PLUGIN_SERVICE_CLASS_KEY = "class";
 
     static final String PLUGIN_SERVICE_PATH_KEY = "path";
@@ -173,7 +172,7 @@ public final class ConfigParameters implements IServletPropertiesManager
         pluginServlets = new LinkedHashMap<String, PluginServletConfig>();
         SectionProperties[] pluginServicesProperties =
                 PropertyParametersUtil.extractSectionProperties(properties,
-                        PLUGIN_SERVICES_LIST_KEY, false);
+                        Constants.PLUGIN_SERVICES_LIST_KEY, false);
         addServletsProperties("", pluginServicesProperties);
 
         webstartJarPath =
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/Constants.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/Constants.java
index 425cbba5882..27231b5d6cf 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/Constants.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/Constants.java
@@ -16,7 +16,6 @@
 
 package ch.systemsx.cisd.openbis.dss.generic.shared;
 
-import ch.rinn.restrictions.Private;
 
 /**
  * Some common constants.
@@ -32,11 +31,15 @@ public class Constants
     public static final String INPUT_THREAD_NAMES = "inputs";
 
     /** property with repotring plugins names separated by delimiter */
-    @Private
     public static final String REPORTING_PLUGIN_NAMES = "reporting-plugins";
 
     /** property with processing plugins names separated by delimiter */
-    @Private
     public static final String PROCESSING_PLUGIN_NAMES = "processing-plugins";
 
+    /** Key of service property which is a list of data source IDs. */ 
+    public static final String DATA_SOURCES_KEY = "data-sources";
+
+    /** Key of service property which is a list of servlet services. */
+    public static final String PLUGIN_SERVICES_LIST_KEY = "plugin-services";
+
 }
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/DataSourceProvider.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/DataSourceProvider.java
index 6a433b9b451..ffad43d6145 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/DataSourceProvider.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/DataSourceProvider.java
@@ -70,8 +70,6 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.utils.DssPropertyParametersUt
  */
 public class DataSourceProvider implements IDataSourceProvider
 {
-    static final String DATA_SOURCES_KEY = "data-sources";
-
     private static final String DATA_SOURCE_FACTORY_CLASS_KEY = "factory-class";
 
     private static final Logger operationLog =
@@ -87,7 +85,7 @@ public class DataSourceProvider implements IDataSourceProvider
         dataSources = new HashMap<String, DataSource>();
         SectionProperties[] props =
                 PropertyParametersUtil
-                        .extractSectionProperties(properties, DATA_SOURCES_KEY, false);
+                        .extractSectionProperties(properties, Constants.DATA_SOURCES_KEY, false);
         for (SectionProperties sectionProperties : props)
         {
             Properties dataSourceProperties = sectionProperties.getProperties();
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 36aab142216..ab0d6e04c42 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
@@ -64,6 +64,8 @@ class CorePluginsInjector
     enum PluginType
     {
         DROP_BOXES("drop-boxes", Constants.INPUT_THREAD_NAMES), 
+        DATA_SOURCES("data-sources", Constants.DATA_SOURCES_KEY), 
+        SERVICES("services", Constants.PLUGIN_SERVICES_LIST_KEY), 
         REPORTING_PLUGINS("reporting-plugins", Constants.REPORTING_PLUGIN_NAMES), 
         PROCESSING_PLUGINS("processing-plugins", Constants.PROCESSING_PLUGIN_NAMES),
         MAINTENANCE_TASKS("maintenance-tasks", MaintenanceTaskUtils.DEFAULT_MAINTENANCE_PLUGINS_PROPERTY_NAME), 
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/ConfigParametersTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/ConfigParametersTest.java
index 665a08194c8..ef4555c236e 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/ConfigParametersTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/ConfigParametersTest.java
@@ -23,6 +23,7 @@ import org.testng.AssertJUnit;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException;
+import ch.systemsx.cisd.openbis.dss.generic.shared.Constants;
 import ch.systemsx.cisd.openbis.dss.generic.shared.dto.PluginServletConfig;
 
 /**
@@ -59,7 +60,7 @@ public class ConfigParametersTest extends AssertJUnit
     public void testPluginServices()
     {
         Properties properties = createMandatoryProperties();
-        properties.setProperty(ConfigParameters.PLUGIN_SERVICES_LIST_KEY, "s1, s2");
+        properties.setProperty(Constants.PLUGIN_SERVICES_LIST_KEY, "s1, s2");
         properties.setProperty("s1." + ConfigParameters.PLUGIN_SERVICE_CLASS_KEY, "class1");
         properties.setProperty("s1." + ConfigParameters.PLUGIN_SERVICE_PATH_KEY, "path1");
         properties.setProperty("s2." + ConfigParameters.PLUGIN_SERVICE_CLASS_KEY, "class2");
@@ -80,7 +81,7 @@ public class ConfigParametersTest extends AssertJUnit
     public void testPluginServicesWithDuplicatedPath()
     {
         Properties properties = createMandatoryProperties();
-        properties.setProperty(ConfigParameters.PLUGIN_SERVICES_LIST_KEY, "s1, s2");
+        properties.setProperty(Constants.PLUGIN_SERVICES_LIST_KEY, "s1, s2");
         properties.setProperty("s1." + ConfigParameters.PLUGIN_SERVICE_CLASS_KEY, "class1");
         properties.setProperty("s1." + ConfigParameters.PLUGIN_SERVICE_PATH_KEY, "path1");
         properties.setProperty("s2." + ConfigParameters.PLUGIN_SERVICE_CLASS_KEY, "class2");
@@ -117,7 +118,7 @@ public class ConfigParametersTest extends AssertJUnit
     public void testAddServletPropertiesWithExistingPath()
     {
         Properties properties = createMandatoryProperties();
-        properties.setProperty(ConfigParameters.PLUGIN_SERVICES_LIST_KEY, "s1");
+        properties.setProperty(Constants.PLUGIN_SERVICES_LIST_KEY, "s1");
         properties.setProperty("s1." + ConfigParameters.PLUGIN_SERVICE_CLASS_KEY, "class1");
         properties.setProperty("s1." + ConfigParameters.PLUGIN_SERVICE_PATH_KEY, "path1");
         ConfigParameters configParameters = new ConfigParameters(properties);
-- 
GitLab