Example usage for org.apache.http.client.utils URIBuilder setParameter

List of usage examples for org.apache.http.client.utils URIBuilder setParameter

Introduction

In this page you can find the example usage for org.apache.http.client.utils URIBuilder setParameter.

Prototype

public URIBuilder setParameter(final String param, final String value) 

Source Link

Document

Sets parameter of URI query overriding existing value if set.

Usage

From source file:org.nuxeo.ecm.core.storage.sql.CloudFrontBinaryManager.java

@Override
protected URI getRemoteUri(String digest, ManagedBlob blob, HttpServletRequest servletRequest)
        throws IOException {
    try {/* w  w  w . j av  a2s  .  c om*/
        URIBuilder uriBuilder = new URIBuilder(buildResourcePath(bucketNamePrefix + digest));
        if (blob != null) {
            uriBuilder.addParameter("response-content-type", getContentTypeHeader(blob));
            uriBuilder.addParameter("response-content-disposition",
                    getContentDispositionHeader(blob, servletRequest));
        }

        if (isBooleanPropertyTrue(ENABLE_CF_ENCODING_FIX)) {
            String trimmedChars = " ";
            uriBuilder.getQueryParams().stream().filter(s -> s.getValue().contains(trimmedChars))
                    .forEach(s -> uriBuilder.setParameter(s.getName(), s.getValue().replace(trimmedChars, "")));
        }

        URI uri = uriBuilder.build();
        if (privKey == null) {
            return uri;
        }

        Date expiration = new Date();
        expiration.setTime(expiration.getTime() + directDownloadExpire * 1000);

        String signedURL = CloudFrontUrlSigner.getSignedURLWithCannedPolicy(uri.toString(), privKeyId, privKey,
                expiration);
        return new URI(signedURL);
    } catch (URISyntaxException e) {
        throw new IOException(e);
    }
}

From source file:com.rackspacecloud.blueflood.http.HttpIntegrationTestBase.java

public URI getQueryURI(String queryPath) throws URISyntaxException {
    // build and return a query path with query port and parameters set from the parameters
    URIBuilder builder = new URIBuilder().setScheme("http").setHost("127.0.0.1").setPort(httpPortQuery)
            .setPath(queryPath);/*from   w  w  w .j a  v a  2s  .c om*/

    Set<String> parameters = parameterMap.keySet();
    Iterator<String> setIterator = parameters.iterator();
    while (setIterator.hasNext()) {
        String paramName = setIterator.next();
        builder.setParameter(paramName, parameterMap.get(paramName));
    }
    return builder.build();
}

From source file:com.apifest.oauth20.tests.OAuth20BasicTest.java

public String obtainAuthCode(String clientId, String uri, String responseType, String scope) {
    URIBuilder builder = null;
    String authCode = null;/*from  www  .  j a  v a2 s .com*/
    try {
        builder = new URIBuilder(baseOAuth20Uri + AUTHORIZE_ENDPOINT);
        builder.setParameter(CLIENT_ID_PARAM, clientId);
        builder.setParameter(REDIRECT_URI_PARAM, uri);
        builder.setParameter(RESPONSE_TYPE_PARAM, responseType);
        builder.setParameter(SCOPE_PARAM, scope);
        builder.setParameter("user_id", "12345");

        GetMethod get = new GetMethod(builder.build().toString());
        String response = readResponse(get);
        authCode = extractAuthCode(response);
    } catch (IOException e) {
        log.error("cannot obtain auth code", e);
    } catch (URISyntaxException e) {
        log.error("cannot obtain auth code", e);
    }
    return authCode;
}

From source file:org.finra.dm.tools.downloader.DownloaderWebClient.java

/**
 * Retrieves business object data from the Data Management Service.
 *
 * @param manifest the downloader input manifest file information
 *
 * @return the business object data information
 * @throws JAXBException if a JAXB error was encountered.
 * @throws IOException if an I/O error was encountered.
 * @throws URISyntaxException if a URI syntax error was encountered.
 *//* w w w  . j a va 2  s. c  o m*/
public BusinessObjectData getBusinessObjectData(DownloaderInputManifestDto manifest)
        throws IOException, JAXBException, URISyntaxException {
    LOGGER.info("Retrieving business object data information from the Data Management Service ...");

    StringBuilder uriPathBuilder = new StringBuilder(DM_APP_REST_URI_PREFIX);
    uriPathBuilder.append("/businessObjectData");
    if (manifest.getNamespace() != null) {
        uriPathBuilder.append("/namespaces/").append(manifest.getNamespace());
    }
    uriPathBuilder.append("/businessObjectDefinitionNames/").append(manifest.getBusinessObjectDefinitionName());
    uriPathBuilder.append("/businessObjectFormatUsages/").append(manifest.getBusinessObjectFormatUsage());
    uriPathBuilder.append("/businessObjectFormatFileTypes/").append(manifest.getBusinessObjectFormatFileType());

    URIBuilder uriBuilder = new URIBuilder().setScheme(getUriScheme())
            .setHost(dmRegServerAccessParamsDto.getDmRegServerHost())
            .setPort(dmRegServerAccessParamsDto.getDmRegServerPort()).setPath(uriPathBuilder.toString())
            .setParameter("partitionKey", manifest.getPartitionKey())
            .setParameter("partitionValue", manifest.getPartitionValue())
            .setParameter("businessObjectFormatVersion", manifest.getBusinessObjectFormatVersion())
            .setParameter("businessObjectDataVersion", manifest.getBusinessObjectDataVersion());

    if (manifest.getSubPartitionValues() != null) {
        uriBuilder.setParameter("subPartitionValues",
                dmStringHelper.join(manifest.getSubPartitionValues(), "|", "\\"));
    }

    URI uri = uriBuilder.build();

    CloseableHttpClient client = HttpClientBuilder.create().build();
    HttpGet request = new HttpGet(uri);
    request.addHeader("Accepts", "application/xml");

    // If SSL is enabled, set the client authentication header.
    if (dmRegServerAccessParamsDto.getUseSsl()) {
        request.addHeader(getAuthorizationHeader());
    }

    LOGGER.info(String.format("    HTTP GET URI: %s", request.getURI().toString()));
    LOGGER.info(String.format("    HTTP GET Headers: %s", Arrays.toString(request.getAllHeaders())));

    BusinessObjectData businessObjectData = getBusinessObjectData(httpClientOperations.execute(client, request),
            "retrieve business object data from the Data Management Service");

    LOGGER.info("Successfully retrieved business object data from the Data Management Service.");

    return businessObjectData;
}

From source file:de.geeksfactory.opacclient.apis.WebOpacAt.java

protected String buildSearchUrl(final List<SearchQuery> query, final int page)
        throws IOException, JSONException, URISyntaxException {
    final URIBuilder builder = new URIBuilder(getApiUrl());
    final List<SearchQuery> nonEmptyQuery = new ArrayList<>();
    for (SearchQuery q : query) {
        if (q.getValue().isEmpty()) {
        } else if (q.getKey().startsWith("sort")) {
            builder.addParameter(q.getKey(), q.getValue());
        } else {/*from  w  ww .j av a 2s.c  o  m*/
            nonEmptyQuery.add(q);
        }
    }
    if (nonEmptyQuery.isEmpty()) {
        builder.setParameter("mode", "n");
    } else if (nonEmptyQuery.size() == 1 && "q".equals(nonEmptyQuery.get(0).getSearchField().getId())) {
        builder.setParameter("mode", "s");
        builder.setParameter(nonEmptyQuery.get(0).getKey(), nonEmptyQuery.get(0).getValue());
    } else {
        int i = 0;
        for (SearchQuery q : nonEmptyQuery) {
            // crit_, value_, op_ are 0-indexed
            String key = q.getKey();
            String value = q.getValue();
            if ("q".equals(key)) {
                // fall back to title since free search cannot be combined with other criteria
                key = "ht";
                value = "*" + value + "*";
            }
            builder.setParameter("crit_" + i, key);
            builder.setParameter("value_" + i, value);
            if (i > 0) {
                builder.setParameter("op_" + i, "AND");
            }
            i++;
        }
        builder.setParameter("mode", "a");
        builder.setParameter("critCount", String.valueOf(i)); // 1-index
    }
    builder.setParameter("page", String.valueOf(page)); // 1-indexed
    builder.setParameter("page_size", "30");
    return builder.build().toString();
}

