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

com.versionone.apiclient.services.BuildResult Maven / Gradle / Ivy

Go to download

A library for custom Java development against the VersionOne Development Platform's REST API.

There is a newer version: 16.1.3
Show newest version
package com.versionone.apiclient.services;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map.Entry;


public class BuildResult {
    private final HashMap queryParameters = new LinkedHashMap();
    public final List pathParts = new ArrayList();

    public void addQueryParameter(String name, String value) {
    	queryParameters.put(name, value);
    }
    
    public int getQueryParameterCount() {
    	return queryParameters.size();
    }
    
    public String urlEncode(String valueString) {
    	try {
            valueString = URLEncoder.encode(valueString, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            valueString = valueString.replace("+", "%2B");
            valueString = valueString.replace(" ", "+");
            valueString = valueString.replace("&", "%26");
            valueString = valueString.replace("#", "%23");
        }
    	return valueString;
    }
    
    public String toUrl() {
        List encodedPathParts = new ArrayList();
        for (Iterator iterator = pathParts.iterator(); iterator.hasNext();) {
                String pathPart = iterator.next();
                encodedPathParts.add(urlEncode(pathPart));
        }
        String path = TextBuilder.join(encodedPathParts, "/");
        List queryParts = new ArrayList();
        for (Iterator> iterator = queryParameters.entrySet().iterator(); iterator.hasNext();) {
			Entry queryParameter = iterator.next();
			queryParts.add(String.format("%s=%s", queryParameter.getKey(), 
        								urlEncode(queryParameter.getValue())));
		}
        String querystring =  TextBuilder.join(queryParts, "&");
        String result = path.concat(querystring != null ? "?" + querystring : "");
        return result;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy