Example usage for org.springframework.http HttpMethod PUT

List of usage examples for org.springframework.http HttpMethod PUT

Introduction

In this page you can find the example usage for org.springframework.http HttpMethod PUT.

Prototype

HttpMethod PUT

To view the source code for org.springframework.http HttpMethod PUT.

Click Source Link

Usage

From source file:sg.ncl.MainController.java

private String freeTeam(final Team2 team, RedirectAttributes redirectAttributes) throws IOException {
    log.info("Freeing team {}", team.getId());

    HttpEntity<String> request = createHttpEntityHeaderOnly();
    ResponseEntity response = restTemplate.exchange(
            properties.getSioTeamsStatusUrl(team.getId(), TeamStatus.APPROVED), HttpMethod.PUT, request,
            String.class);
    String responseBody = response.getBody().toString();

    if (RestUtil.isError(response.getStatusCode())) {
        MyErrorResource error = objectMapper.readValue(responseBody, MyErrorResource.class);
        ExceptionState exceptionState = ExceptionState.parseExceptionState(error.getError());
        String logMessage = "Failed to free team {}: {}";
        handleException(team, redirectAttributes, error, exceptionState, logMessage);
        return REDIRECT_ADMIN;
    } else {//  w  w  w  . j av  a  2  s .  c  om
        // good
        log.info("Team {} has been freed", team.getId());
        redirectAttributes.addFlashAttribute(MESSAGE_SUCCESS,
                "Team status has been changed to " + TeamStatus.APPROVED.name());
        return REDIRECT_ADMIN;
    }
}

From source file:sg.ncl.MainController.java

private String freezeUser(final User2 user, RedirectAttributes redirectAttributes) throws IOException {
    log.info("Freezing user {}, email {}", user.getId(), user.getEmail());

    HttpEntity<String> request = createHttpEntityHeaderOnly();
    ResponseEntity response = restTemplate.exchange(
            properties.getSioUsersStatusUrl(user.getId(), UserStatus.FROZEN.toString()), HttpMethod.PUT,
            request, String.class);
    String responseBody = response.getBody().toString();

    if (RestUtil.isError(response.getStatusCode())) {
        MyErrorResource error = objectMapper.readValue(responseBody, MyErrorResource.class);
        ExceptionState exceptionState = ExceptionState.parseExceptionState(error.getError());

        switch (exceptionState) {
        case USER_NOT_FOUND_EXCEPTION:
            log.warn("Failed to freeze user {}: user not found", user.getId());
            redirectAttributes.addFlashAttribute(MESSAGE,
                    ERROR_PREFIX + USER_STR + user.getEmail() + NOT_FOUND);
            break;
        case INVALID_STATUS_TRANSITION_EXCEPTION:
            log.warn("Failed to freeze user {}: invalid status transition {}", user.getId(),
                    error.getMessage());
            redirectAttributes.addFlashAttribute(MESSAGE,
                    ERROR_PREFIX + error.getMessage() + " is not allowed.");
            break;
        case INVALID_USER_STATUS_EXCEPTION:
            log.warn("Failed to freeze user {}: invalid user status {}", user.getId(), error.getMessage());
            redirectAttributes.addFlashAttribute(MESSAGE,
                    ERROR_PREFIX + error.getMessage() + " is not a valid status.");
            break;
        case FORBIDDEN_EXCEPTION:
            log.warn("Failed to freeze user {}: must be an Admin", user.getId());
            redirectAttributes.addFlashAttribute(MESSAGE, ERROR_PREFIX + " permission denied.");
            break;
        default://from  ww w.  ja v  a 2s. c o  m
            log.warn("Failed to freeze user {}: {}", user.getId(), exceptionState.getExceptionName());
            redirectAttributes.addFlashAttribute(MESSAGE, ERR_SERVER_OVERLOAD);
            break;
        }
        return REDIRECT_ADMIN;
    } else {
        // good
        log.info("User {} has been frozen", user.getId());
        redirectAttributes.addFlashAttribute(MESSAGE_SUCCESS,
                USER_PREFIX + user.getEmail() + " has been banned.");
        return REDIRECT_ADMIN;
    }
}

From source file:sg.ncl.MainController.java

