Example usage for org.springframework.web.util UriComponentsBuilder toUriString

List of usage examples for org.springframework.web.util UriComponentsBuilder toUriString

Introduction

In this page you can find the example usage for org.springframework.web.util UriComponentsBuilder toUriString.

Prototype

public String toUriString() 

Source Link

Document

Build a URI String.

Usage

From source file:net.longfalcon.web.ApiController.java

@RequestMapping(value = "/api", produces = "text/xml")
@ResponseBody/*from  ww w. j  a  v  a2s.c  o m*/
public ApiResponse xmlApi(@RequestParam(value = "t", required = false) String type,
        @RequestParam(value = "apikey", required = false) String apiKey,
        @RequestParam(value = "id", required = false) String guid,
        @RequestParam(value = "extended", required = false) String extended,
        @RequestParam(value = "del", required = false) String del,
        @RequestParam(value = "q", required = false) String query,
        @RequestParam(value = "maxage", required = false) String maxAge,
        @RequestParam(value = "limit", required = false) String limit,
        @RequestParam(value = "offset", required = false) String offset,
        @RequestParam(value = "imdbid", required = false) String imdbId,
        @RequestParam(value = "rid", required = false) String rid,
        @RequestParam(value = "season", required = false) String season,
        @RequestParam(value = "ep", required = false) String ep,
        @RequestParam(value = "email", required = false) String email,
        @RequestParam(value = "cat", required = false) String categoryIdsString,
        UriComponentsBuilder uriComponentsBuilder) {
    String function = TYPE_SEARCH;
    if (ValidatorUtil.isNotNull(type)) {
        if (type.equals("details") || type.equals(TYPE_DETAILS)) {
            function = TYPE_DETAILS;
        } else if (type.equals("get") || type.equals(TYPE_GET)) {
            function = TYPE_GET;
        } else if (type.equals("search") || type.equals(TYPE_SEARCH)) {
            function = TYPE_SEARCH;
        } else if (type.equals("caps") || type.equals(TYPE_CAPS)) {
            function = TYPE_CAPS;
        } else if (type.equals("tvsearch") || type.equals(TYPE_TVSEARCH)) {
            function = TYPE_TVSEARCH;
        } else if (type.equals("movie") || type.equals(TYPE_MOVIE)) {
            function = TYPE_MOVIE;
        } else if (type.equals("register") || type.equals(TYPE_REGISTER)) {
            function = TYPE_REGISTER;
        } else {
            return generateError(202);
        }
    } else {
        return generateError(200);
    }

    String serverBaseUrl = uriComponentsBuilder.toUriString();

    if (function.equals(TYPE_CAPS)) {
        return getCaps(serverBaseUrl);
    }

    if (function.equals(TYPE_REGISTER)) {
        return getRegister(email);

    }

    if (ValidatorUtil.isNull(apiKey)) {
        return generateError(200);
    }

    User user = userDAO.findByApiKey(apiKey);
    if (user == null) {
        return generateError(100);
    }

    if (function.equals(TYPE_SEARCH)) {
        if (query != null && query.equals("")) {
            return generateError(200);
        }
        return getSearchResponse(user, serverBaseUrl, extended, query, maxAge, limit, offset,
                categoryIdsString);
    }

    if (function.equals(TYPE_TVSEARCH)) {
        if (query != null && query.equals("")) {
            return generateError(200);
        }
        return getTvSearchResponse(user, serverBaseUrl, extended, query, maxAge, limit, offset,
                categoryIdsString, rid, season, ep);
    }

    if (function.equals(TYPE_MOVIE)) {
        if (query != null && query.equals("")) {
            return generateError(200);
        }
        return getMovieSearchResponse(user, serverBaseUrl, extended, query, maxAge, limit, offset,
                categoryIdsString, imdbId);
    }

    if (function.equals(TYPE_DETAILS)) {
        return getReleaseDetailsResponse(user, serverBaseUrl, extended, guid);
    }

    return generateError(202);
}

From source file:org.venice.piazza.servicecontroller.messaging.ServiceMessageWorker.java

/**
 * This method is for demonstrating ingest of raster data This will be
 * refactored once the API changes have been communicated to other team
 * members/*from  www  .  java 2s  .c o m*/
 */
