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 bf7e9dc253cc73c59995410892a2afba5f987fa1..1ed2f8518addf840065ca878f740a17029da54d3 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 9741a72b96f9638192278a8d59a04e67f3c960e9..1f04e6d1174040e4f94e169e843e62bdb3f972b6 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) {