2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.so.openstack.exceptions;
25 * OpenStack exception.
27 public class MsoOpenstackException extends MsoException {
32 private static final long serialVersionUID = 3313636124141766495L;
34 private int statusCode;
35 private String statusMessage;
36 private String errorDetail;
39 * Constructor to create a new MsoOpenstackException instance
41 * @param code the error code
42 * @param message the error message
43 * @param detail error details
45 public MsoOpenstackException(int code, String message, String detail) {
46 // Set the detailed error as the Exception 'message'
48 super.category = MsoExceptionCategory.OPENSTACK;
50 this.statusCode = code;
51 this.statusMessage = message;
52 this.errorDetail = detail;
56 * Constructor to propagate the caught exception (mostly for stack trace)
58 * @param code the error code
59 * @param message the error message
60 * @param detail error details
63 public MsoOpenstackException(int code, String message, String detail, Exception e) {
64 // Set the detailed error as the Exception 'message'
66 super.category = MsoExceptionCategory.OPENSTACK;
68 this.statusCode = code;
69 this.statusMessage = message;
70 this.errorDetail = detail;
74 public String toString() {
75 return statusCode + " " + statusMessage + ": " + errorDetail;