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&eacute;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