summaryrefslogtreecommitdiffstats
path: root/common-app-api/src/main/java/org/openecomp/sdc/common/log/enums/EcompLoggerErrorCode.java
diff options
context:
space:
mode:
Diffstat (limited to 'common-app-api/src/main/java/org/openecomp/sdc/common/log/enums/EcompLoggerErrorCode.java')
-rw-r--r--common-app-api/src/main/java/org/openecomp/sdc/common/log/enums/EcompLoggerErrorCode.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/common/log/enums/EcompLoggerErrorCode.java b/common-app-api/src/main/java/org/openecomp/sdc/common/log/enums/EcompLoggerErrorCode.java
new file mode 100644
index 0000000000..6f7fc1a876
--- /dev/null
+++ b/common-app-api/src/main/java/org/openecomp/sdc/common/log/enums/EcompLoggerErrorCode.java
@@ -0,0 +1,47 @@
+package org.openecomp.sdc.common.log.enums;
+
+import java.util.Arrays;
+import java.util.Optional;
+
+/**
+ * Created by dd4296 on 12/26/2017.
+ */
+public enum EcompLoggerErrorCode {
+ SUCCESS(0),
+ PERMISSION_ERROR(100),
+ AVAILABILITY_TIMEOUTS_ERROR(200),
+ DATA_ERROR(300),
+ SCHEMA_ERROR(400),
+ BUSINESS_PROCESS_ERROR(500),
+ UNKNOWN_ERROR(900);
+
+ private int errorCode;
+
+ EcompLoggerErrorCode(int errorCode) {
+ this.errorCode = errorCode;
+ }
+
+ public int getErrorCode() {
+ return errorCode;
+ }
+
+ public static EcompLoggerErrorCode getByValue(String ecompErrorCode) {
+ String errorPrefix = parseCode(ecompErrorCode);
+ Optional<EcompLoggerErrorCode> optionalCode = Arrays.stream(values()).filter(v->isCode(v, errorPrefix)).findFirst();
+ return optionalCode.orElse(UNKNOWN_ERROR);
+ }
+
+ private static boolean isCode(EcompLoggerErrorCode ecompLoggerErrorCode, String errorPrefix) {
+ return String.valueOf(ecompLoggerErrorCode.getErrorCode()).contains(errorPrefix);
+ }
+
+ private static String parseCode(String errorCode) {
+ try {
+ return errorCode.substring("E_".length(), 3);
+ } catch (StringIndexOutOfBoundsException ex) {
+ return UNKNOWN_ERROR.name();
+ }
+ }
+
+
+}