From 61851f2cddfe1ceaea544f0800a8cd391bada5ce Mon Sep 17 00:00:00 2001 From: juanf <juanf> Date: Fri, 5 Aug 2016 15:57:05 +0000 Subject: [PATCH] SSDM-3989 : Ugly fix that works, several services are being initialized using "${download-url}" when the property is missing since they are created using spring. These have been tracked down and fixed one by one. SVN: 36876 --- .../openbis/dss/generic/server/ConfigParameters.java | 6 ++++-- .../dss/generic/server/EncapsulatedOpenBISService.java | 6 +++--- .../openbisauth/OpenBISAuthenticationInterceptor.java | 10 +--------- .../standard/GenericDssLinkReportingPlugin.java | 8 +++++++- .../shared/api/v1/DataStoreApiUrlUtilities.java | 1 + .../shared/utils/DssPropertyParametersUtil.java | 2 +- datastore_server/source/java/dssApplicationContext.xml | 1 - 7 files changed, 17 insertions(+), 17 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 ef6ccbacc89..7e18f337f64 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 @@ -29,8 +29,8 @@ 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.properties.PropertyParametersUtil; -import ch.systemsx.cisd.common.properties.PropertyUtils; import ch.systemsx.cisd.common.properties.PropertyParametersUtil.SectionProperties; +import ch.systemsx.cisd.common.properties.PropertyUtils; import ch.systemsx.cisd.openbis.common.api.client.ServiceFinder; import ch.systemsx.cisd.openbis.dss.generic.shared.Constants; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.PluginServletConfig; @@ -157,7 +157,9 @@ public final class ConfigParameters implements IServletPropertiesManager dssRecoveryStateDir = DssPropertyParametersUtil.getDssRecoveryStateDir(properties); port = getMandatoryIntegerProperty(properties, PORT_KEY); serverURL = PropertyUtils.getMandatoryProperty(properties, SERVER_URL_KEY); - downloadURL = PropertyUtils.getMandatoryProperty(properties, DOWNLOAD_URL); + + downloadURL = PropertyUtils.getProperty(properties, DOWNLOAD_URL, ""); + sessionTimeout = getMandatoryIntegerProperty(properties, SESSION_TIMEOUT_KEY) * 60; serverTimeoutInMinutes = PropertyUtils.getInt(properties, SERVER_TIMEOUT_IN_MINUTES, diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedOpenBISService.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedOpenBISService.java index ea2fb19f317..c6f1ec459c4 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedOpenBISService.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedOpenBISService.java @@ -238,13 +238,13 @@ public final class EncapsulatedOpenBISService implements IEncapsulatedOpenBISSer } public EncapsulatedOpenBISService(IServiceForDataStoreServer service, - OpenBISSessionHolder sessionHolder, String downloadUrl) + OpenBISSessionHolder sessionHolder) { - this(service, sessionHolder, downloadUrl, null); + this(service, sessionHolder, null); } public EncapsulatedOpenBISService(IServiceForDataStoreServer service, - OpenBISSessionHolder sessionHolder, String downloadUrl, IShareIdManager shareIdManager) + OpenBISSessionHolder sessionHolder, IShareIdManager shareIdManager) { this.shareIdManager = shareIdManager; assert service != null : "Given IETLLIMSService implementation can not be null."; diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/openbisauth/OpenBISAuthenticationInterceptor.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/openbisauth/OpenBISAuthenticationInterceptor.java index e3bc0bb0610..67dba910624 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/openbisauth/OpenBISAuthenticationInterceptor.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/openbisauth/OpenBISAuthenticationInterceptor.java @@ -24,7 +24,6 @@ import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException; import ch.systemsx.cisd.common.exceptions.InvalidSessionException; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; -import ch.systemsx.cisd.common.shared.basic.string.StringUtils; import ch.systemsx.cisd.common.spring.PropertyPlaceholderUtils; import ch.systemsx.cisd.openbis.dss.generic.server.ConfigParameters; import ch.systemsx.cisd.openbis.dss.generic.server.EncapsulatedOpenBISService; @@ -32,7 +31,6 @@ import ch.systemsx.cisd.openbis.dss.generic.server.SessionTokenManager; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IPluginTaskInfoProvider; import ch.systemsx.cisd.openbis.dss.generic.shared.IDataSourceProvider; import ch.systemsx.cisd.openbis.dss.generic.shared.ManagedAuthentication; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.DssPropertyParametersUtil; import ch.systemsx.cisd.openbis.generic.shared.IServiceForDataStoreServer; import ch.systemsx.cisd.openbis.generic.shared.dto.DataStoreServerInfo; import ch.systemsx.cisd.openbis.generic.shared.dto.DatastoreServiceDescriptions; @@ -145,12 +143,6 @@ public class OpenBISAuthenticationInterceptor implements MethodInterceptor dataStoreServerInfo.setPort(port); dataStoreServerInfo.setUseSSL(useSSL); dataStoreServerInfo.setDataStoreCode(sessionHolder.getDataStoreCode()); - if (StringUtils.isBlank(downloadUrl)) - { - final String msg = - "'" + DssPropertyParametersUtil.DOWNLOAD_URL_KEY + "' has to be set."; - throw new ConfigurationFailureException(msg); - } dataStoreServerInfo.setDownloadUrl(downloadUrl); dataStoreServerInfo.setSessionToken(sessionTokenManager.drawSessionToken()); dataStoreServerInfo.setServicesDescriptions(pluginTaskDescriptions); @@ -201,7 +193,7 @@ public class OpenBISAuthenticationInterceptor implements MethodInterceptor public final void setDownloadUrl(String downloadUrl) { - this.downloadUrl = downloadUrl; + this.downloadUrl = downloadUrl.equals("${download-url}") ? "" : downloadUrl; } public void setTimeoutInMinutes(String timeoutInMinutes) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/GenericDssLinkReportingPlugin.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/GenericDssLinkReportingPlugin.java index b03b213868a..b422442993f 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/GenericDssLinkReportingPlugin.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/GenericDssLinkReportingPlugin.java @@ -62,7 +62,13 @@ public class GenericDssLinkReportingPlugin extends AbstractDssLinkReportingPlugi public GenericDssLinkReportingPlugin(Properties properties, File storeRoot) { super(properties, storeRoot); - this.downloadUrl = PropertyUtils.getMandatoryProperty(properties, DOWNLOAD_URL); + if (PropertyUtils.getProperty(properties, DOWNLOAD_URL, "").equals("${download-url}")) + { + this.downloadUrl = ""; + } else + { + this.downloadUrl = PropertyUtils.getProperty(properties, DOWNLOAD_URL, ""); + } this.regexOrNull = PropertyUtils.getProperty(properties, DATA_SET_REGEX); this.pathOrNull = PropertyUtils.getProperty(properties, DATA_SET_PATH); } diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/DataStoreApiUrlUtilities.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/DataStoreApiUrlUtilities.java index bd9908e215f..0ec6f512283 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/DataStoreApiUrlUtilities.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/DataStoreApiUrlUtilities.java @@ -35,6 +35,7 @@ public class DataStoreApiUrlUtilities */ public static String getDataStoreUrlFromDownloadUrl(String dataStoreDownloadUrl) { + dataStoreDownloadUrl = dataStoreDownloadUrl.equals("${download-url}") ? "" : dataStoreDownloadUrl; String datastoreUrl = dataStoreDownloadUrl; // The url objained form a DataStore object is the *download* url. Convert this to the 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 index cbf7939dac9..4fb76749ef8 100644 --- 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 @@ -164,7 +164,7 @@ public class DssPropertyParametersUtil public static String getDownloadUrl(Properties serviceProperties) { - return PropertyUtils.getMandatoryProperty(serviceProperties, DOWNLOAD_URL_KEY); + return PropertyUtils.getProperty(serviceProperties, DOWNLOAD_URL_KEY, ""); } public static int getDataStreamTimeout(Properties serviceProperties) diff --git a/datastore_server/source/java/dssApplicationContext.xml b/datastore_server/source/java/dssApplicationContext.xml index 4434f98b5b1..3eece3f463c 100644 --- a/datastore_server/source/java/dssApplicationContext.xml +++ b/datastore_server/source/java/dssApplicationContext.xml @@ -97,7 +97,6 @@ <bean id="openBIS-service" class="ch.systemsx.cisd.openbis.dss.generic.server.EncapsulatedOpenBISService"> <constructor-arg ref="etl-lims-service"/> <constructor-arg ref="sessionHolder"/> - <constructor-arg value="${download-url}"/> <property name="conversationClient" ref="data-store-service-conversation-client-manager"/> </bean> -- GitLab