--- /dev/null
+package com.indexdata.mkjsf.pazpar2;\r
+\r
+import java.io.ByteArrayOutputStream;\r
+import java.io.UnsupportedEncodingException;\r
+\r
+import com.indexdata.masterkey.pazpar2.client.Pazpar2HttpResponse;\r
+\r
+public class ClientCommandResponse implements CommandResponse {\r
+ \r
+ private int statusCode;\r
+ private String contentType;\r
+ private byte[] content = null;\r
+ private String contentString = null;\r
+ \r
+ public ClientCommandResponse(Pazpar2HttpResponse pz2response, ByteArrayOutputStream content) { \r
+ this.content = content.toByteArray();\r
+ this.statusCode = pz2response.getStatusCode();\r
+ this.contentType = pz2response.getContentType();\r
+ }\r
+ \r
+ public ClientCommandResponse(int statusCode, String content, String contentType) {\r
+ this.statusCode = statusCode;\r
+ this.contentString = content;\r
+ this.contentType = contentType;\r
+ }\r
+ \r
+ public ClientCommandResponse(int statusCode, byte[] content, String contentType) {\r
+ this.statusCode = statusCode;\r
+ this.content = content;\r
+ this.contentType = contentType;\r
+ }\r
+\r
+ @Override\r
+ public int getStatusCode() { \r
+ return statusCode;\r
+ }\r
+\r
+ @Override\r
+ public String getContentType() {\r
+ return contentType;\r
+ }\r
+\r
+ @Override\r
+ public String getResponseString() {\r
+ if (content == null) {\r
+ return contentString;\r
+ } else {\r
+ try {\r
+ return new String(content,"UTF-8");\r
+ } catch (UnsupportedEncodingException e) { \r
+ e.printStackTrace();\r
+ return "<error>unsupported encoding</error>";\r
+ }\r
+ }\r
+ }\r
+\r
+ @Override\r
+ public byte[] getBytes() {\r
+ return content;\r
+ }\r
+\r
+ @Override\r
+ public boolean isBinary() { \r
+ return !contentType.contains("xml");\r
+ }\r
+\r
+}\r