summaryrefslogtreecommitdiffstats
path: root/security-util-lib/src/main/java/org/onap/sdc/security/logging/enums/EcompLoggerErrorCode.java
diff options
context:
space:
mode:
Diffstat (limited to 'security-util-lib/src/main/java/org/onap/sdc/security/logging/enums/EcompLoggerErrorCode.java')
-rw-r--r--security-util-lib/src/main/java/org/onap/sdc/security/logging/enums/EcompLoggerErrorCode.java64
1 files changed, 64 insertions, 0 deletions
diff --git a/security-util-lib/src/main/java/org/onap/sdc/security/logging/enums/EcompLoggerErrorCode.java b/security-util-lib/src/main/java/org/onap/sdc/security/logging/enums/EcompLoggerErrorCode.java
new file mode 100644
index 0000000..1bc1461
--- /dev/null
+++ b/security-util-lib/src/main/java/org/onap/sdc/security/logging/enums/EcompLoggerErrorCode.java
@@ -0,0 +1,64 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdc.security.logging.enums;
+
+import java.util.Arrays;
+import java.util.Optional;
+
+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();
+ }
+ }
+
+
+}