All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.rootservices.otter.QueryStringToMap Maven / Gradle / Ivy

package org.rootservices.otter;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.util.*;


public class QueryStringToMap {
    private static final String DELIMITER = "&";
    private static final String ASSIGNMENT = "=";

    public Map> run(Optional queryString) throws UnsupportedEncodingException {
        Map> parameters = new HashMap>();
        if ( queryString.isPresent() && !queryString.get().isEmpty()) {
            String decoded = URLDecoder.decode(queryString.get(), StandardCharsets.UTF_8.name());
            String[] parts = decoded.split(DELIMITER);

            for (String part : parts) {
                String[] nameAndValue = part.split(ASSIGNMENT);
                List items;
                if (parameters.containsKey(nameAndValue[0])) {
                    items = parameters.get(nameAndValue[0]);
                } else {
                    items = new ArrayList<>();

                }
                if (nameAndValue.length == 2) {
                    items.add(nameAndValue[1]);
                }
                parameters.put(nameAndValue[0], items);
            }
        }
        return parameters;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy