View Javadoc

1   /**
2    *
3    * Copyright (C) 2011 Cloud Conscious, LLC. <info@cloudconscious.com>
4    *
5    * ====================================================================
6    * Licensed under the Apache License, Version 2.0 (the "License");
7    * you may not use this file except in compliance with the License.
8    * You may obtain a copy of the License at
9    *
10   * http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   * ====================================================================
18   */
19  package org.jclouds.vcloud;
20  
21  import org.jclouds.http.HttpCommand;
22  import org.jclouds.http.HttpResponse;
23  import org.jclouds.http.HttpResponseException;
24  import org.jclouds.vcloud.domain.VCloudError;
25  
26  /**
27   * Encapsulates an VCloud Error.
28   * 
29   * @author Adrian Cole
30   * 
31   */
32  public class VCloudResponseException extends HttpResponseException {
33  
34     private static final long serialVersionUID = 1L;
35  
36     private org.jclouds.vcloud.domain.VCloudError error;
37  
38     public VCloudResponseException(HttpCommand command, HttpResponse response, VCloudError error) {
39        super(String.format("request %s failed with code %s, error: %s", command.getCurrentRequest().getRequestLine(), response
40                 .getStatusCode(), error.toString()), command, response);
41        this.setError(error);
42  
43     }
44  
45     public VCloudResponseException(HttpCommand command, HttpResponse response, VCloudError error, Throwable cause) {
46        super(String.format("request %1$s failed with error: %2$s", command.getCurrentRequest().getRequestLine(), error
47                 .toString()), command, response, cause);
48        this.setError(error);
49  
50     }
51  
52     public VCloudResponseException(String message, HttpCommand command, HttpResponse response, VCloudError error) {
53        super(message, command, response);
54        this.setError(error);
55  
56     }
57  
58     public VCloudResponseException(String message, HttpCommand command, HttpResponse response, VCloudError error,
59              Throwable cause) {
60        super(message, command, response, cause);
61        this.setError(error);
62  
63     }
64  
65     public void setError(VCloudError error) {
66        this.error = error;
67     }
68  
69     public VCloudError getError() {
70        return error;
71     }
72  
73  }