Package com.woorea.openstack.connector

Source Code of com.woorea.openstack.connector.JerseyResponse

package com.woorea.openstack.connector;

import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

import com.sun.jersey.api.client.ClientResponse;
import com.woorea.openstack.base.client.OpenStackResponse;
import com.woorea.openstack.base.client.OpenStackResponseException;

public class JerseyResponse implements OpenStackResponse {

  private ClientResponse response;

  public JerseyResponse(ClientResponse response) {
    this.response = response;
  }

  @Override
  public <T> T getEntity(Class<T> returnType) {
    if(response.getStatus() >= 400) {
      throw new OpenStackResponseException(response.getClientResponseStatus().getReasonPhrase(),
          response.getStatus());
    }
    if(response.hasEntity() && returnType != null && Void.class != returnType) {
      return response.getEntity(returnType);
    } else {
      return null;
    }
  }

  @Override
  public InputStream getInputStream() {
    if(response.hasEntity()) {
      return response.getEntityInputStream();
    } else {
      return null;
    }
  }

  @Override
  public String header(String name) {
    return response.getHeaders().getFirst(name);
  }

  @Override
  public Map<String, String> headers() {
    Map<String, String> headers = new HashMap<String, String>();
    for(String k : response.getHeaders().keySet()) {
      headers.put(k, response.getHeaders().getFirst(k));
    }
    return headers;
  }
}
TOP

Related Classes of com.woorea.openstack.connector.JerseyResponse

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.