private String unfreezeUser(final User2 user, RedirectAttributes redirectAttributes) throws IOException {
    log.info("Unfreezing user {}, email {}", user.getId(), user.getEmail());

    HttpEntity<String> request = createHttpEntityHeaderOnly();
    ResponseEntity response = restTemplate.exchange(
            properties.getSioUsersStatusUrl(user.getId(), UserStatus.APPROVED.toString()), HttpMethod.PUT,
            request, String.class);
    String responseBody = response.getBody().toString();

    if (RestUtil.isError(response.getStatusCode())) {
        MyErrorResource error = objectMapper.readValue(responseBody, MyErrorResource.class);
        ExceptionState exceptionState = ExceptionState.parseExceptionState(error.getError());

        switch (exceptionState) {
        case USER_NOT_FOUND_EXCEPTION:
            log.warn("Failed to unfreeze user {}: user not found", user.getId());
            redirectAttributes.addFlashAttribute(MESSAGE,
                    ERROR_PREFIX + USER_STR + user.getEmail() + NOT_FOUND);
            break;
        case INVALID_STATUS_TRANSITION_EXCEPTION:
            log.warn("Failed to unfreeze user {}: invalid status transition {}", user.getId(),
                    error.getMessage());
            redirectAttributes.addFlashAttribute(MESSAGE,
                    ERROR_PREFIX + error.getMessage() + " is not allowed.");
            break;
        case INVALID_USER_STATUS_EXCEPTION:
            log.warn("Failed to unfreeze user {}: invalid user status {}", user.getId(), error.getMessage());
            redirectAttributes.addFlashAttribute(MESSAGE,
                    ERROR_PREFIX + error.getMessage() + " is not a valid status.");
            break;
        case FORBIDDEN_EXCEPTION:
            log.warn("Failed to unfreeze user {}: must be an Admin", user.getId());
            redirectAttributes.addFlashAttribute(MESSAGE, ERROR_PREFIX + " permission denied.");
            break;
        default:// w w  w  . jav  a2  s.  c  o m
            log.warn("Failed to unfreeze user {}: {}", user.getId(), exceptionState.getExceptionName());
            redirectAttributes.addFlashAttribute(MESSAGE, ERR_SERVER_OVERLOAD);
            break;
        }
        return REDIRECT_ADMIN;
    } else {
        // good
        log.info("User {} has been unfrozen", user.getId());
        redirectAttributes.addFlashAttribute(MESSAGE_SUCCESS,
                USER_PREFIX + user.getEmail() + " has been unbanned.");
        return REDIRECT_ADMIN;
    }
}

From source file:sg.ncl.MainController.java

@PostMapping("/student_reset_password")
public String processResetPasswordStudent(
        @ModelAttribute("studentPasswordResetForm") StudentPasswordResetForm studentPasswordResetForm)
        throws WebServiceRuntimeException {

    if (studentPasswordResetForm.getFirstName().isEmpty() || studentPasswordResetForm.getLastName().isEmpty()) {
        studentPasswordResetForm.setErrMsg("First name or last name cannot be empty");
        return STUDENT_RESET_PSWD;
    }/*from w  w  w  . j ava  2s .co  m*/

    if (studentPasswordResetForm.getPhone().isEmpty()
            || studentPasswordResetForm.getPhone().matches("(.*)[a-zA-Z](.*)")
            || studentPasswordResetForm.getPhone().length() < 6) {
        studentPasswordResetForm.setErrMsg("Phone is invalid");
        return STUDENT_RESET_PSWD;
    }

    if (!studentPasswordResetForm.isPasswordOk()) {
        return STUDENT_RESET_PSWD;
    }

    JSONObject obj = new JSONObject();
    obj.put(FNAME, studentPasswordResetForm.getFirstName());
    obj.put(LNAME, studentPasswordResetForm.getLastName());
    obj.put(PHONE, studentPasswordResetForm.getPhone());
    obj.put(KEY, studentPasswordResetForm.getKey());
    obj.put(PSWD, studentPasswordResetForm.getPassword1());

    String uid = studentPasswordResetForm.getUid();

    HttpEntity<String> request = createHttpEntityWithBodyNoAuthHeader(obj.toString());
    restTemplate.setErrorHandler(new MyResponseErrorHandler());
    ResponseEntity responseEntity;
    try {
        responseEntity = restTemplate.exchange(properties.changePasswordStudent(uid), HttpMethod.PUT, request,
                String.class);
    } catch (RestClientException e) {
        log.warn("Error connecting to sio for student password reset! {}", e);
        studentPasswordResetForm.setErrMsg(ERR_SERVER_OVERLOAD);
        return STUDENT_RESET_PSWD;
    }

    String responseBody = responseEntity.getBody().toString();

    if (RestUtil.isError(responseEntity.getStatusCode())) {
        MyErrorResource error;
        String logPrefix = "Error in password reset for student " + uid + ": {}";
        try {
            error = objectMapper.readValue(responseBody, MyErrorResource.class);
            ExceptionState exceptionState = ExceptionState.parseExceptionState(error.getError());
            switch (exceptionState) {
            case DETERLAB_OPERATION_FAILED_EXCEPTION:
                log.warn(logPrefix, error.getMessage());
                studentPasswordResetForm.setErrMsg(error.getMessage());
                break;

            case PASSWORD_RESET_REQUEST_TIMEOUT_EXCEPTION:
                log.warn(logPrefix, "Password reset key timeout");
                studentPasswordResetForm
                        .setErrMsg("Password reset request timed out. Please request a new reset email.");
                break;

            case INVALID_USERNAME_EXCEPTION:
                log.warn(logPrefix, "Invalid username");
                studentPasswordResetForm.setErrMsg("You must enter a valid first and last name.");
                break;

            case INVALID_PASSWORD_EXCEPTION:
                log.warn(logPrefix, "Password is invalid");
                studentPasswordResetForm.setErrMsg("You must supply a valid password.");
                break;

            case PASSWORD_RESET_REQUEST_NOT_MATCH_EXCEPTION:
                log.warn(logPrefix, "Uid and key do not match");
                studentPasswordResetForm.setErrMsg("Password reset request does not match with the user.");
                break;

            case CREDENTIALS_NOT_FOUND_EXCEPTION:
                log.warn(logPrefix, "Credentials or key not found");
                studentPasswordResetForm.setErrMsg("Credentials or key is not valid.");
                break;

            default:
                log.warn(logPrefix, "Sio or deterlab adapter connection error");
                studentPasswordResetForm.setErrMsg(ERR_SERVER_OVERLOAD);
            }

            return STUDENT_RESET_PSWD;
        } catch (IOException e) {
            throw new WebServiceRuntimeException(e.getMessage());
        }
    }

    log.info("Password was reset for student {}", uid);
    studentPasswordResetForm.setSuccessMsg("Password has been reset");
    return "password_reset_success";
}

From source file:sg.ncl.MainController.java

@GetMapping(path = "/resetKeyStudent", params = { "uid" })
public String resetKeyStudent(@NotNull @RequestParam("uid") final String uid) {

    HttpEntity<String> request = createHttpEntityHeaderOnlyNoAuthHeader();
    restTemplate.setErrorHandler(new MyResponseErrorHandler());
    ResponseEntity responseEntity;/*from  w w  w.j a  va  2s .c  om*/
    try {
        responseEntity = restTemplate.exchange(properties.resetKeyStudent(uid), HttpMethod.PUT, request,
                String.class);
    } catch (RestClientException e) {
        // CredentialsNotFoundException and PasswordResetRequestNotFoundException is not caught here
        log.warn("Error in password key reset: {}", e);
        return "error";
    }

    if (RestUtil.isError(responseEntity.getStatusCode())) {
        log.warn("Error in password key reset: {}", responseEntity.getBody().toString());
        return "student_reset_key_error";
    }

    log.info("Password key was reset for {}", uid);
    return "student_reset_key_success";
}

From source file:software.coolstuff.springframework.owncloud.service.impl.rest.OwncloudRestResourceServiceTest.java

@Override
protected void prepare_getOutputStream_OK(OwncloudTestFileResourceImpl owncloudFileResource) throws Exception {
    mockServer.expect(requestToWithPrefix(owncloudFileResource.getHref())).andExpect(method(HttpMethod.PUT))
            .andExpect(header(HttpHeaders.AUTHORIZATION, getBasicAuthorizationHeader()))
            .andExpect(header(HttpHeaders.CONNECTION, "keep-alive"))
            .andExpect(content().contentType(owncloudFileResource.getMediaType()))
            .andExpect(content().string(owncloudFileResource.getTestFileContent())).andRespond(withSuccess());
}

From source file:software.coolstuff.springframework.owncloud.service.impl.rest.OwncloudRestResourceServiceTest.java

@Override
protected void prepare_getOutputStream_NOK_Unauthorized(OwncloudTestFileResourceImpl owncloudFileResource)
        throws Exception {
    mockServer.expect(requestToWithPrefix(owncloudFileResource.getHref())).andExpect(method(HttpMethod.PUT))
            .andExpect(header(HttpHeaders.AUTHORIZATION, getBasicAuthorizationHeader()))
            .andExpect(header(HttpHeaders.CONNECTION, "keep-alive"))
            .andExpect(content().contentType(owncloudFileResource.getMediaType()))
            .andExpect(content().bytes(new byte[] { 1 })).andRespond(withStatus(HttpStatus.UNAUTHORIZED));
}

From source file:software.coolstuff.springframework.owncloud.service.impl.rest.OwncloudRestResourceServiceTest.java

@Override
protected void prepare_getOutputStream_OK_CreateNewFile(URI href, MediaType mediaType, String testFileContent)
        throws Exception {
    Mockito.when(sardine.list(getResourcePath(href), 0))
            .thenThrow(new SardineException("No File", HttpStatus.NOT_FOUND.value(), null));
    mockServer.expect(requestToWithPrefix(href)).andExpect(method(HttpMethod.PUT))
            .andExpect(header(HttpHeaders.AUTHORIZATION, getBasicAuthorizationHeader()))
            .andExpect(header(HttpHeaders.CONNECTION, "keep-alive")).andExpect(content().contentType(mediaType))
            .andExpect(content().string(testFileContent)).andRespond(withSuccess());
}

From source file:software.coolstuff.springframework.owncloud.service.impl.rest.OwncloudRestResourceServiceTest.java

@Override
protected void prepare_getOutputStream_OK_OverwriteFile(URI href, MediaType mediaType, String testFileContent)
        throws Exception {
    List<DavResource> davResources = Lists.newArrayList(createDavResourceFrom(OwncloudTestFileResourceImpl
            .fileBuilder()/*from   ww w  . ja v  a  2  s  .c o  m*/
            .owncloudResource(OwncloudTestResourceImpl.builder().href(href).mediaType(mediaType).build())
            .testFileContent(testFileContent).build(), Locale.GERMAN));
    Mockito.when(sardine.list(getResourcePath(href))).thenReturn(davResources);
    mockServer.expect(requestToWithPrefix(href)).andExpect(method(HttpMethod.PUT))
            .andExpect(header(HttpHeaders.AUTHORIZATION, getBasicAuthorizationHeader()))
            .andExpect(header(HttpHeaders.CONNECTION, "keep-alive")).andExpect(content().contentType(mediaType))
            .andExpect(content().string(testFileContent)).andRespond(withSuccess());
}

From source file:software.coolstuff.springframework.owncloud.service.impl.rest.OwncloudRestResourceServiceTest.java

@Override
protected void prepare_getOutputStram_NOK_FileTooBig(URI href, MediaType mediaType, String testFileContent)
        throws Exception {
    Mockito.when(sardine.list(getResourcePath(href), 0))
            .thenThrow(new SardineException("No File", HttpStatus.NOT_FOUND.value(), null));
    mockServer.expect(requestToWithPrefix(href)).andExpect(method(HttpMethod.PUT))
            .andExpect(header(HttpHeaders.AUTHORIZATION, getBasicAuthorizationHeader()))
            .andExpect(header(HttpHeaders.CONNECTION, "keep-alive")).andExpect(content().contentType(mediaType))
            .andExpect(content().string(testFileContent))
            .andRespond(withStatus(HttpStatus.INSUFFICIENT_STORAGE));
}