public void handleRasterType(ExecuteServiceJob executeJob, Job job, Producer<String, String> producer) {
    RestTemplate restTemplate = new RestTemplate();
    ExecuteServiceData data = executeJob.data;
    // Get the id from the data
    String serviceId = data.getServiceId();
    Service sMetadata = accessor.getServiceById(serviceId);
    // Default request mimeType application/json
    String requestMimeType = "application/json";
    new LinkedMultiValueMap<String, String>();

    UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(sMetadata.getUrl());
    Map<String, DataType> postObjects = new HashMap<String, DataType>();
    Iterator<Entry<String, DataType>> it = data.getDataInputs().entrySet().iterator();
    String postString = "";

    while (it.hasNext()) {
        Entry<String, DataType> entry = it.next();
        String inputName = entry.getKey();

        if (entry.getValue() instanceof URLParameterDataType) {
            String paramValue = ((TextDataType) entry.getValue()).getContent();
            if (inputName.length() == 0) {
                builder = UriComponentsBuilder.fromHttpUrl(sMetadata.getUrl() + "?" + paramValue);
            } else {
                builder.queryParam(inputName, paramValue);
            }
        } else if (entry.getValue() instanceof BodyDataType) {
            BodyDataType bdt = (BodyDataType) entry.getValue();
            postString = bdt.getContent();
            requestMimeType = bdt.getMimeType();
        }
        // Default behavior for other inputs, put them in list of objects
        // which are transformed into JSON consistent with default
        // requestMimeType
        else {
            postObjects.put(inputName, entry.getValue());
        }
    }
    if (postString.length() > 0 && postObjects.size() > 0) {
        return;
    } else if (postObjects.size() > 0) {
        ObjectMapper mapper = makeNewObjectMapper();
        try {
            postString = mapper.writeValueAsString(postObjects);
        } catch (JsonProcessingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    URI url = URI.create(builder.toUriString());
    HttpHeaders headers = new HttpHeaders();

    // Set the mimeType of the request
    MediaType mediaType = createMediaType(requestMimeType);
    headers.setContentType(mediaType);
    // Set the mimeType of the request
    // headers.add("Content-type",
    // sMetadata.getOutputs().get(0).getDataType().getMimeType());

    if (postString.length() > 0) {

        coreLogger.log("The postString is " + postString, PiazzaLogger.DEBUG);

        HttpHeaders theHeaders = new HttpHeaders();
        // headers.add("Authorization", "Basic " + credentials);
        theHeaders.setContentType(MediaType.APPLICATION_JSON);

        // Create the Request template and execute
        HttpEntity<String> request = new HttpEntity<String>(postString, theHeaders);

        try {
            coreLogger.log("About to call special service " + url, PiazzaLogger.DEBUG);

            ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, request,
                    String.class);
            coreLogger.log("The Response is " + response.getBody(), PiazzaLogger.DEBUG);

            String serviceControlString = response.getBody();
            coreLogger.log("Service Control String " + serviceControlString, PiazzaLogger.DEBUG);

            ObjectMapper tempMapper = makeNewObjectMapper();
            DataResource dataResource = tempMapper.readValue(serviceControlString, DataResource.class);
            coreLogger.log("dataResource type is " + dataResource.getDataType().getClass().getSimpleName(),
                    PiazzaLogger.DEBUG);

            dataResource.dataId = uuidFactory.getUUID();
            coreLogger.log("dataId " + dataResource.dataId, PiazzaLogger.DEBUG);

            PiazzaJobRequest pjr = new PiazzaJobRequest();
            pjr.createdBy = "pz-sc-ingest-raster-test";

            IngestJob ingestJob = new IngestJob();
            ingestJob.data = dataResource;
            ingestJob.host = true;
            pjr.jobType = ingestJob;

            ProducerRecord<String, String> newProdRecord = JobMessageFactory.getRequestJobMessage(pjr,
                    uuidFactory.getUUID(), SPACE);
            producer.send(newProdRecord);

            coreLogger.log("newProdRecord sent " + newProdRecord.toString(), PiazzaLogger.DEBUG);

            StatusUpdate statusUpdate = new StatusUpdate(StatusUpdate.STATUS_SUCCESS);

            // Create a text result and update status
            DataResult textResult = new DataResult(dataResource.dataId);
            statusUpdate.setResult(textResult);
            ProducerRecord<String, String> prodRecord = JobMessageFactory.getUpdateStatusMessage(job.getJobId(),
                    statusUpdate, SPACE);

            producer.send(prodRecord);
            coreLogger.log("prodRecord sent " + prodRecord.toString(), PiazzaLogger.DEBUG);

        } catch (JsonProcessingException jpe) {
            jpe.printStackTrace();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

}