From 18f4cc58dfb028b53d09da08babcafc5f4bdcd72 Mon Sep 17 00:00:00 2001 From: gmantele <gmantele@ari.uni-heidelberg.de> Date: Fri, 12 Dec 2014 20:13:33 +0100 Subject: [PATCH] [UWS] Stringify an array parameter (e.g. UPLOAD which is an array of DALIUpload objects in TAP) --- src/uws/job/serializer/UWSSerializer.java | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/uws/job/serializer/UWSSerializer.java b/src/uws/job/serializer/UWSSerializer.java index 663d086..aa06abb 100644 --- a/src/uws/job/serializer/UWSSerializer.java +++ b/src/uws/job/serializer/UWSSerializer.java @@ -42,7 +42,7 @@ import uws.service.UWSUrl; * </ul> * * @author Grégory Mantelet (CDS;ARI) - * @version 4.1 (09/2014) + * @version 4.1 (12/2014) * * @see XMLSerializer * @see JSONSerializer @@ -114,9 +114,22 @@ public abstract class UWSSerializer implements Serializable { // PARAMETER: String secondAttribute = attributes[1]; Object value = job.getAdditionalParameterValue(secondAttribute); - if (value != null) - return value.toString(); - else + if (value != null){ + // CASE: array value + if (value.getClass().isArray()){ + Object[] items = (Object[])value; + StringBuffer arrayAsString = new StringBuffer(); + for(Object item : items){ + if (arrayAsString.length() > 0) + arrayAsString.append(' ').append(';').append(' '); + arrayAsString.append(item.toString()); + } + return arrayAsString.toString(); + } + // DEFAULT: + else + return value.toString(); + }else throw new UWSException(UWSException.NOT_FOUND, "No parameter named \"" + secondAttribute + "\" in the job \"" + job.getJobId() + "\"!"); } // RESULTS LIST: -- GitLab