From 8aacad75e1e3214c2abbe1402c2d0299ba09818b Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Tue, 11 May 2010 08:32:56 +0000 Subject: [PATCH] [LMS-1495] moved PropertyParametersUtil to common SVN: 15890 --- .../utilities}/PropertyParametersUtil.java | 27 +--------- .../ch/systemsx/cisd/etlserver/ETLDaemon.java | 4 +- .../systemsx/cisd/etlserver/Parameters.java | 7 +-- .../etlserver/plugins/AutoArchiverTask.java | 4 +- .../plugins/HierarchicalStorageUpdater.java | 4 +- .../validation/AbstractValidatorFactory.java | 2 +- .../validation/DataSetValidator.java | 14 ++--- .../validation/DataSetValidatorForTSV.java | 40 ++++++++------ .../HeaderBasedValueValidatorFactory.java | 25 +++++---- .../UniqueGroupValidatorFactory.java | 2 +- .../dss/generic/server/ConfigParameters.java | 4 +- .../dss/generic/server/DataStoreServer.java | 4 +- .../standard/HighWaterMarkChecker.java | 4 +- .../tasks/AbstractPluginTaskFactory.java | 7 +-- .../plugins/tasks/ArchiverTaskFactory.java | 2 +- .../plugins/tasks/PluginTaskProviders.java | 9 ++-- .../tasks/ProcessingPluginTaskFactory.java | 2 +- .../tasks/ReportingPluginTaskFactory.java | 2 +- .../generic/shared/DataSourceProvider.java | 7 +-- .../utils/DssPropertyParametersUtil.java | 54 +++++++++++++++++++ .../generic/shared/utils/PluginUtilTest.java | 4 +- 21 files changed, 138 insertions(+), 90 deletions(-) rename {datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils => common/source/java/ch/systemsx/cisd/common/utilities}/PropertyParametersUtil.java (88%) create mode 100644 datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/DssPropertyParametersUtil.java diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/PropertyParametersUtil.java b/common/source/java/ch/systemsx/cisd/common/utilities/PropertyParametersUtil.java similarity index 88% rename from datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/PropertyParametersUtil.java rename to common/source/java/ch/systemsx/cisd/common/utilities/PropertyParametersUtil.java index 06fa1bd15eb..332d62eaa67 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/PropertyParametersUtil.java +++ b/common/source/java/ch/systemsx/cisd/common/utilities/PropertyParametersUtil.java @@ -14,16 +14,13 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.generic.shared.utils; +package ch.systemsx.cisd.common.utilities; import java.util.HashSet; import java.util.Properties; import java.util.Set; -import ch.rinn.restrictions.Private; import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException; -import ch.systemsx.cisd.common.utilities.ExtendedProperties; -import ch.systemsx.cisd.common.utilities.PropertyUtils; /** * Utility class to parse properties. @@ -36,30 +33,8 @@ import ch.systemsx.cisd.common.utilities.PropertyUtils; */ public class PropertyParametersUtil { - @Private - static final String DSS_CODE_KEY = "data-store-server-code"; - - private static final String SERVICE_PROPERTIES_FILE = "etc/service.properties"; - public static final String ITEMS_DELIMITER = ","; - /** loads server configuration */ - public static ExtendedProperties loadServiceProperties() - { - return loadProperties(SERVICE_PROPERTIES_FILE); - } - - public static ExtendedProperties loadProperties(String filePath) - { - Properties properties = PropertyUtils.loadProperties(filePath); - return ExtendedProperties.createWith(properties); - } - - public static String getDataStoreCode(Properties serviceProperties) - { - return PropertyUtils.getMandatoryProperty(serviceProperties, DSS_CODE_KEY); - } - // a section is a set of properties which start with the common prefix public static class SectionProperties { diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/ETLDaemon.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/ETLDaemon.java index 8cee248982b..1cb6399620c 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/ETLDaemon.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/ETLDaemon.java @@ -65,7 +65,7 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; import ch.systemsx.cisd.openbis.dss.generic.shared.QueueingDataSetStatusUpdaterService; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetCodesWithStatus; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.DssPropertyParametersUtil; import ch.systemsx.cisd.openbis.generic.shared.IServer; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseInstance; @@ -309,7 +309,7 @@ public final class ETLDaemon migrateStoreRootDir(storeRootDir, openBISService.getHomeDatabaseInstance()); plugin.getStorageProcessor().setStoreRootDirectory(storeRootDir); final Properties mailProperties = Parameters.createMailProperties(properties); - String dssCode = PropertyParametersUtil.getDataStoreCode(properties); + String dssCode = DssPropertyParametersUtil.getDataStoreCode(properties); boolean deleteUnidentified = threadParameters.deleteUnidentified(); return new TransferredDataSetHandler(dssCode, plugin, openBISService, mailProperties, dataSetValidator, notifySuccessfulRegistration, threadParameters diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/Parameters.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/Parameters.java index 87e0682de09..fb06039c47f 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/Parameters.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/Parameters.java @@ -33,11 +33,12 @@ import ch.systemsx.cisd.common.logging.LogFactory; import ch.systemsx.cisd.common.mail.JavaMailProperties; import ch.systemsx.cisd.common.utilities.ExtendedProperties; import ch.systemsx.cisd.common.utilities.IExitHandler; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil; import ch.systemsx.cisd.common.utilities.PropertyUtils; import ch.systemsx.cisd.common.utilities.SystemExit; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil.SectionProperties; import ch.systemsx.cisd.openbis.dss.BuildAndEnvironmentInfo; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil.SectionProperties; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.DssPropertyParametersUtil; /** * The class to process the command line parameters and service properties. @@ -161,7 +162,7 @@ public class Parameters { try { - this.serviceProperties = PropertyParametersUtil.loadServiceProperties(); + this.serviceProperties = DssPropertyParametersUtil.loadServiceProperties(); PropertyUtils.trimProperties(serviceProperties); this.threads = createThreadParameters(serviceProperties); this.timingParameters = TimingParameters.create(serviceProperties); diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/AutoArchiverTask.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/AutoArchiverTask.java index 0a9c34093d4..18793b8a819 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/AutoArchiverTask.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/AutoArchiverTask.java @@ -27,13 +27,13 @@ import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; import ch.systemsx.cisd.common.utilities.ClassUtils; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil; import ch.systemsx.cisd.common.utilities.PropertyUtils; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil.SectionProperties; import ch.systemsx.cisd.etlserver.IAutoArchiverPolicy; import ch.systemsx.cisd.etlserver.IMaintenanceTask; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil.SectionProperties; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ArchiverDataSetCriteria; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Code; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/HierarchicalStorageUpdater.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/HierarchicalStorageUpdater.java index b3aba6f5f97..df3f9088aee 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/HierarchicalStorageUpdater.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/HierarchicalStorageUpdater.java @@ -34,7 +34,7 @@ import ch.systemsx.cisd.common.utilities.PropertyUtils; import ch.systemsx.cisd.etlserver.IMaintenanceTask; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.DssPropertyParametersUtil; import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleDataSetInformationDTO; /** @@ -64,7 +64,7 @@ public class HierarchicalStorageUpdater implements IMaintenanceTask LogInitializer.init(); // TODO 2010-03-23, Piotr Buczek: pluginProperties contain all needed properties // There is no need to load service properties once again. - Properties properties = PropertyParametersUtil.loadServiceProperties(); + Properties properties = DssPropertyParametersUtil.loadServiceProperties(); storeRoot = PropertyUtils.getMandatoryProperty(properties, STOREROOT_DIR_KEY); hierarchyRoot = PropertyUtils.getMandatoryProperty(properties, pluginName + "." diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/AbstractValidatorFactory.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/AbstractValidatorFactory.java index 6a6cd98b407..b0fb17109a0 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/AbstractValidatorFactory.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/AbstractValidatorFactory.java @@ -22,8 +22,8 @@ import java.util.LinkedHashSet; import java.util.Properties; import java.util.Set; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil; import ch.systemsx.cisd.common.utilities.PropertyUtils; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil; /** * @author Franz-Josef Elmer diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/DataSetValidator.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/DataSetValidator.java index 5536e5ec0cd..3b10f29a5b4 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/DataSetValidator.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/DataSetValidator.java @@ -27,23 +27,25 @@ import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; import ch.systemsx.cisd.common.utilities.ClassUtils; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil.SectionProperties; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil.SectionProperties; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetType; /** * Default implementation of a data set validator. - * + * * @author Franz-Josef Elmer */ public class DataSetValidator implements IDataSetValidator { static final String DATA_SET_VALIDATORS_KEY = "data-set-validators"; + static final String DATA_SET_TYPE_KEY = "data-set-type"; + static final String VALIDATOR_KEY = "validator"; - + private static final Logger operationLog = - LogFactory.getLogger(LogCategory.OPERATION, DataSetValidator.class); + LogFactory.getLogger(LogCategory.OPERATION, DataSetValidator.class); private final Map<String, IDataSetValidator> validators; @@ -93,7 +95,7 @@ public class DataSetValidator implements IDataSetValidator } return ClassUtils.create(IDataSetValidator.class, validatorClass, validatorProperties); } - + public void assertValidDataSet(DataSetType dataSetType, File incomingDataSetFileOrFolder) { IDataSetValidator validator = validators.get(dataSetType.getCode()); diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/DataSetValidatorForTSV.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/DataSetValidatorForTSV.java index 952126f31a6..208f6f8dc0c 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/DataSetValidatorForTSV.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/DataSetValidatorForTSV.java @@ -35,11 +35,11 @@ import org.apache.commons.lang.StringUtils; import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel; import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException; import ch.systemsx.cisd.common.exceptions.UserFailureException; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil; import ch.systemsx.cisd.common.utilities.PropertyUtils; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil.SectionProperties; import ch.systemsx.cisd.etlserver.utils.FileScanner; import ch.systemsx.cisd.etlserver.utils.TabSeparatedValueTable; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil.SectionProperties; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetType; /** @@ -56,14 +56,21 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetType; class DataSetValidatorForTSV implements IDataSetValidator { static final String PATH_PATTERNS_KEY = "path-patterns"; + static final String EXCLUDE_PATH_PATTERNS_KEY = "exclude-path-patterns"; + static final String IGNORE_EMPTY_LINES_KEY = "ignore-empty-lines"; + static final String COLUMNS_KEY = "columns"; - + private final List<FileScanner> fileScanners; + private final List<FileScanner> excludeFileScanners; + private final List<ColumnDefinition> unorderedDefinitions; + private final Map<Integer, ColumnDefinition> orderedDefinitions; + private final boolean ignoreEmptyLines; DataSetValidatorForTSV(Properties properties) @@ -120,15 +127,15 @@ class DataSetValidatorForTSV implements IDataSetValidator } } } - + public void assertValidDataSet(DataSetType dataSetType, File incomingDataSetFileOrFolder) { - Set<File> excludedFiles = new HashSet<File>(); + Set<File> excludedFiles = new HashSet<File>(); for (FileScanner fileScanner : excludeFileScanners) { excludedFiles.addAll(fileScanner.scan(incomingDataSetFileOrFolder)); } - + for (FileScanner fileScanner : fileScanners) { List<File> files = fileScanner.scan(incomingDataSetFileOrFolder); @@ -141,7 +148,7 @@ class DataSetValidatorForTSV implements IDataSetValidator } } } - + private void assertValidFile(File file) { if (file.isFile() == false) @@ -173,8 +180,9 @@ class DataSetValidatorForTSV implements IDataSetValidator { if (StringUtils.isNotBlank(row.get(i))) { - throw new UserFailureException("The row in line " + lineNumber + " has " - + row.size() + " cells instead of " + definitions.length); + throw new UserFailureException("The row in line " + lineNumber + + " has " + row.size() + " cells instead of " + + definitions.length); } } } @@ -214,7 +222,7 @@ class DataSetValidatorForTSV implements IDataSetValidator headerSet.add(header); } } - + private ColumnDefinition[] findColumnDefinitions(List<String> columnHeaders) { ColumnDefinition[] definitions = findOrderedColumnDefinitions(columnHeaders); @@ -225,7 +233,9 @@ class DataSetValidatorForTSV implements IDataSetValidator if (definitions[i] == null) { ColumnDefinition orderedColumDefinitionOrNull = orderedDefinitions.get(i + 1); - definitions[i] = getDefinition(remainingDefinitions, orderedColumDefinitionOrNull, columnHeaders, i); + definitions[i] = + getDefinition(remainingDefinitions, orderedColumDefinitionOrNull, + columnHeaders, i); } } String list = createListOfMissingColumns(remainingDefinitions); @@ -277,12 +287,12 @@ class DataSetValidatorForTSV implements IDataSetValidator if (result.isValid()) { definitions[orderIndex] = columnDefinition; - + } else if (mandatory) { - throw new UserFailureException("According to column definition '" + columnDefinition.getName() - + "' the header '" + header + "' is invalid because of the following reason: " - + result); + throw new UserFailureException("According to column definition '" + + columnDefinition.getName() + "' the header '" + header + + "' is invalid because of the following reason: " + result); } } diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/HeaderBasedValueValidatorFactory.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/HeaderBasedValueValidatorFactory.java index 492fa28d306..f6774f0d71c 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/HeaderBasedValueValidatorFactory.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/HeaderBasedValueValidatorFactory.java @@ -23,23 +23,24 @@ import java.util.regex.Pattern; import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException; import ch.systemsx.cisd.common.exceptions.UserFailureException; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil; import ch.systemsx.cisd.common.utilities.PropertyUtils; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil.SectionProperties; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil.SectionProperties; /** * Collection of {@link IValidatorFactory} instances. Which one is used will be selected by a * regular expression the column header matches. - * + * * @author Franz-Josef Elmer */ public class HeaderBasedValueValidatorFactory implements IValidatorFactory { - private static final class HeaderPatternAndFactory + private static final class HeaderPatternAndFactory { private final Pattern pattern; + private final IValidatorFactory factory; - + HeaderPatternAndFactory(Pattern pattern, IValidatorFactory factory) { super(); @@ -49,16 +50,19 @@ public class HeaderBasedValueValidatorFactory implements IValidatorFactory } static final String HEADER_PATTERN_KEY = "header-pattern"; - + static final String HEADER_TYPES_KEY = "header-types"; - - private final List<HeaderPatternAndFactory> factories = new ArrayList<HeaderPatternAndFactory>(); + + private final List<HeaderPatternAndFactory> factories = + new ArrayList<HeaderPatternAndFactory>(); + private final String headerMessage; public HeaderBasedValueValidatorFactory(Properties properties) { SectionProperties[] columnsProperties = - PropertyParametersUtil.extractSectionProperties(properties, HEADER_TYPES_KEY, false); + PropertyParametersUtil + .extractSectionProperties(properties, HEADER_TYPES_KEY, false); StringBuilder builder = new StringBuilder(); for (SectionProperties sectionProperties : columnsProperties) { @@ -79,7 +83,7 @@ public class HeaderBasedValueValidatorFactory implements IValidatorFactory } headerMessage = builder.toString(); } - + public IValidator createValidator(String columnHeader) { for (HeaderPatternAndFactory factory : factories) @@ -93,5 +97,4 @@ public class HeaderBasedValueValidatorFactory implements IValidatorFactory + "': " + headerMessage); } - } diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/UniqueGroupValidatorFactory.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/UniqueGroupValidatorFactory.java index ab9193d7a36..9562b1d34b2 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/UniqueGroupValidatorFactory.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/validation/UniqueGroupValidatorFactory.java @@ -20,8 +20,8 @@ import java.util.ArrayList; import java.util.Properties; import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil; import ch.systemsx.cisd.common.utilities.PropertyUtils; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil; /** * Creates {@link UniqueGroupValidator}. 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 0dfae8b47be..165963b1b8f 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 @@ -26,9 +26,9 @@ import org.apache.log4j.Logger; import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil; import ch.systemsx.cisd.common.utilities.PropertyUtils; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil.SectionProperties; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil.SectionProperties; /** * Configuration parameters for the Data Set Download Server. diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServer.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServer.java index 4b55434070b..9b9ef96de4b 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServer.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServer.java @@ -55,7 +55,7 @@ import ch.systemsx.cisd.common.utilities.ExtendedProperties; import ch.systemsx.cisd.openbis.dss.generic.server.ConfigParameters.PluginServlet; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.DssPropertyParametersUtil; import ch.systemsx.cisd.openbis.dss.rpc.shared.IDssServiceRpcGeneric; import ch.systemsx.cisd.openbis.generic.shared.IServer; @@ -315,7 +315,7 @@ public class DataStoreServer Properties properties; try { - properties = PropertyParametersUtil.loadServiceProperties(); + properties = DssPropertyParametersUtil.loadServiceProperties(); } catch (ConfigurationFailureException ex) { properties = new Properties(); diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/HighWaterMarkChecker.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/HighWaterMarkChecker.java index 6b3502ad504..383177430a1 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/HighWaterMarkChecker.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/HighWaterMarkChecker.java @@ -9,7 +9,7 @@ import ch.systemsx.cisd.common.highwatermark.HostAwareFile; import ch.systemsx.cisd.common.highwatermark.HostAwareFileWithHighwaterMark; import ch.systemsx.cisd.common.highwatermark.HighwaterMarkWatcher.HighwaterMarkState; import ch.systemsx.cisd.common.utilities.PropertyUtils; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.DssPropertyParametersUtil; /** * Checks if the space available is larger than specified value. @@ -30,7 +30,7 @@ public class HighWaterMarkChecker implements IStatusChecker, Serializable */ public HighWaterMarkChecker(File path) { - this(PropertyUtils.getLong(PropertyParametersUtil.loadServiceProperties(), + this(PropertyUtils.getLong(DssPropertyParametersUtil.loadServiceProperties(), HostAwareFileWithHighwaterMark.HIGHWATER_MARK_PROPERTY_KEY, -1L), path); } diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/AbstractPluginTaskFactory.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/AbstractPluginTaskFactory.java index c314fccbe30..fb9d7a0cefa 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/AbstractPluginTaskFactory.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/AbstractPluginTaskFactory.java @@ -35,9 +35,10 @@ import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; import ch.systemsx.cisd.common.utilities.ClassUtils; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil; import ch.systemsx.cisd.common.utilities.PropertyUtils; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil.SectionProperties; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil.SectionProperties; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.DssPropertyParametersUtil; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatastoreServiceDescription; /** @@ -124,7 +125,7 @@ public abstract class AbstractPluginTaskFactory<T> if (StringUtils.isBlank(parametersFilePath) == false) { Properties propertiesFromFile = - PropertyParametersUtil.loadProperties(parametersFilePath); + DssPropertyParametersUtil.loadProperties(parametersFilePath); addAll(properties, propertiesFromFile); } return properties; diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/ArchiverTaskFactory.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/ArchiverTaskFactory.java index e25e53f34db..50a53559952 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/ArchiverTaskFactory.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/ArchiverTaskFactory.java @@ -27,7 +27,7 @@ import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; import ch.systemsx.cisd.common.utilities.ClassUtils; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil.SectionProperties; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil.SectionProperties; /** * Factory of Archiver Tasks. diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskProviders.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskProviders.java index b86119161de..d1950105fc2 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskProviders.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskProviders.java @@ -20,8 +20,9 @@ import java.io.File; import java.util.Properties; import ch.rinn.restrictions.Private; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil.SectionProperties; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil.SectionProperties; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.DssPropertyParametersUtil; import ch.systemsx.cisd.openbis.generic.shared.dto.DatastoreServiceDescriptions; /** @@ -50,7 +51,7 @@ public class PluginTaskProviders /** for external injections */ public static PluginTaskProviders create(File storeRoot) { - Properties properties = PropertyParametersUtil.loadServiceProperties(); + Properties properties = DssPropertyParametersUtil.loadServiceProperties(); PluginTaskProviders providers = new PluginTaskProviders(properties, storeRoot); providers.check(); providers.logConfigurations(); @@ -61,7 +62,7 @@ public class PluginTaskProviders // public only for tests public PluginTaskProviders(Properties serviceProperties, File storeRoot) { - String datastoreCode = PropertyParametersUtil.getDataStoreCode(serviceProperties); + String datastoreCode = DssPropertyParametersUtil.getDataStoreCode(serviceProperties); this.reportingPlugins = createReportingPluginsFactories(serviceProperties, datastoreCode, storeRoot); this.processingPlugins = diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/ProcessingPluginTaskFactory.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/ProcessingPluginTaskFactory.java index 3a570b3d211..2d0965ccaee 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/ProcessingPluginTaskFactory.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/ProcessingPluginTaskFactory.java @@ -22,7 +22,7 @@ import org.apache.log4j.Logger; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil.SectionProperties; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil.SectionProperties; /** * Factory of Processing Plugin Tasks. diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/ReportingPluginTaskFactory.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/ReportingPluginTaskFactory.java index 468e541fe3c..a14dc84b0b7 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/ReportingPluginTaskFactory.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/ReportingPluginTaskFactory.java @@ -22,7 +22,7 @@ import org.apache.log4j.Logger; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil.SectionProperties; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil.SectionProperties; /** * Factory of Reporting Plugin Tasks. 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 ac339087a62..a16dddf9c7d 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 @@ -28,9 +28,10 @@ import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; import ch.systemsx.cisd.common.utilities.ClassUtils; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil; import ch.systemsx.cisd.common.utilities.PropertyUtils; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PropertyParametersUtil.SectionProperties; +import ch.systemsx.cisd.common.utilities.PropertyParametersUtil.SectionProperties; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.DssPropertyParametersUtil; /** * Stores and provides access to data sources defined in properties file. @@ -82,7 +83,7 @@ public class DataSourceProvider private DataSourceProvider() { - Properties properties = PropertyParametersUtil.loadServiceProperties(); + Properties properties = DssPropertyParametersUtil.loadServiceProperties(); dataSources = new HashMap<String, DataSource>(); SectionProperties[] props = PropertyParametersUtil diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/DssPropertyParametersUtil.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/DssPropertyParametersUtil.java new file mode 100644 index 00000000000..f4c51f51bc8 --- /dev/null +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/DssPropertyParametersUtil.java @@ -0,0 +1,54 @@ +/* + * Copyright 2009 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.systemsx.cisd.openbis.dss.generic.shared.utils; + +import java.util.Properties; + +import ch.rinn.restrictions.Private; +import ch.systemsx.cisd.common.utilities.ExtendedProperties; +import ch.systemsx.cisd.common.utilities.PropertyUtils; + +/** + * Utility class to load properties. + * + * @author Tomasz Pylak + */ +public class DssPropertyParametersUtil +{ + @Private + static final String DSS_CODE_KEY = "data-store-server-code"; + + private static final String SERVICE_PROPERTIES_FILE = "etc/service.properties"; + + /** loads server configuration */ + public static ExtendedProperties loadServiceProperties() + { + return loadProperties(SERVICE_PROPERTIES_FILE); + } + + public static ExtendedProperties loadProperties(String filePath) + { + Properties properties = PropertyUtils.loadProperties(filePath); + return ExtendedProperties.createWith(properties); + } + + public static String getDataStoreCode(Properties serviceProperties) + { + return PropertyUtils.getMandatoryProperty(serviceProperties, DSS_CODE_KEY); + } + +} diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/PluginUtilTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/PluginUtilTest.java index 7d7e69df91f..baab27ff943 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/PluginUtilTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/PluginUtilTest.java @@ -25,13 +25,13 @@ import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.PluginTaskProvi /** * @author Tomasz Pylak */ -@Friend(toClasses = PropertyParametersUtil.class) +@Friend(toClasses = DssPropertyParametersUtil.class) public class PluginUtilTest { public static PluginTaskProviders createPluginTaskProviders(File storeRoot) { Properties serviceProperties = new Properties(); - serviceProperties.put(PropertyParametersUtil.DSS_CODE_KEY, "dss"); + serviceProperties.put(DssPropertyParametersUtil.DSS_CODE_KEY, "dss"); return new PluginTaskProviders(serviceProperties, storeRoot); } } -- GitLab