Replaced all tabs with spaces in java and pom.xml
[so.git] / adapters / mso-adapters-rest-interface / src / main / java / org / onap / so / openstack / exceptions / MsoOpenstackException.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.onap.so.openstack.exceptions;
22
23
24 /**
25  * OpenStack exception.
26  */
27 public class MsoOpenstackException extends MsoException {
28
29     /**
30      * Serialization id.
31      */
32     private static final long serialVersionUID = 3313636124141766495L;
33
34     private int statusCode;
35     private String statusMessage;
36     private String errorDetail;
37
38     /**
39      * Constructor to create a new MsoOpenstackException instance
40      * 
41      * @param code the error code
42      * @param message the error message
43      * @param detail error details
44      */
45     public MsoOpenstackException(int code, String message, String detail) {
46         // Set the detailed error as the Exception 'message'
47         super(detail);
48         super.category = MsoExceptionCategory.OPENSTACK;
49
50         this.statusCode = code;
51         this.statusMessage = message;
52         this.errorDetail = detail;
53     }
54
55     /**
56      * Constructor to propagate the caught exception (mostly for stack trace)
57      * 
58      * @param code the error code
59      * @param message the error message
60      * @param detail error details
61      * @param e the cause
62      */
63     public MsoOpenstackException(int code, String message, String detail, Exception e) {
64         // Set the detailed error as the Exception 'message'
65         super(detail, e);
66         super.category = MsoExceptionCategory.OPENSTACK;
67
68         this.statusCode = code;
69         this.statusMessage = message;
70         this.errorDetail = detail;
71     }
72
73     @Override
74     public String toString() {
75         return statusCode + " " + statusMessage + ": " + errorDetail;
76     }
77 }