Example usage for org.springframework.http ResponseEntity badRequest

List of usage examples for org.springframework.http ResponseEntity badRequest

Introduction

In this page you can find the example usage for org.springframework.http ResponseEntity badRequest.

Prototype

public static BodyBuilder badRequest() 

Source Link

Document

Create a builder with a HttpStatus#BAD_REQUEST BAD_REQUEST status.

Usage

From source file:jp.classmethod.aws.brian.web.TriggerController.java

/**
 * Update the trigger.//from w w  w  .  j  a  v  a2 s. c o m
 * 
 * @param triggerGroupName trigger group name
 * @param triggerName trigger name
 * @param triggerRequest triggerRequest
 * @return {@link HttpStatus#CREATED} if the trigger is created, {@link HttpStatus#OK} if the trigger is updated.
 *   And nextFireTime property which is represent that the trigger's next fire time.
 * @throws SchedulerException
 */
@ResponseBody
@RequestMapping(value = "/triggers/{triggerGroupName}/{triggerName}", method = RequestMethod.PUT)
public ResponseEntity<?> updateTrigger(@PathVariable("triggerGroupName") String triggerGroupName,
        @PathVariable("triggerName") String triggerName, @RequestBody BrianTriggerRequest triggerRequest)
        throws SchedulerException {
    logger.info("updateTrigger {}.{}: {}", triggerGroupName, triggerName, triggerRequest);

    if (triggerName.equals(triggerRequest.getTriggerName()) == false) {
        String message = String.format(
                "trigger names '%s' in the path and '%s' in the request body is not equal", triggerName,
                triggerRequest.getTriggerName());
        return ResponseEntity.badRequest().body(new BrianResponse<>(false, message));
    }

    try {
        TriggerKey triggerKey = TriggerKey.triggerKey(triggerName, triggerGroupName);
        if (scheduler.checkExists(triggerKey) == false) {
            String message = String.format("trigger %s.%s is not found.", triggerGroupName, triggerName);
            return new ResponseEntity<>(new BrianResponse<>(false, message), HttpStatus.NOT_FOUND);
        }

        Trigger trigger = getTrigger(triggerRequest, triggerKey);

        Date nextFireTime = scheduler.rescheduleJob(triggerKey, trigger);
        logger.info("rescheduled {}", triggerKey);

        Map<String, Object> map = new HashMap<>();
        map.put("nextFireTime",
                new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US).format(nextFireTime));
        return ResponseEntity.ok(new BrianResponse<>(true, "ok", map));
    } catch (ParseException e) {
        logger.warn("parse cron expression failed", e);
        String message = "parse cron expression failed - " + e.getMessage();
        return ResponseEntity.badRequest().body(new BrianResponse<>(false, message));
    }
}

From source file:objective.taskboard.controller.FollowUpController.java

@RequestMapping
public ResponseEntity<Object> download(@RequestParam("project") String projectKey,
        @RequestParam("template") String template, @RequestParam("date") Optional<LocalDate> date,
        @RequestParam("timezone") String zoneId) {

    if (ObjectUtils.isEmpty(projectKey))
        return new ResponseEntity<>("You must provide the project", BAD_REQUEST);
    if (ObjectUtils.isEmpty(template))
        return new ResponseEntity<>("Template not selected", BAD_REQUEST);

    Template templateFollowup = templateService.getTemplate(template);

    if (templateFollowup == null
            || !authorizer.hasAnyRoleInProjects(templateFollowup.getRoles(), asList(projectKey)))
        return new ResponseEntity<>("Template or project doesn't exist", HttpStatus.NOT_FOUND);

    ZoneId timezone = determineTimeZoneId(zoneId);

    try {/*from  www . ja v  a2  s .  c om*/
        Resource resource = followUpFacade.generateReport(template, date, timezone, projectKey);
        String filename = "Followup_" + template + "_" + projectKey + "_" + templateDate(date, timezone)
                + ".xlsm";

        return ResponseEntity.ok().contentLength(resource.contentLength())
                .header("Content-Disposition", "attachment; filename=\"" + filename + "\"")
                .header("Set-Cookie", "fileDownload=true; path=/").body(resource);
    } catch (InvalidTableRangeException e) {//NOSONAR
        return ResponseEntity.badRequest().body(format(
                "The selected template is invalid. The range of table %s? in sheet %s? is smaller than the available data. "
                        + "Please increase the range to cover at least row %s.",
                e.getTableName(), e.getSheetName(), e.getMinRows()));

    } catch (ClusterNotConfiguredException e) {//NOSONAR
        return ResponseEntity.badRequest()
                .body("No cluster configuration found for project " + projectKey + ".");

    } catch (ProjectDatesNotConfiguredException e) {//NOSONAR
        return ResponseEntity.badRequest()
                .body("The project " + projectKey + " has no start or delivery date.");

    } catch (Exception e) {
        log.warn("Error generating followup spreadsheet", e);
        return ResponseEntity.status(INTERNAL_SERVER_ERROR).header("Content-Type", "text/html; charset=utf-8")
                .body(StringUtils.defaultIfEmpty(e.getMessage(), e.toString()));
    }
}

