Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2010-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
   *
   * Licensed under the Apache License, Version 2.0 (the "License").
   * You may not use this file except in compliance with the License.
   * A copy of the License is located at
   * 
   *  http://aws.amazon.com/apache2.0
   * 
  * or in the "license" file accompanying this file. This file is distributed
  * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
  * express or implied. See the License for the specific language governing
  * permissions and limitations under the License.
  */
 package com.amazonaws.transform;
 
 import static com.amazonaws.util.XpathUtils.asString;
 import static com.amazonaws.util.XpathUtils.xpath;
 
 
 
 
Unmarshalls an AWS error response into an AmazonServiceException, or optionally, a subclass of AmazonServiceException if this class is extended.
 
 public class LegacyErrorUnmarshaller implements Unmarshaller<AmazonServiceExceptionNode> {
    
The type of AmazonServiceException that will be instantiated. Subclasses specialized for a specific type of exception can control this through the protected constructor.
 
     private final Class<? extends AmazonServiceExceptionexceptionClass;

    
Constructs a new unmarshaller that will unmarshall AWS error responses as a generic AmazonServiceException object.
 
     public LegacyErrorUnmarshaller() {
         this(AmazonServiceException.class);
     }

    
Constructor allowing subclasses to specify a specific type of AmazonServiceException to instantiating when populating the exception object with data from the AWS error response.

Parameters:
exceptionClass The class of AmazonServiceException to create and populate when unmarshalling the AWS error response.
 
     protected LegacyErrorUnmarshaller(Class<? extends AmazonServiceExceptionexceptionClass) {
         this. = exceptionClass;
     }
 
     @Override
     public AmazonServiceException unmarshall(Node inthrows Exception {
         XPath xpath = xpath();
         String errorCode = parseErrorCode(inxpath);
         String message = asString("Response/Errors/Error/Message"inxpath);
         String requestId = asString("Response/RequestID"inxpath);
         String errorType = asString("Response/Errors/Error/Type"inxpath);
 
         Constructor<? extends AmazonServiceExceptionconstructor = .getConstructor(String.class);
         AmazonServiceException ase = constructor.newInstance(message);
         ase.setErrorCode(errorCode);
         ase.setRequestId(requestId);
 
         if (errorType == null) {
             ase.setErrorType(.);
         } else if (errorType.equalsIgnoreCase("server")) {
             ase.setErrorType(.);
         } else if (errorType.equalsIgnoreCase("client")) {
             ase.setErrorType(.);
         }
 
         return ase;
     }

    
Returns the AWS error code for the specified error response.

Parameters:
in The DOM tree node containing the error response.
Returns:
The AWS error code contained in the specified error response.
Throws:
java.lang.Exception If any problems were encountered pulling out the AWS error code.
 
     public String parseErrorCode(Node inthrows Exception {
         return asString("Response/Errors/Error/Code"in);
    }
    public String parseErrorCode(Node inXPath xpaththrows Exception {
        return asString("Response/Errors/Error/Code"inxpath);
    }

    
Returns the path to the specified property within an error response.

Parameters:
property The name of the desired property.
Returns:
The path to the specified property within an error message.
    public String getErrorPropertyPath(String property) {
        return "Response/Errors/Error/" + property;
    }
New to GrepCode? Check out our FAQ X