Javadoc
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / ClientCommandResponse.java
index 0375ca1..01444ef 100644 (file)
@@ -5,12 +5,13 @@ import java.io.UnsupportedEncodingException;
 \r
 import com.indexdata.masterkey.pazpar2.client.Pazpar2HttpResponse;\r
 \r
-public class ClientCommandResponse implements CommandResponse {\r
+public class ClientCommandResponse implements HttpResponseWrapper {\r
     \r
   private int statusCode;\r
   private String contentType;\r
   private byte[] content = null;\r
   private String contentString = null;\r
+  private byte[] bytesForParsing = null;\r
   \r
   public ClientCommandResponse(Pazpar2HttpResponse pz2response, ByteArrayOutputStream content) {    \r
     this.content = content.toByteArray();\r
@@ -44,6 +45,8 @@ public class ClientCommandResponse implements CommandResponse {
   public String getResponseString() {\r
     if (content == null) {\r
       return contentString;\r
+    } else if (isBinary()) {\r
+      return "[binary response]";\r
     } else {\r
       try {\r
         return new String(content,"UTF-8");\r
@@ -58,7 +61,30 @@ public class ClientCommandResponse implements CommandResponse {
   public byte[] getBytes() {\r
     return content;\r
   }\r
+  \r
+  public void setResponseToParse(String parseString) {    \r
+    try {\r
+      this.bytesForParsing = parseString.getBytes("UTF-8");\r
+    } catch (UnsupportedEncodingException e) {      \r
+      e.printStackTrace();\r
+    }\r
+  }\r
 \r
+  public byte[] getResponseToParse() {\r
+    if (bytesForParsing != null) {\r
+      return bytesForParsing;\r
+    } else if (content != null) {\r
+      return content;\r
+    } else {\r
+      try {\r
+        return contentString.getBytes("UTF-8");\r
+      } catch (UnsupportedEncodingException e) {\r
+        e.printStackTrace();\r
+        return null;\r
+      }\r
+    }\r
+  }\r
+  \r
   @Override\r
   public boolean isBinary() {    \r
     return !contentType.contains("xml");\r