From 712c0dd3eda345ccce302f09547fa59098e6ab2e Mon Sep 17 00:00:00 2001 From: alaskowski <alaskowski@ethz.ch> Date: Mon, 7 Aug 2023 13:32:13 +0200 Subject: [PATCH] SSDM-55: fixed NewProperty data deserialization --- .../generic/shared/dto/NewProperty.java | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/NewProperty.java b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/NewProperty.java index eb47482e852..6f66a297de1 100644 --- a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/NewProperty.java +++ b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/NewProperty.java @@ -58,7 +58,7 @@ public class NewProperty implements Serializable public String getValue() { - return (String) value; + return getPropertyAsString(value); } @BeanProperty(label = "value", optional = false) @@ -98,4 +98,25 @@ public class NewProperty implements Serializable return false; } + private String getPropertyAsString(Serializable propertyValue) { + if(propertyValue == null) { + return null; + } else { + if(propertyValue.getClass().isArray()) { + Serializable[] values = (Serializable[]) propertyValue; + StringBuilder builder = new StringBuilder("["); + for(Serializable value : values) { + if(builder.length() > 1) { + builder.append(", "); + } + builder.append(value); + } + builder.append("]"); + return builder.toString(); + } else { + return (String) propertyValue; + } + } + } + } -- GitLab