From source file:org.egov.infra.utils.FileStoreUtils.java

public ResponseEntity<InputStreamResource> fileAsResponseEntity(String fileStoreId, String moduleName,
        boolean toSave) {
    try {/*from  w  w w.  j ava2s  .  c om*/
        Optional<FileStoreMapper> fileStoreMapper = getFileStoreMapper(fileStoreId);
        if (fileStoreMapper.isPresent()) {
            Path file = getFileAsPath(fileStoreId, moduleName);
            byte[] fileBytes = Files.readAllBytes(file);
            String contentType = isBlank(fileStoreMapper.get().getContentType()) ? Files.probeContentType(file)
                    : fileStoreMapper.get().getContentType();
            return ResponseEntity.ok().contentType(parseMediaType(defaultIfBlank(contentType, JPG_MIME_TYPE)))
                    .cacheControl(CacheControl.noCache()).contentLength(fileBytes.length)
                    .header(CONTENT_DISPOSITION,
                            format(toSave ? CONTENT_DISPOSITION_ATTACH : CONTENT_DISPOSITION_INLINE,
                                    fileStoreMapper.get().getFileName()))
                    .body(new InputStreamResource(new ByteArrayInputStream(fileBytes)));
        }
        return ResponseEntity.notFound().build();
    } catch (IOException e) {
        LOGGER.error("Error occurred while creating response entity from file mapper", e);
        return ResponseEntity.badRequest().build();
    }
}

From source file:org.esupportail.publisher.web.rest.SubscriberResource.java

/**
 * POST /subscribers -> Create a new subscriber.
 *//*w w w.  j  a  va 2 s . c o m*/