From source file:org.finra.herd.tools.downloader.DownloaderWebClient.java

/**
 * Retrieves business object data from the herd registration server.
 *
 * @param manifest the downloader input manifest file information
 *
 * @return the business object data information
 * @throws JAXBException if a JAXB error was encountered.
 * @throws IOException if an I/O error was encountered.
 * @throws URISyntaxException if a URI syntax error was encountered.
 *//*from w w w. j  a va 2  s . c o m*/
public BusinessObjectData getBusinessObjectData(DownloaderInputManifestDto manifest)
        throws IOException, JAXBException, URISyntaxException {
    LOGGER.info("Retrieving business object data information from the registration server...");

    StringBuilder uriPathBuilder = new StringBuilder(HERD_APP_REST_URI_PREFIX);
    uriPathBuilder.append("/businessObjectData");
    if (manifest.getNamespace() != null) {
        uriPathBuilder.append("/namespaces/").append(manifest.getNamespace());
    }
    uriPathBuilder.append("/businessObjectDefinitionNames/").append(manifest.getBusinessObjectDefinitionName());
    uriPathBuilder.append("/businessObjectFormatUsages/").append(manifest.getBusinessObjectFormatUsage());
    uriPathBuilder.append("/businessObjectFormatFileTypes/").append(manifest.getBusinessObjectFormatFileType());

    URIBuilder uriBuilder = new URIBuilder().setScheme(getUriScheme())
            .setHost(regServerAccessParamsDto.getRegServerHost())
            .setPort(regServerAccessParamsDto.getRegServerPort()).setPath(uriPathBuilder.toString())
            .setParameter("partitionKey", manifest.getPartitionKey())
            .setParameter("partitionValue", manifest.getPartitionValue())
            .setParameter("businessObjectFormatVersion", manifest.getBusinessObjectFormatVersion())
            .setParameter("businessObjectDataVersion", manifest.getBusinessObjectDataVersion());

    if (manifest.getSubPartitionValues() != null) {
        uriBuilder.setParameter("subPartitionValues",
                herdStringHelper.join(manifest.getSubPartitionValues(), "|", "\\"));
    }

    URI uri = uriBuilder.build();

    CloseableHttpClient client = httpClientOperations.createHttpClient();
    HttpGet request = new HttpGet(uri);
    request.addHeader("Accepts", "application/xml");

    // If SSL is enabled, set the client authentication header.
    if (regServerAccessParamsDto.isUseSsl()) {
        request.addHeader(getAuthorizationHeader());
    }

    LOGGER.info(String.format("    HTTP GET URI: %s", request.getURI().toString()));
    LOGGER.info(String.format("    HTTP GET Headers: %s", Arrays.toString(request.getAllHeaders())));

    BusinessObjectData businessObjectData = getBusinessObjectData(httpClientOperations.execute(client, request),
            "retrieve business object data from the registration server");

    LOGGER.info("Successfully retrieved business object data from the registration server.");

    return businessObjectData;
}

From source file:org.wikidata.wdtk.wikibaseapi.WikibaseDataFetcher.java

/**
 * Sets the value for the API's "props" parameter based on the current
 * settings./* w ww  .jav a 2s . c om*/
 *
 * @param uriBuilder
 *            the URI builder to set the parameter in
 */
