package in.partake.resource; /** * UserErrorCode describes why the user request is invalid. * @author shinyak * */ public enum UserErrorCode { // TODO: 表記を揃える。invalid.<type>.<reason> に固定すること。 // TODO: invalid から始まることがわかっているのだから、ここではとってしまってもいいかもしれない。resources_ja.properties では残す。 // UNKNOWN_USER_ERROR("invalid.unknown"), INTENTIONAL_USER_ERROR("invalid.intentional"), UNEXPECTED_REQUEST("invalid.request.unexpected"), // BASE INVALID_ARGUMENT("invalid.argument"), INVALID_PARAMETERS("invalid.parameters"), INVALID_LOGIN_REQUIRED("invalid.login", 401), INVALID_PROHIBITED("invalid.prohibited", 403), INVALID_NOTFOUND("invalid.notfound", 404), INVALID_NONMULTIPART_REQUEST("invalid.request.nonmultipart"), // ADMIN INVALID_ADMIN_SETTING_KEY("invalid.admin.setting.key"), // EVENT INVALID_EVENT_ID("invalid.event.id"), MISSING_EVENT_ID("invalid.event.id.missing"), FORBIDDEN_EVENT_SHOW("invalid.event.show.forbidden", 403), FORBIDDEN_EVENT_EDIT("invalid.event.edit.forbidden", 403), FORBIDDEN_EVENT_COPY("invalid.event.copy.forbidden", 403), FORBIDDEN_EVENT_ATTENDANT_EDIT("invalid.event.attendant.edit.forbidden", 403), INVALID_ENROLL_TIMEOVER("invalid.event.enroll.timeover"), INVALID_ENROLL_STATUS("invalid.event.enroll.status"), INVALID_ENROLL_REQUIRED("invalid.event.enroll.required"), INVALID_ATTENDANT_EDIT("invalid.attendant.edit"), EVENT_ALREADY_PUBLISHED("invalid.event.publish.already"), // TICKET INVALID_TICKET_ID("invalid.ticket.id"), MISSING_TICKET_ID("invalid.ticket.id.missing"), INVALID_TICKET_DUPLICATE_ID("invalid.ticket.id.duplicate"), INVALID_TICKET_REMOVAL_ENROLLED("invalid.ticket.removal.enrolled"), // TICKET APPLICATION INVALID_APPLICATION_RESERVATION_TIMEOVER("invalid.application.reservation.timeover"), // ENQUETE MISSING_ENQUETE_QUESTION("invalid.enquete.question.missing"), MISSING_ENQUETE_TYPE("invalid.enquete.type.missing"), MISSING_ENQUETE_OPTION("invalid.enquete.option.missing"), INVALID_ENQUETE_PARAMS("invalid.enquete.params"), INVALID_ENQUETE_ANSWERS("invalid.enquete.answers"), // USER INVALID_USER_ID("invalid.invalid_userid"), MISSING_USER_ID("invalid.missing_userid"), INVALID_USER_PRIVATE("invalid.user.profile.private", 403), MISSING_USERNAME("invalid.user.username.missing"), BANNED_USER("invalid.user.banned", 403), // OPEN_ID INVALID_OPENID("invalid.invalid_openid"), MISSING_OPENID("invalid.missing_openid"), INVALID_OPENID_PURPOSE("invalid.openid.purpose"), INVALID_OPENID_IDENTIFIER("invalid.openid.identifier"), // IMAGE INVALID_IMAGEID("invalid.image.id"), MISSING_IMAGEID("invalid.image.id.missing"), INVALID_NOIMAGE("invalid.image.noimage"), INVALID_IMAGE_CONTENTTYPE("invalid.image.contenttype"), INVALID_IMAGE_OWNER("invalid.image.owner"), // CALENDAR INVALID_CALENDAR_ID("invalid.calendar.id"), MISSING_CALENDAR_ID("invalid.calendar.id.missing"), // SESSION INVALID_SESSION("invalid.invalid_session"), MISSING_SESSION("invalid.missing_session"), // SECURITY INVALID_SECURITY_CSRF("invalid.security.csrf"), // ATTENDANCE INVALID_ATTENDANCE_STATUS("invalid.invalid_attendance_status"), MISSING_ATTENDANCE_STATUS("invalid.missing_attendance_status"), // SEARCH INVALID_SEARCH_QUERY("invalid.invalid_search_query"), MISSING_SEARCH_QUERY("invalid.missing_search_query"), INVALID_SEARCH_CATEGORY("invalid.invalid_search_category"), MISSING_SEARCH_CATEGORY("invalid.missing_search_category"), INVALID_SEARCH_DEADLINE("invalid.invalid_search_deadline"), MISSING_SEARCH_DEADLINE("invalid.missing_search_deadline"), INVALID_SEARCH_ORDER("invalid.invalid_search_order"), MISSING_SEARCH_ORDER("invalid.missing_search_order"), INVALID_SEARCH_MAXNUM("invalid.invalid_search_max_num"), MISSING_SEARCH_MAXNUM("invalid.missing_search_max_num"), // COMMENT INVALID_COMMENT_ID("invalid.comment.id"), MISSING_COMMENT_ID("invalid.comment.id.missing"), MISSING_COMMENT("invalid.comment.missing"), INVALID_COMMENT_TOOLONG("invalid.comment.toolong"), COMMENT_REMOVAL_FORBIDDEN("invalid.comment.removal.forbidden", 403), // MESSAGE MISSING_MESSAGE("invalid.message.missing"), MISSING_MESSAGE_SUBJECT("invalid.message.subject"), INVALID_MESSAGE_SUBJECT_TOOLONG("invalid.message.subject.toolong"), INVALID_MESSAGE_TOOMUCH("invalid.message.toomuch"), INVALID_MESSAGE_TOOLONG("invalid.message.toolong"), FORBIDDEN_MESSAGE_SHOW("invalid.message.show.forbidden", 403), // ENROLLMENT INVALID_MISSING_VIP("invalid.enrollment.vip.missing"), // NOTIFICATION FORBIDDEN_SHOW_NOTIFICATION("invalid.notification.show.forbidden"), // OAUTH INVALID_OAUTH_VERIFIER("invalid.oauth.verifier"); // ---------------------------------------------------------------------- public static UserErrorCode safeValueOf(String id) { if (id == null) return null; UserErrorCode errorCode = null; try { errorCode = UserErrorCode.valueOf(id); } catch (IllegalArgumentException ignore) { } if (errorCode != null) return errorCode; for (UserErrorCode ec : UserErrorCode.values()) { if (ec.errorDescriptionId.equalsIgnoreCase(id)) return ec; if (ec.toString().equalsIgnoreCase(id)) return ec; } return null; } // ---------------------------------------------------------------------- private final String errorDescriptionId; private final int statusCode; private UserErrorCode(String errorReason) { this(errorReason, 400); } private UserErrorCode(String errorReason, int statusCode) { this.errorDescriptionId = errorReason; this.statusCode = statusCode; } public String getErrorCode() { return errorDescriptionId; } public int getStatusCode() { return statusCode; } public String getReasonString() { return I18n.t(errorDescriptionId); } }