List of usage examples for org.springframework.web.util UriComponentsBuilder build
public UriComponents build()
From source file:org.starfishrespect.myconsumption.android.ui.AddSensorActivity.java
private boolean edit() { ObjectMapper mapper = new ObjectMapper(); RestTemplate template = new RestTemplate(); HttpHeaders httpHeaders = CryptoUtils.createHeadersCurrentUser(); ResponseEntity<String> responseEnt; template.getMessageConverters().add(new FormHttpMessageConverter()); template.getMessageConverters().add(new StringHttpMessageConverter()); try {//from w w w. java2 s .c om UriComponentsBuilder builder = UriComponentsBuilder .fromHttpUrl(SingleInstance.getServerUrl() + "sensors/" + editSensor.getSensorId()) .queryParam("name", editTextSensorName.getText().toString()) .queryParam("type", selectedSensorType) .queryParam("settings", mapper.writeValueAsString(sensorView.getSensorSettings())); responseEnt = template.exchange(builder.build().encode().toUri(), HttpMethod.POST, new HttpEntity<>(httpHeaders), String.class); String result = responseEnt.getBody(); Log.d(TAG, result); SimpleResponseDTO response = mapper.readValue(result, SimpleResponseDTO.class); if (response.getStatus() == 0) { return true; } } catch (HttpClientErrorException e) { e.printStackTrace(); return false; } catch (IOException e) { e.printStackTrace(); return false; } return false; }
From source file:org.starfishrespect.myconsumption.android.ui.AddSensorActivity.java
private boolean create() { DatabaseHelper db = new DatabaseHelper(this); String user = null;/*from w w w .ja v a 2s . co m*/ KeyValueData userJson = db.getValueForKey("user"); ObjectMapper mapper = new ObjectMapper(); if (userJson != null) { try { user = mapper.readValue(userJson.getValue(), UserData.class).getName(); } catch (IOException e) { return false; } } if (user == null) { return false; } RestTemplate template = new RestTemplate(); HttpHeaders httpHeaders = CryptoUtils.createHeadersCurrentUser(); ResponseEntity<String> responseEnt; template.getMessageConverters().add(new FormHttpMessageConverter()); template.getMessageConverters().add(new StringHttpMessageConverter()); try { UriComponentsBuilder builder = UriComponentsBuilder .fromHttpUrl(SingleInstance.getServerUrl() + "sensors/") .queryParam("name", editTextSensorName.getText().toString()) .queryParam("type", selectedSensorType).queryParam("user", user) .queryParam("settings", mapper.writeValueAsString(sensorView.getSensorSettings())); responseEnt = template.exchange(builder.build().encode().toUri(), HttpMethod.POST, new HttpEntity<>(httpHeaders), String.class); String result = responseEnt.getBody(); Log.d(TAG, result); SimpleResponseDTO response = mapper.readValue(result, SimpleResponseDTO.class); if (response.getStatus() == 0) { return true; } } catch (HttpClientErrorException e) { e.printStackTrace(); return false; } catch (IOException e) { e.printStackTrace(); return false; } return false; }
From source file:com.github.alexfalappa.nbspringboot.projects.initializr.InitializrService.java
public InputStream getProject(String bootVersion, String mvnGroup, String mvnArtifact, String mvnVersion, String mvnName, String mvnDesc, String packaging, String pkg, String lang, String javaVersion, String deps) throws Exception { // set connection timeouts timeoutFromPrefs();/*w w w .j a v a 2 s .c o m*/ // prepare parameterized url final String serviceUrl = NbPreferences.forModule(PrefConstants.class).get(PREF_INITIALIZR_URL, "http://start.spring.io"); UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(serviceUrl.concat("/starter.zip")) .queryParam("type", "maven-project").queryParam("bootVersion", bootVersion) .queryParam("groupId", mvnGroup).queryParam("artifactId", mvnArtifact) .queryParam("version", mvnVersion).queryParam("packaging", packaging).queryParam("name", mvnName) .queryParam("description", mvnDesc).queryParam("language", lang) .queryParam("javaVersion", javaVersion).queryParam("packageName", pkg) .queryParam("dependencies", deps); final URI uri = builder.build().encode().toUri(); // setup request object RequestEntity<Void> req = RequestEntity.get(uri).accept(APPLICATION_OCTET_STREAM) .header("User-Agent", REST_USER_AGENT).build(); // connect logger.info("Getting Spring Initializr project"); logger.log(INFO, "Service URL: {0}", uri.toString()); long start = System.currentTimeMillis(); ResponseEntity<byte[]> respEntity = rt.exchange(req, byte[].class); // analyze response outcome final HttpStatus statusCode = respEntity.getStatusCode(); if (statusCode == OK) { final ByteArrayInputStream stream = new ByteArrayInputStream(respEntity.getBody()); logger.log(INFO, "Retrieved archived project from Spring Initializr service. Took {0} msec", System.currentTimeMillis() - start); return stream; } else { // log status code final String errMessage = String.format( "Spring initializr service connection problem. HTTP status code: %s", statusCode.toString()); logger.severe(errMessage); // throw exception in order to set error message throw new RuntimeException(errMessage); } }
From source file:com.pepaproch.gtswsdlclient.impl.AddrCheckQueryBuilderImpl.java
@Override public UriComponents buildQuery(AddressQuery addresQuery) { UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url); if (addresQuery.getCity() != null && !addresQuery.getCity().isEmpty()) { builder.queryParam("city", addresQuery.getCity()); }/* w w w.java 2s. co m*/ if (addresQuery.getHouseNumberReg() != null) { builder.queryParam("houseNumberReg", addresQuery.getHouseNumberReg()); } if (addresQuery.getHouseNumberOr() != null) { builder.queryParam("houseNumberOr", addresQuery.getHouseNumberOr()); } if (addresQuery.getStreet() != null && !addresQuery.getStreet().isEmpty()) { builder.queryParam("street", addresQuery.getStreet()); } if (addresQuery.getZipCode() != null) { builder.queryParam("zipCode", addresQuery.getZipCode()); } return builder.build(); }
From source file:org.mitreid.multiparty.web.ClientController.java
@RequestMapping(value = "claims_submitted") public String claimsSubmissionCallback(@RequestParam("authorization_state") String authorizationState, @RequestParam("state") String returnState, @RequestParam("ticket") String ticket, HttpSession session, Model m) {/*from www .java2 s .c om*/ // get our saved information out of the session String savedState = (String) session.getAttribute(STATE_SESSION_VAR); String savedResource = (String) session.getAttribute(RESOURCE_SESSION_VAR); String savedAuthServerUri = (String) session.getAttribute(AUTHSERVERURI_SESSION_VAR); // make sure the state matches if (Strings.isNullOrEmpty(returnState) || !returnState.equals(savedState)) { // it's an error if it doesn't logger.error("Unable to match states"); return "home"; } if (authorizationState.equals("claims_submitted")) { // claims have been submitted, let's go try to get a token again // find the AS we need to talk to (maybe discover) MultipartyServerConfiguration server = serverConfig.getServerConfiguration(savedAuthServerUri); // find the client configuration (maybe register) RegisteredClient client = clientConfig.getClientConfiguration(server); HttpHeaders tokenHeaders = new HttpHeaders(); tokenHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED); // send request to the token endpoint MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); params.add("client_id", client.getClientId()); params.add("client_secret", client.getClientSecret()); params.add("grant_type", "urn:ietf:params:oauth:grant_type:multiparty-delegation"); params.add("ticket", ticket); //params.add("scope", "read write"); HttpEntity<MultiValueMap<String, String>> tokenRequest = new HttpEntity<>(params, tokenHeaders); ResponseEntity<String> tokenResponse = restTemplate.postForEntity(server.getTokenEndpointUri(), tokenRequest, String.class); JsonObject o = parser.parse(tokenResponse.getBody()).getAsJsonObject(); if (o.has("error")) { if (o.get("error").getAsString().equals("need_info")) { // if we get need info, redirect JsonObject details = o.get("error_details").getAsJsonObject(); // this is the URL to send the user to String claimsEndpoint = details.get("requesting_party_claims_endpoint").getAsString(); String newTicket = details.get("ticket").getAsString(); // set a state value for our return String state = UUID.randomUUID().toString(); session.setAttribute(STATE_SESSION_VAR, state); // save bits about the request we were trying to make session.setAttribute(RESOURCE_SESSION_VAR, savedResource); session.setAttribute(AUTHSERVERURI_SESSION_VAR, savedAuthServerUri); UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(claimsEndpoint) .queryParam("client_id", client.getClientId()).queryParam("ticket", newTicket) .queryParam("claims_redirect_uri", client.getClaimsRedirectUris().iterator().next()) // get the first one and punt .queryParam("state", state); return "redirect:" + builder.build(); } else { // it's an error we don't know how to deal with, give up logger.error("Unknown error from token endpoint: " + o.get("error").getAsString()); return "home"; } } else { // if we get an access token, try it again String accessTokenValue = o.get("access_token").getAsString(); acccessTokenService.saveAccesstoken(savedResource, accessTokenValue); HttpHeaders headers = new HttpHeaders(); if (!Strings.isNullOrEmpty(accessTokenValue)) { headers.add("Authorization", "Bearer " + accessTokenValue); } HttpEntity<Object> request = new HttpEntity<>(headers); ResponseEntity<String> responseEntity = restTemplate.exchange(savedResource, HttpMethod.GET, request, String.class); if (responseEntity.getStatusCode().equals(HttpStatus.OK)) { // if we get back data, display it JsonObject rso = parser.parse(responseEntity.getBody()).getAsJsonObject(); m.addAttribute("label", rso.get("label").getAsString()); m.addAttribute("value", rso.get("value").getAsString()); return "home"; } else { logger.error("Unable to get a token"); return "home"; } } } else { logger.error("Unknown response from claims endpoing: " + authorizationState); return "home"; } }
From source file:org.openmhealth.shim.misfit.MisfitShim.java
@Override protected ResponseEntity<ShimDataResponse> getData(OAuth2RestOperations restTemplate, ShimDataRequest shimDataRequest) throws ShimException { final MisfitDataTypes misfitDataType; try {//from w w w . j a v a 2 s . c om misfitDataType = MisfitDataTypes.valueOf(shimDataRequest.getDataTypeKey().trim().toUpperCase()); } catch (NullPointerException | IllegalArgumentException e) { throw new ShimException("Null or Invalid data type parameter: " + shimDataRequest.getDataTypeKey() + " in shimDataRequest, cannot retrieve data."); } // TODO don't truncate dates OffsetDateTime now = OffsetDateTime.now(); OffsetDateTime startDateTime = shimDataRequest.getStartDateTime() == null ? now.minusDays(1) : shimDataRequest.getStartDateTime(); OffsetDateTime endDateTime = shimDataRequest.getEndDateTime() == null ? now.plusDays(1) : shimDataRequest.getEndDateTime(); if (Duration.between(startDateTime, endDateTime).toDays() > MAX_DURATION_IN_DAYS) { endDateTime = startDateTime.plusDays(MAX_DURATION_IN_DAYS - 1); // TODO when refactoring, break apart queries } UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromUriString(DATA_URL); for (String pathSegment : Splitter.on("/").split(misfitDataType.getEndPoint())) { uriBuilder.pathSegment(pathSegment); } uriBuilder.queryParam("start_date", startDateTime.toLocalDate()) // TODO convert ODT to LocalDate properly .queryParam("end_date", endDateTime.toLocalDate()).queryParam("detail", true); // added to all endpoints to support summaries ResponseEntity<JsonNode> responseEntity; try { responseEntity = restTemplate.getForEntity(uriBuilder.build().encode().toUri(), JsonNode.class); } catch (HttpClientErrorException | HttpServerErrorException e) { // FIXME figure out how to handle this logger.error("A request for Misfit data failed.", e); throw e; } if (shimDataRequest.getNormalize()) { MisfitDataPointMapper<?> dataPointMapper; switch (misfitDataType) { case ACTIVITIES: dataPointMapper = physicalActivityMapper; break; case SLEEP: dataPointMapper = sleepDurationMapper; break; case STEPS: dataPointMapper = stepCountMapper; break; default: throw new UnsupportedOperationException(); } return ok().body(ShimDataResponse.result(SHIM_KEY, dataPointMapper.asDataPoints(singletonList(responseEntity.getBody())))); } else { return ok().body(ShimDataResponse.result(SHIM_KEY, responseEntity.getBody())); } }
From source file:org.openmhealth.shim.ihealth.IHealthShim.java
@Override protected String getAuthorizationUrl(UserRedirectRequiredException exception) { final OAuth2ProtectedResourceDetails resource = getResource(); UriComponentsBuilder callBackUriBuilder = UriComponentsBuilder.fromUriString(getCallbackUrl()) .queryParam("state", exception.getStateKey()); UriComponentsBuilder authorizationUriBuilder = UriComponentsBuilder .fromUriString(exception.getRedirectUri()).queryParam("client_id", resource.getClientId()) .queryParam("response_type", "code").queryParam("APIName", Joiner.on(' ').join(resource.getScope())) .queryParam("redirect_uri", callBackUriBuilder.build().toString()); return authorizationUriBuilder.build().encode().toString(); }
From source file:it.scoppelletti.wui.ActivityPanelAction.java
/** * Elenco delle attività./*from ww w .j a va2 s. com*/ * * @param applList Applicazioni. * @return Collezione. */ private List<Activity> listActivities(List<String> applList) { String uri; UriComponentsBuilder uriBuilder; ActivityListResource activityRes; List<Activity> activityList, list; activityList = new ArrayList<Activity>(); for (String ctxPath : applList) { uriBuilder = UriComponentsBuilder.fromHttpUrl(myApplMgr.getBaseUrl()); uriBuilder.path(ctxPath).path(ActivityListResource.PATH); uriBuilder.queryParam(AbstractServerResource.QUERY_LOCALE, getLocale().toString()); if (!Strings.isNullOrEmpty(myCatgFilter)) { uriBuilder.queryParam(ActivityListResource.QUERY_CATEGORY, myCatgFilter); } uri = uriBuilder.build().toUriString(); activityRes = ClientResource.create(uri, ActivityListResource.class); try { list = activityRes.listActivities(); } catch (Exception ex) { myLogger.error(String.format("Failed to get %1$s.", uri), ex); continue; } if (list == null) { myLogger.error("Failed to get {}.", uri); continue; } activityList.addAll(list); } Collections.sort(activityList, new ActivityComparator()); return activityList; }
From source file:be.solidx.hot.data.rest.RestDataStore.java
@RequestMapping(value = "/{dbname}/{entity}", method = RequestMethod.POST) synchronized public DeferredResult<ResponseEntity<byte[]>> save(final HttpServletRequest httpRequest, @PathVariable final String dbname, @PathVariable final String entity, @RequestBody final String body) { Callable<ResponseEntity<byte[]>> blocking = new Callable<ResponseEntity<byte[]>>() { @Override/*from ww w. jav a 2 s . c om*/ public ResponseEntity<byte[]> call() throws Exception { DB<Map<String, Object>> db = dbMap.get(dbname); if (db == null) { return buildEmptyResponse(HttpStatus.NOT_FOUND); } if (!db.listCollections().contains(entity)) { return buildEmptyResponse(HttpStatus.NOT_FOUND); } // Filter unknown table columns from input JSON Map<String, Object> entityMap = readJson(body); be.solidx.hot.data.jdbc.groovy.DB dbProxy = null; if (db instanceof be.solidx.hot.data.jdbc.groovy.DB) { dbProxy = (be.solidx.hot.data.jdbc.groovy.DB) db; } Map<String, Object> filteredMap = null; if (dbProxy != null) { filteredMap = filterEntity(entityMap, dbProxy.getCollectionMetadata(entity).getColumns()); } else { filteredMap = entityMap; } // Save data Map<String, Object> insertedEntity = db.getCollection(entity).insert(filteredMap); // build pks String ids = ""; String separator = ""; for (String pk : db.getPrimaryKeys(entity)) { ids += String.format("%s%s", separator, pk); separator = ","; } // response headers UriComponentsBuilder resourceUrl = getDatastoreUri(httpRequest, dbname).path("/" + entity) .path("/" + ids); HttpHeaders headers = new HttpHeaders(); headers.set(LOCATION, resourceUrl.build().toUri().toASCIIString()); // build response if (dbProxy != null) { List<Map<String, Object>> links = new ArrayList<Map<String, Object>>(); for (String collectionName : dbProxy.getCollectionMetadata(entity).getRelations()) { Map<String, Object> entry = new HashMap<String, Object>(); entry.put(REL, collectionName); entry.put(HREF, getDatastoreUri(httpRequest, dbname).path("/" + entity).path("/" + ids) .path("/" + collectionName).build().toUri().toASCIIString()); links.add(entry); } insertedEntity.put(LINKS, links); } return buildJSONResponse(insertedEntity, headers, HttpStatus.CREATED); } }; return blockingCall(blocking); }