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

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

Introduction

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

Prototype

public UriComponents build() 

Source Link

Document

Build a UriComponents instance from the various components contained in this builder.

Usage

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&agrave;./*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);
}