1 package com.indexdata.mkjsf.pazpar2;
\r
3 import java.io.ByteArrayOutputStream;
\r
4 import java.io.UnsupportedEncodingException;
\r
6 import com.indexdata.masterkey.pazpar2.client.Pazpar2HttpResponse;
\r
8 public class ClientCommandResponse implements HttpResponseWrapper {
\r
10 private int statusCode;
\r
11 private String contentType;
\r
12 private byte[] content = null;
\r
13 private String contentString = null;
\r
14 private byte[] bytesForParsing = null;
\r
16 public ClientCommandResponse(Pazpar2HttpResponse pz2response, ByteArrayOutputStream content) {
\r
17 this.content = content.toByteArray();
\r
18 this.statusCode = pz2response.getStatusCode();
\r
19 this.contentType = pz2response.getContentType();
\r
22 public ClientCommandResponse(int statusCode, String content, String contentType) {
\r
23 this.statusCode = statusCode;
\r
24 this.contentString = content;
\r
25 this.contentType = contentType;
\r
28 public ClientCommandResponse(int statusCode, byte[] content, String contentType) {
\r
29 this.statusCode = statusCode;
\r
30 this.content = content;
\r
31 this.contentType = contentType;
\r
35 public int getStatusCode() {
\r
40 public String getContentType() {
\r
45 public String getResponseString() {
\r
46 if (content == null) {
\r
47 return contentString;
\r
48 } else if (isBinary()) {
\r
49 return "[binary response]";
\r
52 return new String(content,"UTF-8");
\r
53 } catch (UnsupportedEncodingException e) {
\r
54 e.printStackTrace();
\r
55 return "<error>unsupported encoding</error>";
\r
61 public byte[] getBytes() {
\r
65 public void setResponseToParse(String parseString) {
\r
67 this.bytesForParsing = parseString.getBytes("UTF-8");
\r
68 } catch (UnsupportedEncodingException e) {
\r
69 e.printStackTrace();
\r
73 public byte[] getResponseToParse() {
\r
74 if (bytesForParsing != null) {
\r
75 return bytesForParsing;
\r
76 } else if (content != null) {
\r
80 return contentString.getBytes("UTF-8");
\r
81 } catch (UnsupportedEncodingException e) {
\r
82 e.printStackTrace();
\r
89 public boolean isBinary() {
\r
90 return !contentType.contains("xml");
\r