@RequestMapping(value = "/subscribers", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
@PreAuthorize(SecurityConstants.IS_ROLE_ADMIN + " || " + SecurityConstants.IS_ROLE_USER
        + " && @permissionService.canEditCtxTargets(authentication, #subscriber.subjectCtxId.context)")
@Timed
public ResponseEntity<Void> create(@Validated @RequestBody Subscriber subscriber)
        throws URISyntaxException, UnsupportedEncodingException {
    log.debug("REST request to save Subscriber : {}", subscriber);
    if (subscriberRepository.findOne(subscriber.getId()) != null) {
        return ResponseEntity.badRequest().header("Failure", "The subscriber should not already exist").build();
    }
    // TODO: check if the context can support subscribers
    EnumSet<ContextType> ctxTypes = EnumSet.of(ContextType.ORGANIZATION, ContextType.PUBLISHER);
    boolean subscribersOnCtx = false;
    switch (subscriber.getSubjectCtxId().getContext().getKeyType()) {
    case ORGANIZATION:
        subscribersOnCtx = true;
        break;
    case PUBLISHER:
        subscribersOnCtx = true;
        break;
    case CATEGORY:

    case FEED:
        AbstractClassification classif = classificationRepository
                .findOne(subscriber.getSubjectCtxId().getContext().getKeyId());
        if (classif != null
                && !WritingMode.TARGETS_ON_ITEM
                        .equals(classif.getPublisher().getContext().getRedactor().getWritingMode())
                && classif.getPublisher().isHasSubPermsManagement()) {
            subscribersOnCtx = true;
        }
        break;
    case ITEM:
        AbstractItem item = itemRepository.findOne(subscriber.getSubjectCtxId().getContext().getKeyId());
        if (item != null && WritingMode.TARGETS_ON_ITEM.equals(item.getRedactor().getWritingMode())) {
            subscribersOnCtx = true;
        }
        break;
    default:
        // non bloquant
        log.warn("ContextType unknown !");
        break;
    }
    if (!subscribersOnCtx) {
        return new ResponseEntity<>(HttpStatus.FORBIDDEN);
    }
    subscriberRepository.save(subscriber);
    String composedIdURL = new String(
            Base64.encodeBase64(subscriber.getId().getSubject().getKeyValue().getBytes(StandardCharsets.UTF_8)))
            + "/";
    composedIdURL += subscriber.getId().getSubject().getKeyType().getId() + "/";
    composedIdURL += subscriber.getId().getSubject().getKeyAttribute() + "/";
    composedIdURL += subscriber.getId().getContext().getKeyId() + "/";
    composedIdURL += subscriber.getId().getContext().getKeyType().name();
    log.debug(composedIdURL);
    return ResponseEntity
            .created(new URI(
                    "/api/subscribers/" + UriUtils.encodeQuery(composedIdURL, StandardCharsets.UTF_8.name())))
            .build();
}

From source file:org.thingsboard.server.msa.connectivity.MqttClientTest.java

@Test
public void serverSideRpc() throws Exception {
    restClient.login("tenant@thingsboard.org", "tenant");
    Device device = createDevice("mqtt_");
    DeviceCredentials deviceCredentials = restClient.getCredentials(device.getId());

    MqttMessageListener listener = new MqttMessageListener();
    MqttClient mqttClient = getMqttClient(deviceCredentials, listener);
    mqttClient.on("v1/devices/me/rpc/request/+", listener, MqttQoS.AT_LEAST_ONCE).get();

    // Wait until subscription is processed
    TimeUnit.SECONDS.sleep(3);/*from   www. ja va 2 s .  c  om*/

    // Send an RPC from the server
    JsonObject serverRpcPayload = new JsonObject();
    serverRpcPayload.addProperty("method", "getValue");
    serverRpcPayload.addProperty("params", true);
    ListeningExecutorService service = MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor());
    ListenableFuture<ResponseEntity> future = service.submit(() -> {
        try {
            return restClient.getRestTemplate().postForEntity(HTTPS_URL + "/api/plugins/rpc/twoway/{deviceId}",
                    mapper.readTree(serverRpcPayload.toString()), String.class, device.getId());
        } catch (IOException e) {
            return ResponseEntity.badRequest().build();
        }
    });

    // Wait for RPC call from the server and send the response
    MqttEvent requestFromServer = listener.getEvents().poll(10, TimeUnit.SECONDS);

    Assert.assertEquals("{\"method\":\"getValue\",\"params\":true}",
            Objects.requireNonNull(requestFromServer).getMessage());

    Integer requestId = Integer.valueOf(Objects.requireNonNull(requestFromServer).getTopic()
            .substring("v1/devices/me/rpc/request/".length()));
    JsonObject clientResponse = new JsonObject();
    clientResponse.addProperty("response", "someResponse");
    // Send a response to the server's RPC request
    mqttClient.publish("v1/devices/me/rpc/response/" + requestId,
            Unpooled.wrappedBuffer(clientResponse.toString().getBytes())).get();

    ResponseEntity serverResponse = future.get(5, TimeUnit.SECONDS);
    Assert.assertTrue(serverResponse.getStatusCode().is2xxSuccessful());
    Assert.assertEquals(clientResponse.toString(), serverResponse.getBody());

    restClient.getRestTemplate().delete(HTTPS_URL + "/api/device/" + device.getId());
}

From source file:org.tightblog.ui.restapi.UserController.java

@PostMapping(value = "/tb-ui/register/rest/registeruser")
public ResponseEntity registerUser(@Valid @RequestBody UserData newData, Locale locale,
        HttpServletResponse response) throws ServletException {
    ValidationError maybeError = advancedValidate(null, newData, true, locale);
    if (maybeError != null) {
        return ResponseEntity.badRequest().body(maybeError);
    }//from w ww.jav  a2 s.c  om

    long userCount = userRepository.count();
    WebloggerProperties.RegistrationPolicy option = webloggerPropertiesRepository.findOrNull()
            .getRegistrationPolicy();
    if (userCount == 0 || !WebloggerProperties.RegistrationPolicy.DISABLED.equals(option)) {
        boolean mustActivate = userCount > 0;
        if (mustActivate) {
            newData.user.setActivationCode(UUID.randomUUID().toString());
            newData.user.setStatus(UserStatus.REGISTERED);
        } else {
            // initial user is the Admin, is automatically enabled.
            newData.user.setStatus(UserStatus.ENABLED);
        }

        User user = new User();
        user.setUserName(newData.user.getUserName());
        user.setDateCreated(Instant.now());

        ResponseEntity re = saveUser(user, newData, null, response, true);

        if (re.getStatusCode() == HttpStatus.OK && mustActivate) {
            UserData data = (UserData) re.getBody();
            if (data != null) {
                emailService.sendUserActivationEmail(data.getUser());
            }
        }
        return re;
    } else {
        return new ResponseEntity<>(HttpStatus.FORBIDDEN);
    }
}

