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();