From bbf7db16ff78d0db7e773376ef5d647acf491f05 Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Fri, 10 Dec 2010 10:20:20 +0000 Subject: [PATCH] [LMS-1924] simplified configuration SVN: 19077 --- datastore_server/dist/etc/service.properties | 11 ++++--- datastore_server/etc/service.properties | 11 ++++--- .../DatasetImageOverviewConfiguration.java | 31 ++++++++++--------- .../plugins/demo/DemoOverviewPlugin.java | 7 ++--- 4 files changed, 31 insertions(+), 29 deletions(-) diff --git a/datastore_server/dist/etc/service.properties b/datastore_server/dist/etc/service.properties index ffafcf830f9..7a97360e3bd 100644 --- a/datastore_server/dist/etc/service.properties +++ b/datastore_server/dist/etc/service.properties @@ -177,15 +177,16 @@ main-thread.incoming-data-completeness-condition = marker-file # Comma separated names of image overview plugins. # Each plugin should have configuration properties prefixed with its name. -# Mandatory properties for each <plugin> include: -# <plugin>.class - Fully qualified plugin class name +# Generic properties for each <plugin> include: +# <plugin>.class - Fully qualified plugin class name (mandatory). +# <plugin>.default - If true all data set types not handled by other plugins should be handled +# by the plugin (default = false). # <plugin>.dataset-types - Comma separated list of data set types handled by the plugin -# or '(default)' meaning that all types not handled by other plugins -# should be handled by the plugin. +# (optional and ignored if default is true, otherwise mandatory). #overview-plugins = default-overview, hcs-image-overview # #default-overview.class = ch.systemsx.cisd.openbis.dss.generic.server.plugins.demo.DemoOverviewPlugin -#default-overview.dataset-types = (default) +#default-overview.default = true # Optional property specific to the plugin #default-overview.label = default plugin # diff --git a/datastore_server/etc/service.properties b/datastore_server/etc/service.properties index 003e6ee6498..0d0ee398c81 100644 --- a/datastore_server/etc/service.properties +++ b/datastore_server/etc/service.properties @@ -326,15 +326,16 @@ dss-system-test-thread.type-extractor.data-set-type = HCS_IMAGE # Comma separated names of image overview plugins. # Each plugin should have configuration properties prefixed with its name. -# Mandatory properties for each <plugin> include: -# <plugin>.class - Fully qualified plugin class name +# Generic properties for each <plugin> include: +# <plugin>.class - Fully qualified plugin class name (mandatory). +# <plugin>.default - If true all data set types not handled by other plugins should be handled +# by the plugin (default = false). # <plugin>.dataset-types - Comma separated list of data set types handled by the plugin -# or '(default)' meaning that all types not handled by other plugins -# should be handled by the plugin. +# (optional and ignored if default is true, otherwise mandatory). overview-plugins = default-overview, hcs-image-overview default-overview.class = ch.systemsx.cisd.openbis.dss.generic.server.plugins.demo.DemoOverviewPlugin -default-overview.dataset-types = (default) +default-overview.default = true # Optional property specific to the plugin default-overview.label = default plugin diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DatasetImageOverviewConfiguration.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DatasetImageOverviewConfiguration.java index 59d8d0fc624..19d855d0aec 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DatasetImageOverviewConfiguration.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DatasetImageOverviewConfiguration.java @@ -35,11 +35,11 @@ public class DatasetImageOverviewConfiguration { private static String PLUGINS_SERVICES_LIST_KEY = "overview-plugins"; - static final String PLUGIN_SERVICE_CLASS_KEY = "class"; + private static final String PLUGIN_SERVICE_CLASS_KEY = "class"; - static final String PLUGIN_SERVICE_DATASET_TYPES_KEY = "dataset-types"; + private static final String PLUGIN_SERVICE_DEFAULT_KEY = "default"; - static final String DEFAULT = "(DEFAULT)"; + private static final String PLUGIN_SERVICE_DATASET_TYPES_KEY = "dataset-types"; public static DatasetImageOverviewConfiguration createConfiguration(Properties properties) { @@ -53,9 +53,16 @@ public class DatasetImageOverviewConfiguration Properties props = sectionProperties.getProperties(); String pluginClassName = PropertyUtils.getMandatoryProperty(props, PLUGIN_SERVICE_CLASS_KEY); - List<String> dataSetTypes = - PropertyUtils.getMandatoryList(props, PLUGIN_SERVICE_DATASET_TYPES_KEY); - configuration.addPluginServiceConfiguration(pluginClassName, dataSetTypes, props); + boolean isDefault = PropertyUtils.getBoolean(props, PLUGIN_SERVICE_DEFAULT_KEY, false); + if (isDefault) + { + configuration.setDefaultPluginService(pluginClassName, props); + } else + { + List<String> dataSetTypes = + PropertyUtils.getMandatoryList(props, PLUGIN_SERVICE_DATASET_TYPES_KEY); + configuration.addPluginService(pluginClassName, dataSetTypes, props); + } } return configuration; @@ -85,18 +92,12 @@ public class DatasetImageOverviewConfiguration return plugin; } - private void addPluginServiceConfiguration(String pluginClass, List<String> dataSetTypes, + private void addPluginService(String pluginClass, List<String> dataSetTypes, Properties pluginProperties) { - if (dataSetTypes.size() == 1 && dataSetTypes.get(0).equalsIgnoreCase(DEFAULT)) + for (String dataSetType : dataSetTypes) { - setDefaultPluginService(pluginClass, pluginProperties); - } else - { - for (String dataSetType : dataSetTypes) - { - addPluginService(dataSetType, pluginClass, pluginProperties); - } + addPluginService(dataSetType, pluginClass, pluginProperties); } } diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DemoOverviewPlugin.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DemoOverviewPlugin.java index 770c989bc35..b4d7faae249 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DemoOverviewPlugin.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DemoOverviewPlugin.java @@ -58,9 +58,9 @@ public class DemoOverviewPlugin implements IDatasetImageOverviewPlugin public ResponseContentStream createImageResponse(String datasetCode, String datasetTypeCode, ImageResolutionKind resolution) { - System.out.println(String.format("%s: create image for\n" + System.out.println(String.format("%s (%s): create image for\n" + "\tdataset code: %s\n\tdataset type: %s\n\tresolution: %s", this.getClass() - .getSimpleName(), datasetCode, datasetTypeCode, resolution)); + .getSimpleName(), label, datasetCode, datasetTypeCode, resolution)); String imageFilePath; switch (resolution) { @@ -77,8 +77,7 @@ public class DemoOverviewPlugin implements IDatasetImageOverviewPlugin { BufferedImage image = createImage(imageFilePath, datasetCode, datasetTypeCode, resolution); - return ResponseContentStream.createPNG(image, // ImageIO.read(new File(imageFilePath)), - imageFilePath); + return ResponseContentStream.createPNG(image, imageFilePath); } catch (IOException ex) { throw CheckedExceptionTunnel.wrapIfNecessary(ex); -- GitLab