From source file:org.tightblog.ui.restapi.UserController.java

@PostMapping(value = "/tb-ui/authoring/rest/userprofile/{id}")
public ResponseEntity updateUserProfile(@PathVariable String id, @Valid @RequestBody UserData newData,
        Principal p, Locale locale, HttpServletResponse response) throws ServletException {
    User user = userRepository.findByIdOrNull(id);
    User authenticatedUser = userRepository.findEnabledByUserName(p.getName());

    if (user != null && user.getId().equals(authenticatedUser.getId())) {
        ValidationError maybeError = advancedValidate(null, newData, false, locale);
        if (maybeError != null) {
            return ResponseEntity.badRequest().body(maybeError);
        }//from www  . ja  va 2  s  .  c  om
        return saveUser(user, newData, p, response, false);
    } else {
        return new ResponseEntity<>(HttpStatus.NOT_FOUND);
    }
}

From source file:org.tightblog.ui.restapi.UserController.java

@PutMapping(value = "/tb-ui/admin/rest/useradmin/user/{id}")
public ResponseEntity updateUser(@PathVariable String id, @Valid @RequestBody UserData newData, Principal p,
        Locale locale, HttpServletResponse response) throws ServletException {
    User user = userRepository.findByIdOrNull(id);
    ValidationError maybeError = advancedValidate(user, newData, false, locale);
    if (maybeError != null) {
        return ResponseEntity.badRequest().body(maybeError);
    }//from ww w  .j a va 2  s  . c o m
    return saveUser(user, newData, p, response, false);
}

From source file:org.tightblog.ui.restapi.UserController.java

@PostMapping(value = "/tb-ui/authoring/rest/weblog/{weblogId}/user/{userId}/role/{role}/attach", produces = "text/plain")
public ResponseEntity addUserToWeblog(@PathVariable String weblogId, @PathVariable String userId,
        @PathVariable WeblogRole role, Principal p, Locale locale) {

    User requestor = userRepository.findEnabledByUserName(p.getName());
    User newMember = userRepository.findByIdOrNull(userId);
    Weblog weblog = weblogRepository.findById(weblogId).orElse(null);

    if (weblog != null && newMember != null && requestor != null
            && requestor.hasEffectiveGlobalRole(GlobalRole.ADMIN)) {

        UserWeblogRole roleChk = userWeblogRoleRepository.findByUserAndWeblog(newMember, weblog);
        if (roleChk != null) {
            return ResponseEntity.badRequest()
                    .body(messages.getMessage("members.userAlreadyMember", null, locale));
        }/*from   w  w  w .  j  a v a  2  s  . co  m*/
        userManager.grantWeblogRole(newMember, weblog, role);
        return ResponseEntity.ok(messages.getMessage("members.userAdded", null, locale));
    } else {
        return ResponseEntity.status(HttpServletResponse.SC_FORBIDDEN).build();
    }
}

From source file:org.tightblog.ui.restapi.UserController.java

@PostMapping(value = "/tb-ui/authoring/rest/weblog/{weblogId}/memberupdate", produces = "text/plain")
public ResponseEntity updateWeblogMembership(@PathVariable String weblogId, Principal p, Locale locale,
        @RequestBody List<UserWeblogRole> uwrs) throws ServletException {

    Weblog weblog = weblogRepository.findById(weblogId).orElse(null);
    User user = userRepository.findEnabledByUserName(p.getName());
    if (user != null && weblog != null && user.hasEffectiveGlobalRole(GlobalRole.ADMIN)) {

        // must remain at least one admin
        List<UserWeblogRole> owners = uwrs.stream().filter(r -> r.getWeblogRole().equals(WeblogRole.OWNER))
                .collect(Collectors.toList());
        if (owners.size() < 1) {
            return ResponseEntity.badRequest()
                    .body(messages.getMessage("members.oneAdminRequired", null, locale));
        }/* www .  j av  a2s .c o m*/

        // one iteration for each line (user) in the members table
        for (UserWeblogRole uwr : uwrs) {
            if (WeblogRole.NOBLOGNEEDED.equals(uwr.getWeblogRole())) {
                userManager.deleteUserWeblogRole(uwr);
            } else {
                userManager.grantWeblogRole(uwr.getUser(), uwr.getWeblog(), uwr.getWeblogRole());
            }
        }
        String msg = messages.getMessage("members.membersChanged", null, locale);
        return ResponseEntity.ok(msg);
    } else {
        return new ResponseEntity<>(HttpStatus.FORBIDDEN);
    }
}