/** * */ package com.ebay.cloud.cms.typsafe.exception; /** * * Error code enum that represents the CMS server error. * * @author liasu * */ public enum CMSErrorCodeEnum { UNDEFINED_ERROR_CODE(0), OK(200), UNAUTHORIZED(401), DAL_NO_ERROR(1000), VERSION_CONFLICT(1001), MISS_VERSION(1002), INVALID_VERSION(1003), ENTITY_NOT_FOUND(1004), DIRTY_DATA_WRONG_TYPE(1005), PROCESS_JSON(1006), MISS_REFID(1007), MISS_META_FIELD(1008), MISS_RUNTIME_FIELD(1009), MISS_ID(1010), NO_TYPE_IN_DBOBJECT(1011), TYPE_INCONSISTENCY(1012), REPOSITORYNAME_INCONSISTENCY(1013), BRANCHID_INCONSISTENCY(1014), VIOLATE_REFERENCE_INTEGRITY(1015), ENTITY_ALREADY_EXIST(1016), CONSTANT_FIELD_MODIFICATION(1017), STANDALONE_EMBED(1018), MISMATCH_META_TYPE(1019), INVALID_EMBED_ID(1020), ENTITY_NOT_ACTIVE(1021), CANNOT_DELETE_EXPRESSION_FIELD(1022), VALIDATION_FAILED(1023), DUPLICATE_REFERENCE(1024), AGGREGATION_FAILED(1101), MONGO_EXCEPTON_DUPLICATE(1301), MONGO_EXCEPTION_NETWORK(1302), MONGO_EXCEPTION_CURSORNOTFOUND(1303), MONGO_EXCEPTION_UNKNOWN(1310), JS_EXPRESSION_EXECUTION_ERROR(1401), JS_EXPRESSION_TIMEOUT(1402), ENTMGR_NO_ERROR(10000), @Deprecated ENTITY_CREATE(10001), BRANCH_NOT_FOUND(10002), BRANCH_COMMIT_VERSION_CONFLICT(10003), BRANCH_STATUS_WRONG(10004), BRANCH_UNSUPPORT_HISOTRY(10005), REPOSITORY_NOT_FOUND(10006), FIELD_NOT_FOUND(10007), BRANCH_EXISTS(10008), ILLEGAL_BRANCH_ENTITY(10009), BRANCH_WRONG_OPS(10010), ENTMGR_VIOLATE_REFERENCE_INTEGRITY(10011), ENTITY_EXISTED(10012), UNIQUE_INDEX_VIOLATION(10013), OPERATION_CHECK_FAILED(10014, "operation check failed, possibly acl issue!"), CONDITIONAL_UPDATE_FAILED(10015), INNER_RELATIONSHIP_EXISTED(10016), INVALID_HOST_ENTITY_PATH(10017), INNER_ENTITY_NOT_EXIST_IN_HOST(10018), INNER_RELATIONSHIP_IMMUTABLE(10019), META_CONTAINS_INNER_RELATIONSHIP(10020), EMBED_RELATIONSHIP_IMMUTABLE(10021), QUERY_NO_ERROR(20000), METACLASS_NOT_FOUND(20001), METAFIELD_NOT_FOUND(20002), PARSE_GRAMMER_ERROR(20003), REJECT_FULL_TABLE_SCAN(20004), DIRTY_DATA_FORMAT(20005), AGG_FIELD_IN_GROUP(20006), AGG_WITHOUT_GROUP(20007), AGG_FUNC_NOT_FOUND(20008), MULTI_AGGR_FORBID(20009), PROJECT_NON_AGGR(20010), IILEGAL_PROJECTION(20011), UNKNOWN_FIELD(20012), SYNTAX_ERROR(20013), TYPE_CAST_NOT_SUBMETA(20014), INCOMPLETE_JOIN_QUERY(20015), TOO_DEEP_EXECUTION(20016), JOIN_COUNT_NOT_SUPPORT(20017), AGGREGATION_MUST_BEFORE_SET(20018), JOIN_SORT_NOT_SUPPORT(20019), ARRAY_SORT_NOT_SUPPORT(20020), JSON_SORT_NOT_SUPPORT(20021) ; private final int errorCode; private final String description; CMSErrorCodeEnum(int code, String desp){ this.errorCode = code; this.description = desp; } CMSErrorCodeEnum(int code){ this(code, null); } String getDescription() { return description; } public static CMSErrorCodeEnum getErrorEnum(int errorCode) { for (CMSErrorCodeEnum en : CMSErrorCodeEnum.values()) { if (en.errorCode == errorCode) { return en; } } // instead of throw exception, return a common undefind enum. return UNDEFINED_ERROR_CODE; } public int getErrorCode() { return errorCode; } }