Jersey 2: Replace WebResource.queryParams()

There is no equivalent to the method queryParams() in WebTarget, but there is
the method queryParam() which adds a single query parameter.
The solution is to add parameters one at a time.

Reference: https://jakartaee.github.io/rest/apidocs/2.1.6/javax/ws/rs/client/WebTarget.html#queryParam(java.lang.String,java.lang.Object...)
diff --git a/core/src/main/java/de/ids_mannheim/korap/web/ClientsHandler.java b/core/src/main/java/de/ids_mannheim/korap/web/ClientsHandler.java
index 85f6f5f..7ff806d 100644
--- a/core/src/main/java/de/ids_mannheim/korap/web/ClientsHandler.java
+++ b/core/src/main/java/de/ids_mannheim/korap/web/ClientsHandler.java
@@ -1,7 +1,6 @@
 package de.ids_mannheim.korap.web;
 
 import com.sun.jersey.api.client.UniformInterfaceException;
-import com.sun.jersey.core.util.MultivaluedMapImpl;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.exceptions.StatusCodes;
 
@@ -10,6 +9,8 @@
 import javax.ws.rs.client.WebTarget;
 import javax.ws.rs.core.MultivaluedMap;
 import java.net.URI;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @author hanl
@@ -29,10 +30,8 @@
 
     public String getResponse (String path, String key, Object value)
             throws KustvaktException {
-        MultivaluedMap map = new MultivaluedMapImpl();
-        map.add(key, value);
         try {
-            return service.path(path).queryParams(map).get(String.class);
+            return service.path(path).queryParam(key, value).get(String.class);
         }
         catch (UniformInterfaceException e) {
             throw new KustvaktException(StatusCodes.REQUEST_INVALID);
@@ -40,13 +39,16 @@
     }
 
 
-    public String getResponse (MultivaluedMap map, String ... paths)
+    public String getResponse (MultivaluedMap<String, String> map, String ... paths)
             throws KustvaktException {
         try {
             WebTarget resource = service;
             for (String p : paths)
                 resource = resource.path(p);
-            resource = resource.queryParams(map);
+            for (Map.Entry<String, List<String>> e : map.entrySet()) {
+                for (String value : e.getValue())
+                    resource = resource.queryParam(e.getKey(), value);
+            }
             return resource.get(String.class);
         }
         catch (UniformInterfaceException e) {
diff --git a/core/src/main/java/de/ids_mannheim/korap/web/filter/PiwikFilter.java b/core/src/main/java/de/ids_mannheim/korap/web/filter/PiwikFilter.java
index 2a7e1db..939cc84 100644
--- a/core/src/main/java/de/ids_mannheim/korap/web/filter/PiwikFilter.java
+++ b/core/src/main/java/de/ids_mannheim/korap/web/filter/PiwikFilter.java
@@ -8,7 +8,6 @@
 import java.util.Map;
 import java.util.Random;
 
-import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.UriBuilder;
 import javax.ws.rs.ext.Provider;
 
@@ -17,7 +16,6 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import com.sun.jersey.core.util.MultivaluedMapImpl;
 import com.sun.jersey.spi.container.ContainerRequest;
 import com.sun.jersey.spi.container.ContainerRequestFilter;
 import com.sun.jersey.spi.container.ContainerResponseFilter;
@@ -72,16 +70,6 @@
 
     private void send (ContainerRequest request) {
         Random random = new SecureRandom();
-        MultivaluedMap<String, String> params = new MultivaluedMapImpl();
-        params.add("idsite", "2");
-        params.add("rec", "1");
-        if (!customVars.isEmpty())
-            params.add("_cvar", translateCustomData());
-        params.add("cip", request.getHeaderValue("Host"));
-        params.add("cookie", "false");
-        params.add("r", String.valueOf(random.nextDouble()));
-        params.add("action_name", request.getRequestUri().toASCIIString());
-
         Locale l = null;
         if (request.getAcceptableLanguages() != null)
             l = request.getAcceptableLanguages().get(0);
@@ -96,7 +84,7 @@
                     .queryParam("r", String.valueOf(random.nextDouble()))
                     .queryParam("action_name",
                             request.getRequestUri().toASCIIString())
-                    .queryParams(params).accept("text/html")
+                    .accept("text/html")
                     .header("Host", request.getHeaderValue("Host"))
                     .header("User-Agent", request.getHeaderValue("User-Agent"))
                     .acceptLanguage(l).method("GET");