private void setRequestProps(URIBuilder uriBuilder) {
    StringBuilder builder = new StringBuilder();
    builder.append("datatype");
    if (!this.filter.excludeAllLanguages()) {
        builder.append("|labels|aliases|descriptions");
    }
    if (!this.filter.excludeAllProperties()) {
        builder.append("|claims");
    }
    if (!this.filter.excludeAllSiteLinks()) {
        builder.append("|sitelinks");
    }

    uriBuilder.setParameter("props", builder.toString());
}

From source file:org.openrdf.http.client.SesameSession.java

public void getStatements(Resource subj, IRI pred, Value obj, boolean includeInferred, RDFHandler handler,
        Resource... contexts) throws IOException, RDFHandlerException, RepositoryException,
        UnauthorizedException, QueryInterruptedException {
    checkRepositoryURL();/*from   w ww .j  a v a  2s . c o  m*/

    try {
        final boolean useTransaction = transactionURL != null;

        String baseLocation = useTransaction ? transactionURL : Protocol.getStatementsLocation(getQueryURL());
        URIBuilder url = new URIBuilder(baseLocation);

        if (subj != null) {
            url.setParameter(Protocol.SUBJECT_PARAM_NAME, Protocol.encodeValue(subj));
        }
        if (pred != null) {
            url.setParameter(Protocol.PREDICATE_PARAM_NAME, Protocol.encodeValue(pred));
        }
        if (obj != null) {
            url.setParameter(Protocol.OBJECT_PARAM_NAME, Protocol.encodeValue(obj));
        }
        for (String encodedContext : Protocol.encodeContexts(contexts)) {
            url.addParameter(Protocol.CONTEXT_PARAM_NAME, encodedContext);
        }
        url.setParameter(Protocol.INCLUDE_INFERRED_PARAM_NAME, Boolean.toString(includeInferred));
        if (useTransaction) {
            url.setParameter(Protocol.ACTION_PARAM_NAME, Action.GET.toString());
        }

        HttpUriRequest method = useTransaction ? new HttpPost(url.build()) : new HttpGet(url.build());

        try {
            getRDF(method, handler, true);
        } catch (MalformedQueryException e) {
            logger.warn("Server reported unexpected malfored query error", e);
            throw new RepositoryException(e.getMessage(), e);
        }
    } catch (URISyntaxException e) {
        throw new AssertionError(e);
    }
}

From source file:de.geeksfactory.opacclient.apis.Littera.java

protected String buildSearchUrl(final List<SearchQuery> query, final int page)
        throws IOException, JSONException, URISyntaxException {
    final URIBuilder builder = new URIBuilder(getApiUrl());
    final List<SearchQuery> nonEmptyQuery = new ArrayList<>();
    for (SearchQuery q : query) {
        if (q.getValue().equals(""))
            continue;
        if (q.getKey().startsWith("sort")) {
            builder.addParameter(q.getKey(), q.getValue());
        } else {//from  w ww . j a v a2 s. co m
            nonEmptyQuery.add(q);
        }
    }
    if (nonEmptyQuery.isEmpty()) {
        builder.setParameter("mode", "n");
    } else if (nonEmptyQuery.size() == 1 && "q".equals(nonEmptyQuery.get(0).getSearchField().getId())) {
        builder.setParameter("mode", "s");
        builder.setParameter(nonEmptyQuery.get(0).getKey(), nonEmptyQuery.get(0).getValue());
    } else {
        int i = 0;
        for (SearchQuery q : nonEmptyQuery) {
            // crit_, value_, op_ are 0-indexed
            String key = q.getKey();
            String value = q.getValue();
            if ("q".equals(key)) {
                // fall back to title since free search cannot be combined with other criteria
                key = "ht";
                value = "*" + value + "*";
            }
            builder.setParameter("crit_" + i, key);
            builder.setParameter("value_" + i, value);
            if (i > 0) {
                builder.setParameter("op_" + i, "AND");
            }
            i++;
        }
        builder.setParameter("mode", "a");
        builder.setParameter("critCount", String.valueOf(i)); // 1-index
    }
    builder.setParameter("page", String.valueOf(page)); // 1-indexed
    builder.setParameter("page_size", "30");
    return builder.build().toString();
}