diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/translator/externaldms/ExternalDmsTranslator.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/translator/externaldms/ExternalDmsTranslator.java index f5fe7d2c10ca87ca9e1b6d778df71b4376841e28..8066b7742f7e54b17e903fa22742204d1c97338f 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/translator/externaldms/ExternalDmsTranslator.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/translator/externaldms/ExternalDmsTranslator.java @@ -24,6 +24,7 @@ import org.springframework.stereotype.Component; import ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.ExternalDms; import ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.ExternalDmsAddressType; import ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.fetchoptions.ExternalDmsFetchOptions; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.id.ExternalDmsPermId; import ch.ethz.sis.openbis.generic.server.asapi.v3.translator.AbstractCachingTranslator; import ch.ethz.sis.openbis.generic.server.asapi.v3.translator.TranslationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.translator.TranslationResults; @@ -65,6 +66,7 @@ public class ExternalDmsTranslator extends AbstractCachingTranslator<Long, Exter TranslationResults relations = (TranslationResults) objectRelations; ExternalDmsBaseRecord baseRecord = relations.get(IExternalDmsBaseTranslator.class, externalDmsId); + result.setPermId(new ExternalDmsPermId(baseRecord.code)); result.setCode(baseRecord.code); result.setLabel(baseRecord.label); result.setUrlTemplate(baseRecord.address); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/externaldms/ExternalDms.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/externaldms/ExternalDms.js index d0f8dceaebfb58cccc4724bc6721f9c8d9bc8bc8..f1b4ec4860d766ca43e02a38f3d2c6a6149a2ba7 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/externaldms/ExternalDms.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/externaldms/ExternalDms.js @@ -9,6 +9,7 @@ define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) { prototype['@type'] = 'as.dto.externaldms.ExternalDms'; constructor.serialVersionUID = 1; prototype.fetchOptions = null; + prototype.permId = null; prototype.code = null; prototype.label = null; prototype.urlTemplate = null; @@ -22,6 +23,12 @@ define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) { prototype.setFetchOptions = function(fetchOptions) { this.fetchOptions = fetchOptions; }; + prototype.getPermId = function() { + return this.permId; + }; + prototype.setPermId = function(permId) { + this.permId = permId; + }; prototype.getCode = function() { return this.code; }; @@ -62,6 +69,7 @@ define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) { return "ExternalDms " + this.code; }; }, { + permId : "ExternalDmsPermId", fetchOptions : "ExternalDmsFetchOptions", addressType : "ExternalDmsAddressType" }); diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/AbstractExternalDmsTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/AbstractExternalDmsTest.java index 00f2b0d613092f3870cca4abf2c1ca185aeb1ad4..4ebd347d20de81d1e3ddda5535225580819bca2e 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/AbstractExternalDmsTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/AbstractExternalDmsTest.java @@ -208,6 +208,7 @@ public abstract class AbstractExternalDmsTest extends AbstractTest return Objects.equals(edms.getAddress(), another.getAddress()) && Objects.equals(edms.getAddressType(), another.getAddressType()) && Objects.equals(edms.getCode(), another.getCode()) && + Objects.equals(edms.getPermId(), another.getPermId()) && Objects.equals(edms.getLabel(), another.getLabel()) && Objects.equals(edms.getUrlTemplate(), another.getUrlTemplate()); } diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/externaldms/ExternalDms.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/externaldms/ExternalDms.java index 8a384c5e8b0e8d588de3845b68ebcfb9ceb83e50..77ce59482dbd30b4574a6a1f2ed3fbea585c57b8 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/externaldms/ExternalDms.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/externaldms/ExternalDms.java @@ -22,6 +22,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.ICodeHolder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.fetchoptions.ExternalDmsFetchOptions; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.id.ExternalDmsPermId; import ch.systemsx.cisd.base.annotation.JsonObject; import ch.systemsx.cisd.common.annotation.TechPreview; @@ -36,6 +37,9 @@ public class ExternalDms implements Serializable, ICodeHolder @JsonProperty private ExternalDmsFetchOptions fetchOptions; + @JsonProperty + private ExternalDmsPermId permId; + @JsonProperty private String code; @@ -66,7 +70,17 @@ public class ExternalDms implements Serializable, ICodeHolder { this.fetchOptions = fetchOptions; } - + @JsonIgnore + public ExternalDmsPermId getPermId() + { + return permId; + } + + public void setPermId(ExternalDmsPermId permId) + { + this.permId = permId; + } + // Method automatically generated with DtoGenerator @JsonIgnore @Override