diff --git a/openbis/dist/server/service.properties b/openbis/dist/server/service.properties index 8fd6fe49be6a3e6e361e3a66ba2a610f20bfc77f..d91f3ab5cc4f964d592e147b616012b3aa12c161 100644 --- a/openbis/dist/server/service.properties +++ b/openbis/dist/server/service.properties @@ -64,10 +64,6 @@ ldap.attributenames.last.name = # The database instance local unique identifier. Used when the new database is created. database-instance = TEST -# Base URL of the Data Store Server. -# Will be used only by DSS client trying to register data sets with the API (not by dropboxes). -data-store-server-base-url = - # The URL of the CIFEX server cifex-url = https://cifex.ethz.ch:443 diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java index f1de2d53d4d8d0d62687567e10a85d98775a8c85..c454fb36ad6c87d5176003b25db4b6f93df03fc7 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java @@ -16,9 +16,6 @@ package ch.systemsx.cisd.openbis.generic.server; -import static ch.systemsx.cisd.openbis.generic.shared.GenericSharedConstants.DATA_STORE_SERVER_APPLICATION_PATH; -import static ch.systemsx.cisd.openbis.generic.shared.GenericSharedConstants.DATA_STORE_SERVER_WEB_APPLICATION_NAME; - import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -120,8 +117,6 @@ public class ETLService extends AbstractCommonServer<IETLService> implements IET private final IDataStoreServiceFactory dssFactory; - private String defaultDataStoreBaseURL; - public ETLService(IAuthenticationService authenticationService, ISessionManager<Session> sessionManager, IDAOFactory daoFactory, ICommonBusinessObjectFactory boFactory, IDataStoreServiceFactory dssFactory) @@ -714,37 +709,20 @@ public class ETLService extends AbstractCommonServer<IETLService> implements IET return getDAOFactory().getEventDAO().listDeletedDataSets(lastSeenDeletionEventIdOrNull); } - public void setDefaultDataStoreBaseURL(String defaultDataStoreBaseURL) + public String getDefaultPutDataStoreBaseURL(String sessionToken) { - String url = defaultDataStoreBaseURL; - // Strip the web application name from the URL - if (url.endsWith("/" + DATA_STORE_SERVER_WEB_APPLICATION_NAME)) - { - url = - url.substring(0, url.length() - - (DATA_STORE_SERVER_WEB_APPLICATION_NAME.length() + 1)); - } - if (url.endsWith(DATA_STORE_SERVER_APPLICATION_PATH)) - { - url = url.substring(0, url.length() - DATA_STORE_SERVER_APPLICATION_PATH.length()); - } - - if (url.endsWith("/")) - { - url = url.substring(0, url.length() - 1); - } - - this.defaultDataStoreBaseURL = url; - - if (operationLog.isInfoEnabled()) + checkSession(sessionToken); + IDataStoreDAO dataStoreDAO = daoFactory.getDataStoreDAO(); + List<DataStorePE> dataStores = dataStoreDAO.listDataStores(); + if (dataStores.size() != 1) { - operationLog.info("Set default DSS baseURL to '" + this.defaultDataStoreBaseURL + "'."); + throw new UserFailureException( + String + .format( + "Expected exactly one Data Store Server to be registered for openBIS but found %s", + dataStores.size())); } - } - - public String getDefaultDataStoreBaseURL(String sessionToken) - { - return defaultDataStoreBaseURL; + return dataStores.get(0).getRemoteUrl(); } public ExternalData tryGetDataSetForServer(String sessionToken, String dataSetCode) @@ -753,6 +731,4 @@ public class ETLService extends AbstractCommonServer<IETLService> implements IET return tryGetDataSet(sessionToken, dataSetCode); } - - } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceLogger.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceLogger.java index fb12158f9c08c40f746d6a67b2d59da51aa6677c..145bd0bee874422f7848a8a16a708f54dfcaf2bf 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceLogger.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceLogger.java @@ -284,9 +284,9 @@ public class ETLServiceLogger extends AbstractServerLogger implements IETLServic dataSetCodes.size(), newStatus); } - public String getDefaultDataStoreBaseURL(String sessionToken) + public String getDefaultPutDataStoreBaseURL(String sessionToken) { - logAccess(sessionToken, "getDefaultDataStoreBaseURL"); + logAccess(sessionToken, "getDefaultPutDataStoreBaseURL"); return null; } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/IETLLIMSService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/IETLLIMSService.java index ee117214842ea5990855df3237dc576a3950dfcd..bd50ba20130d60471ae2f2bef3afab7eaf656285 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/IETLLIMSService.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/IETLLIMSService.java @@ -420,7 +420,7 @@ public interface IETLLIMSService extends IServer, ISessionProvider */ @Transactional(readOnly = true) @RolesAllowed(RoleWithHierarchy.SPACE_OBSERVER) - public String getDefaultDataStoreBaseURL(String sessionToken); + public String getDefaultPutDataStoreBaseURL(String sessionToken); /** * Check if the user has USER access on the space diff --git a/openbis/source/java/genericApplicationContext.xml b/openbis/source/java/genericApplicationContext.xml index ce2ddf9f9ed5acf0c1e4f47a33f0d282eb24ce68..e877a95020a4480a7ebf056ab1a7b8071081c06f 100644 --- a/openbis/source/java/genericApplicationContext.xml +++ b/openbis/source/java/genericApplicationContext.xml @@ -127,7 +127,6 @@ <constructor-arg ref="dao-factory" /> <constructor-arg ref="common-business-object-factory" /> <constructor-arg ref="dss-factory" /> - <property name="defaultDataStoreBaseURL" value="${data-store-server-base-url}"/> </bean> </property> <property name="interceptorNames"> diff --git a/openbis/source/java/service.properties b/openbis/source/java/service.properties index 9c60b009559f2b97becc9930f97dfabef84d6b25..98d9dcfe0d1ce9fff7219aa26901469e860b0176 100644 --- a/openbis/source/java/service.properties +++ b/openbis/source/java/service.properties @@ -15,9 +15,7 @@ database.create-from-scratch = false # For debugging set this value to true. database.script-single-step-mode = false database.url-host-part = -#database.kind = plasmids_clean2 database.kind = test -#database.kind = system_test # database.kind = system_test_strict # database.kind = system_test_plates_on_demand # database.kind = system_test_multi_groups @@ -33,12 +31,6 @@ crowd.application.password = # The database instance local unique identifier. Used when the new database is created. database-instance = CISD -#database-instance = CSB - - -# Base URL of the default Data Store Server. -# Will be used only by DSS client trying to register data sets. -data-store-server-base-url = http://localhost:8889/data_store # The URL of the CIFEX server cifex-url = https://cifex.ethz.ch:443 diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/IETLLIMSService.java.expected b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/IETLLIMSService.java.expected index ee117214842ea5990855df3237dc576a3950dfcd..bd50ba20130d60471ae2f2bef3afab7eaf656285 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/IETLLIMSService.java.expected +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/IETLLIMSService.java.expected @@ -420,7 +420,7 @@ public interface IETLLIMSService extends IServer, ISessionProvider */ @Transactional(readOnly = true) @RolesAllowed(RoleWithHierarchy.SPACE_OBSERVER) - public String getDefaultDataStoreBaseURL(String sessionToken); + public String getDefaultPutDataStoreBaseURL(String sessionToken); /** * Check if the user has USER access on the space