List of usage examples for org.springframework.web.util UriComponentsBuilder toUriString
public String toUriString()
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(); } } }