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; }