From ae0ee5a976dddbfedae301865a253f773ef3dac1 Mon Sep 17 00:00:00 2001 From: brinn <brinn> Date: Sun, 12 Aug 2012 12:16:40 +0000 Subject: [PATCH] [BIS-149/SP-237] Display settings for custom web UIs. Change interface for web app settings to use WebAppSettings object and add methods getWebAppSettings and setWebAppSettings to IOpenbisServiceFacade. SVN: 26338 --- .../client/api/v1/IOpenbisServiceFacade.java | 14 +++++++++ .../api/v1/impl/OpenbisServiceFacade.java | 29 +++++++++++++++++-- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/v1/IOpenbisServiceFacade.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/v1/IOpenbisServiceFacade.java index bf7e9dc253c..1ed2f8518ad 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/v1/IOpenbisServiceFacade.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/v1/IOpenbisServiceFacade.java @@ -28,6 +28,7 @@ import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.NewVocabularyTerm; import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Sample; import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SampleFetchOption; import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchCriteria; +import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.WebAppSettings; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Vocabulary; @@ -45,6 +46,19 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Vocabulary; public interface IOpenbisServiceFacade extends ISimpleOpenbisServiceFacade { + /** + * Returns the persistent settings for a given custom web app. + * + * @param webAppId The id of the custom web app to get the display settings for. + */ + public WebAppSettings getWebAppSettings(String webAppId); + + /** + * Sets the persistent settings for a given custom web app. + * @param customDisplaySettings The new display settings + */ + public void setWebAppSettings(WebAppSettings customDisplaySettings); + /** * Return all samples that match the search criteria. * This is a short cut for diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/v1/impl/OpenbisServiceFacade.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/v1/impl/OpenbisServiceFacade.java index 9741a72b96f..1f04e6d1174 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/v1/impl/OpenbisServiceFacade.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/v1/impl/OpenbisServiceFacade.java @@ -55,6 +55,7 @@ import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchCriteria.MatchCl import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchCriteria.SearchOperator; import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchSubCriteria; import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SpaceWithProjectsAndRoleAssignments; +import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.WebAppSettings; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Vocabulary; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifier; @@ -172,16 +173,16 @@ public class OpenbisServiceFacade implements IOpenbisServiceFacade private final IGeneralInformationChangingService changingService; private final IDssComponent dssComponent; + + private final int minorVersionChangingService; - /** - * ctor. - */ public OpenbisServiceFacade(String sessionToken, IGeneralInformationService service, IGeneralInformationChangingService changingService, IDssComponent dssComponent) { this.sessionToken = sessionToken; this.service = service; this.changingService = changingService; + this.minorVersionChangingService = changingService.getMinorVersion(); this.dssComponent = dssComponent; } @@ -521,6 +522,28 @@ public class OpenbisServiceFacade implements IOpenbisServiceFacade // // IOpenbisServiceFacade // + + @Override + public WebAppSettings getWebAppSettings(String webAppId) + { + if (minorVersionChangingService >= 2) + { + return changingService.getWebAppSettings(sessionToken, webAppId); + } else + { + return new WebAppSettings(webAppId, new HashMap<String, String>()); + } + } + + @Override + public void setWebAppSettings(WebAppSettings customDisplaySettings) + { + if (minorVersionChangingService >= 2) + { + changingService.setWebAppSettings(sessionToken, customDisplaySettings); + } + } + @Override public List<Sample> searchForSamples(SearchCriteria searchCriteria) { -- GitLab