List of usage examples for org.springframework.http ResponseEntity badRequest
public static BodyBuilder badRequest()
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); } }