public void validatePasswords(String password, String confirmed) { if (StringUtils.isBlank(password) || password.equals(confirmed) == false) { throw ApiException.badRequest("The two passwords do not match."); } }
public void validatePassword(String password) { if (EqualsUtils.objectsNotEqual(this.password, password)) { throw ApiException.badRequest(INVALID_USER_NAME_OR_PASSWORD); } } public void validatePasswords(String password, String confirmed) {
public ApiException toBadRequestException() { String msg = StringUtils.toDelineatedString("\n", this); return ApiException.badRequest(msg); } }
public ApiException toBadRequestException() { String msg = StringUtils.toDelineatedString("\n", this); return ApiException.badRequest(msg); } }
@Override public void validateWithThrow(Object object, Class<?>... groups) { Set<ConstraintViolation<Object>> violations = validator.validate(object, groups); FineMessageSet messageSet = newFineMessageSet(violations); if (messageSet.isNotEmpty()) { throw ApiException.badRequest(messageSet); } }
public void confirmEmail(ConfirmEmailAction action) { if (EqualsUtils.objectsNotEqual(action.getConfirmationCode(), this.emailConfirmationCode)) { throw ApiException.badRequest("Invalid confirmation code."); } this.emailConfirmed = true; this.emailConfirmationCode = null; }
public Account executeOperation(Account account, CreateAccountAction operation) { if (account != null) { String msg = String.format("The email address \"%s\" already exists.", operation.getEmailAddress()); throw ApiException.badRequest(msg); } account = new Account(operation); store.create(account); return account; }
public Account executeOperation(Account account, LogInAction operation) { if (account == null) { throw ApiException.badRequest(Account.INVALID_USER_NAME_OR_PASSWORD); } if (account.hasTempPassword()) { account.clearTempPassword(); store.update(account); } return account; }
@POST public Response updateClient(@FormParam("domainKey") String domainKey, @FormParam("domainPassword") String domainPassword, @FormParam("retentionDays") int retentionDays) throws Exception { Domain domain = getDomain(); DomainStore domainStore = execContext.getDomainStore(); if (domain.getDomainKey().equals(domainKey) == false && domainStore.getByDomainKey(domainKey) != null) { // The specified name is not the same as the current value but it is already in use by another account. String msg = String.format("The client name %s already exists.", domainKey); throw ApiException.badRequest(msg); } UpdateDomainAction action = new UpdateDomainAction(domainKey, domainPassword, retentionDays); execContext.setLastMessage("Domain configuration changed."); domain.apply(action); domainStore.update(domain); URI uri = execContext.getUriInfo().getBaseUriBuilder().path("manage").path("domain").path(domain.getDomainKey()).build(); return Response.seeOther(uri).build(); }
@POST @Path("/{jobDefinitionId}/commands/{commandIndex}") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public JobExecutionRequest execute(@Context Application app, @Context UriInfo uriInfo, @PathParam("jobDefinitionId") String jobDefinitionId, @PathParam("commandIndex") int commandIndex, JobParameters jobParameters) throws Exception { if (jobParameters == null) { throw ApiException.badRequest("The job parameters must be specified."); } JobDefinitionEntity jobDefinitionEntity = loadJob(app, jobDefinitionId); JobExecutionRequestEntity request = JobExecutionRequestEntity.newEntity(jobDefinitionEntity, jobParameters); JobsApplication.get(app, JobExecutionRequestStore.class).create(request); if (jobParameters.isSynchronous()) { return executeJob(app, request, jobDefinitionEntity, commandIndex); } else { executor.submit(() -> executeJob(app, request, jobDefinitionEntity, commandIndex)); return request.toJobExecutionRequest(); } }
@POST @Path("/domain") public Response createDomain(@FormParam("domainKey") String domainKey, @FormParam("domainPassword") String domainPassword) throws Exception { if (execContext.getDomainStore().getByDomainKey(domainKey) != null) { throw ApiException.badRequest(String.format("The domain \"%s\" already exists.", domainKey)); } CreateDomainAction action = new CreateDomainAction(execContext.getAccount(), domainKey, domainPassword); Domain domain = execContext.getAccount().add(action); execContext.getDomainStore().create(domain); execContext.getAccountStore().update(execContext.getAccount()); return Response.seeOther(new URI("manage/domain/"+domain.getDomainKey())).build(); } }
public Account executeOperation(Account account, ResetPasswordAction operation) { if (account == null) { throw ApiException.badRequest("The email address was not found."); } String tempPassword = account.createTempPassword(); store.update(account); String message = String.format("<h1 style='margin-top:0'>Password Reset</h1><p>Your temporary password for %s is %s.</p>", account.getEmailAddress(), tempPassword); sendEmail(operation.getTemplateUrl(), account.getEmailAddress(), "Password Reset", message); return account; }
public static ApiException fromCode(HttpStatusCode httpStatusCode) { switch (httpStatusCode) { // The 400 series case BAD_REQUEST: return badRequest(); case UNAUTHORIZED: return unauthorized(); case FORBIDDEN: return forbidden(); case NOT_FOUND: return notFound(); case CONFLICT: return conflict(); case PRECONDITION_FAILED: return preconditionFailed(); case IM_A_TEAPOT: return imATeapot(); // The 500 series case INTERNAL_SERVER_ERROR: return internalServerError(); case NOT_IMPLEMENTED: return notImplemented(); case SERVICE_UNAVAILABLE: return serviceUnavailable(); // The 100, 200 & 300 series default: return new ApiException(httpStatusCode); } } public static ApiException fromCode(int code, String message, String...traits) {
public static ApiException fromCode(HttpStatusCode httpStatusCode, FineMessageSet messageSet) { switch (httpStatusCode) { // The 400 series case BAD_REQUEST: return badRequest(messageSet); case UNAUTHORIZED: return unauthorized(messageSet); case FORBIDDEN: return forbidden(messageSet); case NOT_FOUND: return notFound(messageSet); case CONFLICT: return conflict(messageSet); case PRECONDITION_FAILED: return preconditionFailed(messageSet); case IM_A_TEAPOT: return imATeapot(messageSet); // The 500 series case INTERNAL_SERVER_ERROR: return internalServerError(messageSet); case NOT_IMPLEMENTED: return notImplemented(); case SERVICE_UNAVAILABLE: return serviceUnavailable(messageSet); // The 100, 200 & 300 series default: return new ApiException(httpStatusCode, messageSet); } } public static ApiException fromCode(int code, FineMessageSet messageSet, Throwable ex) {
public static ApiException fromCode(HttpStatusCode httpStatusCode, String message, Throwable ex, String...traits) { switch (httpStatusCode) { // The 400 series case BAD_REQUEST: return badRequest(message, ex, traits); case UNAUTHORIZED: return unauthorized(message, ex, traits); case FORBIDDEN: return forbidden(message, ex, traits); case NOT_FOUND: return notFound(message, ex, traits); case CONFLICT: return conflict(message, ex, traits); case PRECONDITION_FAILED: return preconditionFailed(message, ex, traits); case IM_A_TEAPOT: return imATeapot(message, ex, traits); // The 500 series case INTERNAL_SERVER_ERROR: return internalServerError(message, ex, traits); case NOT_IMPLEMENTED: return notImplemented(message, ex, traits); case SERVICE_UNAVAILABLE: return serviceUnavailable(message, ex, traits); // The 100, 200 & 300 series default: return new ApiException(httpStatusCode, message, ex, traits); } } public static ApiException fromCode(int code, FineMessage richMessage) {
public static ApiException fromCode(HttpStatusCode httpStatusCode, String message, String...traits) { switch (httpStatusCode) { // The 400 series case BAD_REQUEST: return badRequest(message, traits); case UNAUTHORIZED: return unauthorized(message, traits); case FORBIDDEN: return forbidden(message, traits); case NOT_FOUND: return notFound(message, traits); case CONFLICT: return conflict(message, traits); case PRECONDITION_FAILED: return preconditionFailed(message, traits); case IM_A_TEAPOT: return imATeapot(message, traits); // The 500 series case INTERNAL_SERVER_ERROR: return internalServerError(message, traits); case NOT_IMPLEMENTED: return notImplemented(message, traits); case SERVICE_UNAVAILABLE: return serviceUnavailable(message, traits); // The 100, 200 & 300 series default: return new ApiException(httpStatusCode, message, traits); } } public static ApiException fromCode(int code, Throwable ex, String...traits) {
public static ApiException fromCode(HttpStatusCode httpStatusCode, FineMessageSet messageSet, Throwable ex) { switch (httpStatusCode) { // The 400 series case BAD_REQUEST: return badRequest(messageSet, ex); case UNAUTHORIZED: return unauthorized(messageSet, ex); case FORBIDDEN: return forbidden(messageSet, ex); case NOT_FOUND: return notFound(messageSet, ex); case CONFLICT: return conflict(messageSet, ex); case PRECONDITION_FAILED: return preconditionFailed(messageSet, ex); case IM_A_TEAPOT: return imATeapot(messageSet, ex); // The 500 series case INTERNAL_SERVER_ERROR: return internalServerError(messageSet, ex); case NOT_IMPLEMENTED: return notImplemented(messageSet, ex); case SERVICE_UNAVAILABLE: return serviceUnavailable(messageSet, ex); // The 100, 200 & 300 series default: return new ApiException(httpStatusCode, messageSet, ex); } } private static HttpStatusCode toHttpStatusCode(int code) {
public static ApiException fromCode(HttpStatusCode httpStatusCode, Throwable ex, String...traits) { switch (httpStatusCode) { // The 400 series case BAD_REQUEST: return badRequest(ex, traits); case UNAUTHORIZED: return unauthorized(ex, traits); case FORBIDDEN: return forbidden(ex, traits); case NOT_FOUND: return notFound(ex, traits); case CONFLICT: return conflict(ex, traits); case PRECONDITION_FAILED: return preconditionFailed(ex, traits); case IM_A_TEAPOT: return imATeapot(ex, traits); // The 500 series case INTERNAL_SERVER_ERROR: return internalServerError(ex, traits); case NOT_IMPLEMENTED: return notImplemented(ex, traits); case SERVICE_UNAVAILABLE: return serviceUnavailable(ex, traits); // The 100, 200 & 300 series default: return new ApiException(httpStatusCode, ex, traits); } } public static ApiException fromCode(int code, String message, Throwable ex, String...traits) {
public static ApiException fromCode(HttpStatusCode httpStatusCode, FineMessage richMessage) { switch (httpStatusCode) { // The 400 series case BAD_REQUEST: return badRequest(richMessage); case UNAUTHORIZED: return unauthorized(richMessage); case FORBIDDEN: return forbidden(richMessage); case NOT_FOUND: return notFound(richMessage); case CONFLICT: return conflict(richMessage); case PRECONDITION_FAILED: return preconditionFailed(richMessage); case IM_A_TEAPOT: return imATeapot(richMessage); // The 500 series case INTERNAL_SERVER_ERROR: return internalServerError(richMessage); case NOT_IMPLEMENTED: return notImplemented(richMessage); case SERVICE_UNAVAILABLE: return serviceUnavailable(richMessage); // The 100, 200 & 300 series default: return new ApiException(httpStatusCode, richMessage); } } public static ApiException fromCode(int code, FineMessage richMessage, Throwable ex) {
public static ApiException fromCode(HttpStatusCode httpStatusCode, FineMessage richMessage, Throwable ex) { switch (httpStatusCode) { // The 400 series case BAD_REQUEST: return badRequest(richMessage, ex); case UNAUTHORIZED: return unauthorized(richMessage, ex); case FORBIDDEN: return forbidden(richMessage, ex); case NOT_FOUND: return notFound(richMessage, ex); case CONFLICT: return conflict(richMessage, ex); case PRECONDITION_FAILED: return preconditionFailed(richMessage, ex); case IM_A_TEAPOT: return imATeapot(richMessage, ex); // The 500 series case INTERNAL_SERVER_ERROR: return internalServerError(richMessage, ex); case NOT_IMPLEMENTED: return notImplemented(richMessage, ex); case SERVICE_UNAVAILABLE: return serviceUnavailable(richMessage, ex); // The 100, 200 & 300 series default: return new ApiException(httpStatusCode, richMessage, ex); } } public static ApiException fromCode(int code, FineMessageSet messageSet) {