aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/exception/DiscoveryException.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/exception/DiscoveryException.java')
-rw-r--r--src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/exception/DiscoveryException.java21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/exception/DiscoveryException.java b/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/exception/DiscoveryException.java
index 3f46324..d2fd561 100644
--- a/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/exception/DiscoveryException.java
+++ b/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/exception/DiscoveryException.java
@@ -26,7 +26,8 @@ public class DiscoveryException extends Exception {
private final Status httpStatus;
public DiscoveryException(String message) {
- this(message, Status.INTERNAL_SERVER_ERROR);
+ super(message);
+ this.httpStatus = matchErrorCode(message);
}
public DiscoveryException(String message, Status httpStatus) {
@@ -39,11 +40,27 @@ public class DiscoveryException extends Exception {
public DiscoveryException(String message, Exception cause) {
super(message, cause);
- this.httpStatus = Status.INTERNAL_SERVER_ERROR;
+ this.httpStatus = matchErrorCode(cause.getMessage());
}
public Status getHttpStatus() {
return this.httpStatus;
}
+ private Status matchErrorCode(String errorMessage) {
+ if (errorMessage.toLowerCase().contains("auth")) {
+ return Status.UNAUTHORIZED;
+ }
+ if ((errorMessage.toLowerCase().contains("missing"))) {
+ return Status.BAD_REQUEST;
+ } else {
+ for (Status st : Status.values()) {
+
+ if (errorMessage.toLowerCase().contains(st.getReasonPhrase().toLowerCase())) {
+ return st;
+ }
+ }
+ }
+ return Status.INTERNAL_SERVER_ERROR;
+ }
}