X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fcom%2Findexdata%2Fmkjsf%2Fpazpar2%2FPz2CommandResponse.java;h=df14da718af30607580aa57b9d04c1fa94fd4a7d;hb=249aba186bb25b673bc701f4614cfe1981cd6767;hp=0471b666223ea310fabeb6e91d1e75d87be54411;hpb=3d2e0f114bc4f80e13b82799324538b6a2a03bdf;p=mkjsf-moved-to-github.git diff --git a/src/main/java/com/indexdata/mkjsf/pazpar2/Pz2CommandResponse.java b/src/main/java/com/indexdata/mkjsf/pazpar2/Pz2CommandResponse.java index 0471b66..df14da7 100644 --- a/src/main/java/com/indexdata/mkjsf/pazpar2/Pz2CommandResponse.java +++ b/src/main/java/com/indexdata/mkjsf/pazpar2/Pz2CommandResponse.java @@ -8,32 +8,61 @@ import com.indexdata.masterkey.pazpar2.client.Pazpar2HttpResponse; public class Pz2CommandResponse implements CommandResponse { private Pazpar2HttpResponse pz2httpResponse = null; - private ByteArrayOutputStream content = null; + private int statusCode; + private String contentType; + private byte[] content = null; + private String contentString = null; public Pz2CommandResponse(Pazpar2HttpResponse pz2response, ByteArrayOutputStream content) { pz2httpResponse = pz2response; - this.content = content; + this.content = content.toByteArray(); + this.statusCode = pz2httpResponse.getStatusCode(); + this.contentType = pz2httpResponse.getContentType(); + } + + public Pz2CommandResponse(Pazpar2HttpResponse pz2response, String content) { + pz2httpResponse = pz2response; + this.contentString = content; + } + + public Pz2CommandResponse(int statusCode, String content, String contentType) { + this.statusCode = statusCode; + this.contentString = content; + this.contentType = contentType; } @Override public int getStatusCode() { - return pz2httpResponse.getStatusCode(); + return statusCode; } @Override public String getContentType() { - return pz2httpResponse.getContentType(); + return contentType; } @Override public String getResponseString() { - try { - return content.toString("UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - return null; + if (content == null) { + return contentString; + } else { + try { + return new String(content,"UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + return "unsupported encoding"; + } } } + @Override + public byte[] getBinaryResponse() { + return content; + } + + @Override + public boolean isBinary() { + return !contentType.contains("xml"); + } }