From d4d7da6c67aebef811d2d04e298d5d39bc3e2d3e Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Mon, 20 Feb 2017 16:49:40 +0000 Subject: [PATCH] ref 7167:DataMiner interface should report encoded parameters in the URL https://support.d4science.org/issues/7167 git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/data-miner-manager@142799 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../server/dmservice/SClient4WPS.java | 57 ++++++++++++++----- 1 file changed, 42 insertions(+), 15 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/server/dmservice/SClient4WPS.java b/src/main/java/org/gcube/portlets/user/dataminermanager/server/dmservice/SClient4WPS.java index a0c17c2..e0bd80e 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/server/dmservice/SClient4WPS.java +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/server/dmservice/SClient4WPS.java @@ -733,8 +733,8 @@ public class SClient4WPS extends SClient { throw new Exception("Invalid processLocation: " + processUrl); } - String equivalentRequest = extractEquivalentRequestForComputation(operator, - equivalentRequestMap); + String equivalentRequest = extractEquivalentRequestForComputation( + operator, equivalentRequestMap); ComputationId computationId = new ComputationId(id, processUrl, operator.getId(), operator.getName(), equivalentRequest); @@ -753,18 +753,31 @@ public class SClient4WPS extends SClient { + "&DataInputs="; for (String key : equivalentRequestMap.keySet()) { - String value=""; + String keyEncoded = ""; try { - value = URLEncoder.encode(equivalentRequestMap.get(key), + keyEncoded = URLEncoder.encode(key, "UTF-8"); + } catch (UnsupportedEncodingException e) { + logger.error( + "Error in equivalent request creation: Unsupported Encoding for parameter=" + + key, e); + break; + } + + String valueEncoded = ""; + try { + valueEncoded = URLEncoder.encode(equivalentRequestMap.get(key), "UTF-8"); } catch (UnsupportedEncodingException e) { - logger.error("Error in equivalent request creation: Unsupported Encoding for key=" - + key,e); + logger.error( + "Error in equivalent request creation: Unsupported Encoding for value=" + + equivalentRequestMap.get(key) + + " of parameter=" + key, e); + break; } - - equivalentRequest = equivalentRequest + key + "=" - + value + ";"; + equivalentRequest = equivalentRequest + keyEncoded + "=" + + valueEncoded + ";"; } + return equivalentRequest; } @@ -1288,7 +1301,6 @@ public class SClient4WPS extends SClient { throw new Exception("Invalid processLocation: " + processUrl); } - String equivalentRequest = extractEquivalentRequestForResubmit( computationProperties, equivalentRequestMap); @@ -1311,16 +1323,31 @@ public class SClient4WPS extends SClient { + computationProperties.get("operator_id") + "&DataInputs="; for (String key : equivalentRequestMap.keySet()) { - String value=""; + String keyEncoded = ""; try { - value = URLEncoder.encode(equivalentRequestMap.get(key), + keyEncoded = URLEncoder.encode(key, "UTF-8"); + } catch (UnsupportedEncodingException e) { + logger.error( + "Error in equivalent request creation: Unsupported Encoding for parameter=" + + key, e); + break; + } + + String valueEncoded = ""; + try { + valueEncoded = URLEncoder.encode(equivalentRequestMap.get(key), "UTF-8"); } catch (UnsupportedEncodingException e) { - logger.error("Error in equivalent request creation: Unsupported Encoding for key=" - + key,e); + logger.error( + "Error in equivalent request creation: Unsupported Encoding for value=" + + equivalentRequestMap.get(key) + + " of parameter=" + key, e); + break; } - equivalentRequest = equivalentRequest + key + "=" + value + ";"; + equivalentRequest = equivalentRequest + keyEncoded + "=" + + valueEncoded + ";"; } + return equivalentRequest; }