From 9338362c1605a84a2b8e0a00ad1d65e14789bd6a Mon Sep 17 00:00:00 2001 From: Jennie Jia Date: Fri, 20 Jul 2018 21:23:51 +0000 Subject: Upstreaming the POMBA SDC Context Builder Issue-ID: LOG-522 Change-Id: Ic4606c987a8950ff3d19a8f42f330b08e3f4e4ca Signed-off-by: Jennie Jia --- .../sdc/exception/ToscaCsarException.java | 86 ++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 src/main/java/org/onap/pomba/contextbuilder/sdc/exception/ToscaCsarException.java (limited to 'src/main/java/org/onap/pomba/contextbuilder/sdc/exception/ToscaCsarException.java') diff --git a/src/main/java/org/onap/pomba/contextbuilder/sdc/exception/ToscaCsarException.java b/src/main/java/org/onap/pomba/contextbuilder/sdc/exception/ToscaCsarException.java new file mode 100644 index 0000000..624ee58 --- /dev/null +++ b/src/main/java/org/onap/pomba/contextbuilder/sdc/exception/ToscaCsarException.java @@ -0,0 +1,86 @@ +/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * 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.pomba.contextbuilder.sdc.exception; + +import javax.ws.rs.core.Response.Status; + +public class ToscaCsarException extends Exception { + + private static final long serialVersionUID = 1L; + private final String errorMessage; + private final Status httpStatus; + + /** + * Constructor for an instance of this exception with just a message. + * HTTP Status set to INTERNAL-SERVER-ERROR + * @param message information about the exception + */ + public ToscaCsarException(String message) { + super(message); + errorMessage = message; + httpStatus = Status.INTERNAL_SERVER_ERROR; + } + + /** + * Constructor for an instance of this exception with a message and status. + * @param httpStatus + * @param message + */ + public ToscaCsarException(Status httpStatus, String message) { + super(message); + this.errorMessage = message; + this.httpStatus = httpStatus; + } + + /** + * Constructor for an instance of this exception with a message and actual exception encountered. + * HTTP Status set to INTERNAL-SERVER-ERROR + * @param message information about the exception + * @param cause the actual exception that was encountered + */ + public ToscaCsarException(String message, Throwable cause) { + super(message, cause); + errorMessage = message; + httpStatus = Status.INTERNAL_SERVER_ERROR; + } + + /** + * Constructor for an instance of this exception with a message, status and actual exception encountered. + * @param httpStatus + * @param message + * @param cause + */ + public ToscaCsarException(Status httpStatus, String message, Throwable cause) { + super(message, cause); + this.errorMessage = message; + this.httpStatus = httpStatus; + } + + public Status getStatus() { + return httpStatus; + } + + @Override + public String getMessage() { + String fullMessage = errorMessage; + if(getCause() != null) { + fullMessage += ": " + getCause().getMessage(); + } + return fullMessage; + } +} -- cgit 1.2.3-korg