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 06fa1bd15ebcfcce11be1372e4b3ca230e0d8924..332d62eaa677a4f9adf420b9ae8819f5ceb4d053 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 8cee248982b84bef7d9e6b2a3bbf9b35b9f28930..1cb6399620c6912c5e7341e4041ce56ced5db3f7 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 87e0682de0969bf5c75b0be1b1ad6478e071f572..fb06039c47f0d8fcf8dd4ca63cb8a35623fa7d14 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 0a9c34093d4910dc9c7eca9e1481cfa91fecab67..18793b8a819f8727cea8a4c4c1c9ca38d071251d 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 b3aba6f5f9777590f85341fa448fd882ef480385..df3f9088aee24be1af5523244f71c320cd042831 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 6a6cd98b407ffdce4df0d51692e51e13f724b6ac..b0fb17109a04e5a1462add6b923354f860c2b4d9 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 5536e5ec0cdd3fb803337e99b039b6e0c29e163c..3b10f29a5b4780c8264a67f862bf1b211f6abbc0 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 952126f31a6de9678ac0eb0523abd6d6959694f8..208f6f8dc0c3fb50e173c2e7e9346b7e4adef74e 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 492fa28d3068ff13f37ff6fdf892adef1ac2b82a..f6774f0d71c52090796ca13dc530fe47d2466c9c 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 ab9193d7a36f6366a286964668f267a127d4c21c..9562b1d34b2c3df90ca19ac9188d686944098653 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 0dfae8b47be94d6109c68e84688d638d7429046c..165963b1b8faf13752c6e4b95030949fadf83f01 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 4b55434070b16e9c873dc00b10a620cc53883c95..9b9ef96de4b4b3ab566532c9cd9a95566990cca3 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 6b3502ad5041cc62cb533cf6a28b6edbd98b84b0..383177430a160f86398ddf12e962bb7ab374cdeb 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 c314fccbe307f0ad26378c10a564660a739448e5..fb9d7a0cefa89bdc88704370162b346bf282e929 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 e25e53f34dbb98a9dd0d3a8de7e75225f5c603e4..50a53559952cfb8f3c7f5422cb38eedf38cf096c 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 b86119161de5790cd32a53946c60d4288c5c6f0c..d1950105fc2c011b9acda20ededc4f14976979dc 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 3a570b3d21106805bd4281dc311bfefe369f0ac4..2d0965ccaeef11d5a8fc19df5a4272090546e4dd 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 468e541fe3c5ada649101ec2757522d711c208bb..a14dc84b0b759583714ba310f8beee31a8a2cad5 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 ac339087a62e74ab9914cca6a93e3a303f97442a..a16dddf9c7d0d12bc440c4f3bf74894bc2273a25 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 0000000000000000000000000000000000000000..f4c51f51bc846e7ac919415fc9554d2b6f844cfb --- /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 7d7e69df91f98d97c2cc94f5f0d9740d1f41e4f1..baab27ff943bb16207e34e44ce51e93f69b3c23e 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); } }