Support corpus queries

Change-Id: Icf4dd2bb50768fbe0c1ec072cc037219a1798aee
diff --git a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/Exporter.java b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/Exporter.java
index c76ffb1..e2a0c19 100644
--- a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/Exporter.java
+++ b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/Exporter.java
@@ -20,6 +20,8 @@
     public void setFileName (String s);
     public String getQueryString ();
     public void setQueryString (String s);
+    public String getCorpusQueryString ();
+    public void setCorpusQueryString (String s);
 
     // Implemented by Exporter
     public ResponseBuilder serve();
diff --git a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/IdsExportService.java b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/IdsExportService.java
index 211cec3..783fda9 100644
--- a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/IdsExportService.java
+++ b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/IdsExportService.java
@@ -56,6 +56,7 @@
  * - Test Snippet-Export with cutted matches.
  * - Add progress mechanism.
  * - Add CSV export format.
+ * - Add table layout to RTF information.
  */
 
 @Path("/")
@@ -113,6 +114,7 @@
         @FormParam("fname") String fname,
         @FormParam("format") String format,
         @FormParam("q") String q,
+        @FormParam("cq") String cq,
         @FormParam("ql") String ql,
         @FormParam("cutoff") String cutoffStr
         // @FormParam("islimit") String il,
@@ -137,7 +139,6 @@
                     .build());
         };
 
-
         int totalhits = -1;
         
         // Retrieve cutoff value
@@ -166,6 +167,10 @@
             .queryParam("ql", ql)
             ;
 
+        if (cq != null)
+            uri = uri.queryParam("cq", cq);
+
+        
         if (path != "") {
             uri = uri.path(path);
         };
@@ -188,7 +193,7 @@
         String resp;
         WebTarget resource;
         Invocation.Builder reqBuilder;
-                        
+                                
         try {
             resource = client.target(uri.build());
             reqBuilder = resource.request(MediaType.APPLICATION_JSON);
@@ -211,6 +216,7 @@
         };
 
         exp.setQueryString(q);
+        exp.setCorpusQueryString(cq);
         
         // set filename based on query (if not already set)
         if (fname != null) {
@@ -219,7 +225,7 @@
         
         // Initialize exporter (with meta data and first matches)
         exp.init(resp);
-        
+
         // If only one page should be exported there is no need
         // for a temporary export file
         if (cutoff) {
diff --git a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/MatchAggregator.java b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/MatchAggregator.java
index 0ed7973..76503b5 100644
--- a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/MatchAggregator.java
+++ b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/MatchAggregator.java
@@ -40,7 +40,7 @@
     private File file;
     
     private JsonNode meta, query, collection;
-    private String fname, queryString;
+    private String fname, queryString, corpusQueryString;
 
     public String getMimeType() {
         return "text/plain";
@@ -70,6 +70,14 @@
     public String getQueryString () {
         return this.queryString;
     };
+
+    public void setCorpusQueryString (String query) {
+        this.corpusQueryString = query;
+    };
+
+    public String getCorpusQueryString () {
+        return this.corpusQueryString;
+    };
     
     public void setMeta (JsonNode meta) {
         this.meta = meta;
@@ -112,7 +120,7 @@
 
         if (resp == null)
             return;
-
+        
         JsonParser parser = mapper.getFactory().createParser(resp);
         JsonNode actualObj = mapper.readTree(parser);
 
diff --git a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/RtfExporter.java b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/RtfExporter.java
index 5c630c7..0862304 100644
--- a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/RtfExporter.java
+++ b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/RtfExporter.java
@@ -80,11 +80,18 @@
 
         // Add Information table
         if (this.getQueryString() != null) {
-            w.append("{\\pard Query: \\f1 ")
-                .append(this.getQueryString())
-                .append("\\par}\n");
+            w.append("{\\pard Query: \\f1 ");
+            rtfText(w, this.getQueryString());
+            w.append("\\par}\n");
         };
-        
+
+        // Add Information table
+        if (this.getCorpusQueryString() != null) {
+            w.append("{\\pard Corpus: \\f1 ");
+            rtfText(w, this.getCorpusQueryString());
+            w.append("\\par}\n");
+        };
+
         if (this.getMeta() != null) {
             JsonNode m = this.getMeta();
             int totalResults = m.at("/totalResults").asInt();