From a870ff11422bf8a8cd31451722cfbd545a73d659 Mon Sep 17 00:00:00 2001 From: Wayne Steel Date: Thu, 30 Mar 2017 11:04:54 +0100 Subject: [PATCH] fix - as described in issue 210, re-implemented the function to handle single parameter with empty string, also made the function easier to follow what was intended. --- .../rest/GeoServerRESTPublisher.java | 40 ++++++------------- 1 file changed, 12 insertions(+), 28 deletions(-) diff --git a/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java b/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java index c68c533..760f8ec 100644 --- a/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java +++ b/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java @@ -2911,37 +2911,21 @@ public class GeoServerRESTPublisher { */ private String appendParameters(NameValuePair... params) { StringBuilder sbUrl = new StringBuilder(); - // append parameters - if (params != null) { - final int paramsSize = params.length; - if (paramsSize > 0) { - int i = 0; - NameValuePair param = params[i]; - while (param != null && i++ < paramsSize) { - final String name = param.getName(); - final String value = param.getValue(); - // success - if (name != null && !name.isEmpty() && value != null && !value.isEmpty()) { - sbUrl.append(name).append("=").append(value); - // end cycle - param = null; + if (params != null && params.length > 0) { + boolean noLongerFirst = false; + for (NameValuePair param : params){ + final String name = param.getName(); + final String value = param.getValue(); + if (name != null && !name.isEmpty() && value != null && !value.isEmpty()) { + // valid parameter to pass + if(noLongerFirst){ + // add successive parameters (if any) + sbUrl.append("&").append(name).append("=").append(value); } else { - // next value - param = params[i]; - } - } - for (; i < paramsSize; i++) { - param = params[i]; - if (param != null) { - final String name = param.getName(); - final String value = param.getValue(); + //add the first parameter sbUrl.append(name).append("=").append(value); - if (name != null && !name.isEmpty() && value != null && !value.isEmpty()) { - sbUrl.append("&").append(name).append("=").append(value); - } - + noLongerFirst = true; } - } } }