AT&T 1712 and 1802 release code
[so.git] / cloudify-client / src / main / java / org / openecomp / mso / cloudify / base / client / CloudifyResponseException.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.openecomp.mso.cloudify.base.client;
22
23 import org.openecomp.mso.cloudify.v3.model.CloudifyError;
24
25 public class CloudifyResponseException extends CloudifyBaseException {
26
27         private static final long serialVersionUID = 7294957362769575271L;
28
29         protected String message;
30         protected int status;
31         
32         // Make the response available for exception handling (includes body)
33         protected CloudifyResponse response;
34
35         public CloudifyResponseException(String message, int status) {
36                 this.message = message;
37                 this.status = status;
38                 this.response = null;
39         }
40
41         // Include the response message itself.  The body is a CloudifyError JSON structure.
42         public CloudifyResponseException(String message, int status, CloudifyResponse response) {
43                 CloudifyError error = response.getErrorEntity(CloudifyError.class);
44                 this.message = message + ": " + error.getErrorCode();
45                 this.status = status;
46                 this.response = response;
47         }
48
49         public String getMessage() {
50                 return message;
51         }
52
53         public int getStatus() {
54                 return status;
55         }
56
57         public CloudifyResponse getResponse() {
58                 return response;
59         }
60
61 }