View Javadoc

1   /**
2    * Licensed to jclouds, Inc. (jclouds) under one or more
3    * contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  jclouds licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  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,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.jclouds.azure.storage;
20  
21  import org.jclouds.azure.storage.domain.AzureStorageError;
22  import org.jclouds.http.HttpCommand;
23  import org.jclouds.http.HttpResponse;
24  import org.jclouds.http.HttpResponseException;
25  
26  /**
27   * Encapsulates an Error from Azure Storage Services.
28   * 
29   * @see <a href="http://docs.amazonwebservices.com/AmazonS3/2006-03-01/UsingRESTError.html" />
30   * @see AzureStorageError
31   * @see org.jclouds.aws.handlers.ParseAzureStorageErrorFromXmlContent
32   * @author Adrian Cole
33   * 
34   */
35  public class AzureStorageResponseException extends HttpResponseException {
36  
37     private static final long serialVersionUID = 1L;
38  
39     private AzureStorageError error = new AzureStorageError();
40  
41     public AzureStorageResponseException(HttpCommand command, HttpResponse response, AzureStorageError error) {
42        super(String.format("command %s failed with code %s, error: %s", command.toString(), response
43                 .getStatusCode(), error.toString()), command, response);
44        this.setError(error);
45  
46     }
47  
48     public AzureStorageResponseException(HttpCommand command, HttpResponse response, AzureStorageError error,
49              Throwable cause) {
50        super(String.format("command %1$s failed with error: %2$s", command.toString(), error
51                 .toString()), command, response, cause);
52        this.setError(error);
53  
54     }
55  
56     public AzureStorageResponseException(String message, HttpCommand command, HttpResponse response,
57              AzureStorageError error) {
58        super(message, command, response);
59        this.setError(error);
60  
61     }
62  
63     public AzureStorageResponseException(String message, HttpCommand command, HttpResponse response,
64              AzureStorageError error, Throwable cause) {
65        super(message, command, response, cause);
66        this.setError(error);
67  
68     }
69  
70     public void setError(AzureStorageError error) {
71        this.error = error;
72     }
73  
74     public AzureStorageError getError() {
75        return error;
76     }
77  
78  }