From eb95596aa29177c8ce133cabdb788f5acd944ee4 Mon Sep 17 00:00:00 2001 From: vkovtun <vkovtun@ethz.ch> Date: Wed, 23 Aug 2023 16:03:37 +0200 Subject: [PATCH] SSDM-13926: Fixing the failing JS test. --- .../asapi/v3/dto/exporter/ExportResult.java | 7 +++++++ .../asapi/v3/dto/exporter/data/AllFields.java | 4 ++++ .../v3/dto/exporter/data/ExportData.java | 7 +++++++ .../dto/exporter/data/ExportablePermId.java | 7 +++++++ .../v3/dto/exporter/data/SelectedFields.java | 7 +++++++ .../dto/exporter/options/ExportOptions.java | 11 +++++++++++ .../v3/dto/importer/ImportOperation.java | 7 +++++++ .../v3/dto/importer/data/ImportScript.java | 7 +++++++ .../importer/data/UncompressedImportData.java | 9 +++++++++ .../v3/dto/importer/data/ZipImportData.java | 7 +++++++ .../dto/importer/options/ImportOptions.java | 5 +++++ .../as/dto/exporter/data/ExportablePermId.js | 2 -- .../html/test/test-dto-roundtrip.js | 19 +++++++++++++++---- 13 files changed, 93 insertions(+), 6 deletions(-) diff --git a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/ExportResult.java b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/ExportResult.java index cf076159c00..bd88516237c 100644 --- a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/ExportResult.java +++ b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/ExportResult.java @@ -19,6 +19,9 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter; import java.io.Serializable; import java.util.Collection; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.ObjectToString; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -28,8 +31,10 @@ public class ExportResult implements Serializable private static final long serialVersionUID = 1L; + @JsonProperty final String downloadURL; + @JsonProperty final Collection<String> warnings; public ExportResult(final String downloadURL, final Collection<String> warnings) @@ -38,11 +43,13 @@ public class ExportResult implements Serializable this.warnings = warnings; } + @JsonIgnore public String getDownloadURL() { return downloadURL; } + @JsonIgnore public Collection<String> getWarnings() { return warnings; diff --git a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/data/AllFields.java b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/data/AllFields.java index 96c084415e5..a7aad1ddd1b 100644 --- a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/data/AllFields.java +++ b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/data/AllFields.java @@ -19,6 +19,8 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data; import java.io.Serializable; import java.util.List; +import com.fasterxml.jackson.annotation.JsonIgnore; + import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.ObjectToString; import ch.ethz.sis.openbis.generic.asapi.v3.dto.property.id.PropertyTypePermId; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -29,11 +31,13 @@ public class AllFields implements Serializable, IExportableFields private static final long serialVersionUID = 1L; + @JsonIgnore public List<Attribute> getAttributes() { return null; } + @JsonIgnore public List<PropertyTypePermId> getProperties() { return null; diff --git a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/data/ExportData.java b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/data/ExportData.java index c0c922fa453..f267aa79e55 100644 --- a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/data/ExportData.java +++ b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/data/ExportData.java @@ -19,6 +19,9 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data; import java.io.Serializable; import java.util.List; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.ObjectToString; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -28,8 +31,10 @@ public class ExportData implements Serializable private static final long serialVersionUID = 1L; + @JsonProperty private List<ExportablePermId> permIds; + @JsonProperty private IExportableFields fields; @SuppressWarnings("unused") @@ -43,11 +48,13 @@ public class ExportData implements Serializable this.fields = fields; } + @JsonIgnore public List<ExportablePermId> getPermIds() { return permIds; } + @JsonIgnore public IExportableFields getFields() { return fields; diff --git a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/data/ExportablePermId.java b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/data/ExportablePermId.java index e5f86585287..cc982e5d5a8 100644 --- a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/data/ExportablePermId.java +++ b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/data/ExportablePermId.java @@ -19,6 +19,9 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data; import java.io.Serializable; import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.ObjectToString; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.id.ObjectPermId; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -29,8 +32,10 @@ public class ExportablePermId implements Serializable private static final long serialVersionUID = 1L; + @JsonProperty private ExportableKind exportableKind; + @JsonProperty private ObjectPermId permId; @SuppressWarnings("unused") @@ -44,11 +49,13 @@ public class ExportablePermId implements Serializable this.permId = Objects.requireNonNull(permId); } + @JsonIgnore public ExportableKind getExportableKind() { return exportableKind; } + @JsonIgnore public ObjectPermId getPermId() { return permId; diff --git a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/data/SelectedFields.java b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/data/SelectedFields.java index 9cb46d9cacd..161289a3f15 100644 --- a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/data/SelectedFields.java +++ b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/data/SelectedFields.java @@ -19,6 +19,9 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data; import java.io.Serializable; import java.util.List; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.ObjectToString; import ch.ethz.sis.openbis.generic.asapi.v3.dto.property.id.PropertyTypePermId; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -29,8 +32,10 @@ public class SelectedFields implements Serializable, IExportableFields private static final long serialVersionUID = 1L; + @JsonProperty private List<Attribute> attributes; + @JsonProperty private List<PropertyTypePermId> properties; @SuppressWarnings("unused") @@ -44,11 +49,13 @@ public class SelectedFields implements Serializable, IExportableFields this.properties = properties; } + @JsonIgnore public List<Attribute> getAttributes() { return attributes; } + @JsonIgnore public List<PropertyTypePermId> getProperties() { return properties; diff --git a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/options/ExportOptions.java b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/options/ExportOptions.java index 5e2d97adaa2..0685994b90a 100644 --- a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/options/ExportOptions.java +++ b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/exporter/options/ExportOptions.java @@ -19,6 +19,9 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.options; import java.io.Serializable; import java.util.Set; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.ObjectToString; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -28,12 +31,16 @@ public class ExportOptions implements Serializable private static final long serialVersionUID = 1L; + @JsonProperty final Set<ExportFormat> formats; + @JsonProperty final XlsTextFormat xlsTextFormat; + @JsonProperty final Boolean withReferredTypes; + @JsonProperty final Boolean withImportCompatibility; public ExportOptions(final Set<ExportFormat> formats, final XlsTextFormat xlsTextFormat, final Boolean withReferredTypes, @@ -45,21 +52,25 @@ public class ExportOptions implements Serializable this.withImportCompatibility = withImportCompatibility; } + @JsonIgnore public Set<ExportFormat> getFormats() { return formats; } + @JsonIgnore public XlsTextFormat getXlsTextFormat() { return xlsTextFormat; } + @JsonIgnore public Boolean isWithReferredTypes() { return withReferredTypes; } + @JsonIgnore public Boolean isWithImportCompatibility() { return withImportCompatibility; diff --git a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/ImportOperation.java b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/ImportOperation.java index fe58f3cca4d..24e853e60ae 100644 --- a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/ImportOperation.java +++ b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/ImportOperation.java @@ -19,6 +19,9 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.importer; import java.io.Serializable; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.ObjectToString; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.operation.IOperation; import ch.ethz.sis.openbis.generic.asapi.v3.dto.importer.data.IImportData; @@ -31,8 +34,10 @@ public class ImportOperation implements Serializable, IOperation private static final long serialVersionUID = 1L; + @JsonProperty private IImportData importData; + @JsonProperty private ImportOptions importOptions; @SuppressWarnings("unused") @@ -52,11 +57,13 @@ public class ImportOperation implements Serializable, IOperation return toString(); } + @JsonIgnore public IImportData getImportData() { return importData; } + @JsonIgnore public ImportOptions getImportOptions() { return importOptions; diff --git a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/data/ImportScript.java b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/data/ImportScript.java index f5e4878f69d..a8d051d76e5 100644 --- a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/data/ImportScript.java +++ b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/data/ImportScript.java @@ -18,6 +18,9 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.importer.data; import java.io.Serializable; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.ObjectToString; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -27,8 +30,10 @@ public class ImportScript implements Serializable private static final long serialVersionUID = 1L; + @JsonProperty private String name; + @JsonProperty private String source; @SuppressWarnings("unused") @@ -42,11 +47,13 @@ public class ImportScript implements Serializable this.source = source; } + @JsonIgnore public String getName() { return name; } + @JsonIgnore public String getSource() { return source; diff --git a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/data/UncompressedImportData.java b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/data/UncompressedImportData.java index 55f06e894ca..d2451161317 100644 --- a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/data/UncompressedImportData.java +++ b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/data/UncompressedImportData.java @@ -19,6 +19,9 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.importer.data; import java.io.Serializable; import java.util.Collection; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.ObjectToString; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -27,10 +30,13 @@ public class UncompressedImportData implements Serializable, IImportData { private static final long serialVersionUID = 1L; + @JsonProperty private ImportFormat format; + @JsonProperty private byte[] file; + @JsonProperty private Collection<ImportScript> scripts; @SuppressWarnings("unused") @@ -45,16 +51,19 @@ public class UncompressedImportData implements Serializable, IImportData this.scripts = scripts; } + @JsonIgnore public ImportFormat getFormat() { return format; } + @JsonIgnore public byte[] getFile() { return file; } + @JsonIgnore public Collection<ImportScript> getScripts() { return scripts; diff --git a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/data/ZipImportData.java b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/data/ZipImportData.java index 6af0370760f..9fab7fbeca4 100644 --- a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/data/ZipImportData.java +++ b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/data/ZipImportData.java @@ -18,6 +18,9 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.importer.data; import java.io.Serializable; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.ObjectToString; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -26,8 +29,10 @@ public class ZipImportData implements Serializable, IImportData { private static final long serialVersionUID = 1L; + @JsonProperty private ImportFormat format; + @JsonProperty private byte[] file; @SuppressWarnings("unused") @@ -41,11 +46,13 @@ public class ZipImportData implements Serializable, IImportData this.file = file; } + @JsonIgnore public ImportFormat getFormat() { return format; } + @JsonIgnore public byte[] getFile() { return file; diff --git a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/options/ImportOptions.java b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/options/ImportOptions.java index dec8080f3b1..b4cdf993740 100644 --- a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/options/ImportOptions.java +++ b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/importer/options/ImportOptions.java @@ -18,6 +18,9 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.importer.options; import java.io.Serializable; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.ObjectToString; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -27,6 +30,7 @@ public class ImportOptions implements Serializable private static final long serialVersionUID = 1L; + @JsonProperty private ImportMode mode; @SuppressWarnings("unused") @@ -39,6 +43,7 @@ public class ImportOptions implements Serializable this.mode = mode; } + @JsonIgnore public ImportMode getMode() { return mode; diff --git a/api-openbis-javascript/src/v3/as/dto/exporter/data/ExportablePermId.js b/api-openbis-javascript/src/v3/as/dto/exporter/data/ExportablePermId.js index a8f742d9a76..27444ce65a6 100644 --- a/api-openbis-javascript/src/v3/as/dto/exporter/data/ExportablePermId.js +++ b/api-openbis-javascript/src/v3/as/dto/exporter/data/ExportablePermId.js @@ -17,9 +17,7 @@ define(["stjs"], function (stjs) { var ExportablePermId = function(exportableKind, permId) { - exportableKind.constructor(); // Assert that the value is defined this.exportableKind = exportableKind; - permId.constructor(); // Assert that the value is defined this.permId = permId; } diff --git a/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-dto-roundtrip.js b/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-dto-roundtrip.js index baf16573439..0b05401ce27 100644 --- a/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-dto-roundtrip.js +++ b/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-dto-roundtrip.js @@ -43,13 +43,24 @@ define(['jquery', 'underscore', 'openbis', 'test/common'], function($, _, openbi actionFacade = facade; return _.chain( - c.getDtos() - ) + c.getDtos() + ) .map(function(proto) { - return new c.CustomASServiceExecutionOptions().withParameter("object", instantiate(proto)); + try { + return new c.CustomASServiceExecutionOptions() + .withParameter("object", instantiate(proto)); + } catch (error) { + c.fail(error.message); + c.finish(); + } }) .map(function(options) { - return facade.executeCustomASService(id, options); + try { + return facade.executeCustomASService(id, options); + } catch (error) { + c.fail(error.message); + c.finish(); + } }) .value(); } -- GitLab