Add source to info table in RTF export
Change-Id: I3b6dd9d07cab581c411ffdc40fc415744aaf2bbc
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 a54460f..72e4b0e 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
@@ -22,6 +22,9 @@
public void setQueryString (String s);
public String getCorpusQueryString ();
public void setCorpusQueryString (String s);
+ public String getSource ();
+ public void setSource (String h, String p);
+
public int getTotalResults ();
public boolean hasTimeExceeded ();
public void setMaxResults (int m);
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 c36bb7c..b9370aa 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
@@ -219,6 +219,7 @@
exp.setMaxResults(maxResults);
exp.setQueryString(q);
exp.setCorpusQueryString(cq);
+ exp.setSource(host, path);
// set filename based on query (if not already set)
if (fname != null) {
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 e19bd98..c7b447f 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
@@ -41,7 +41,7 @@
private File file;
private JsonNode meta, query, collection;
- private String fname, queryString, corpusQueryString;
+ private String fname, queryString, corpusQueryString, src;
private boolean timeExceeded = false;
private int totalResults = -1;
private int maxResults = -1;
@@ -91,6 +91,21 @@
public String getCorpusQueryString () {
return this.corpusQueryString;
};
+
+ public void setSource (String host, String path) {
+ StringBuilder s = new StringBuilder(32);
+ if (host != null)
+ s.append(host);
+
+ if (path != null && path.length() > 0)
+ s.append('/').append(path);
+
+ this.src = s.toString();
+ };
+
+ public String getSource () {
+ return this.src;
+ };
public void setMeta (JsonNode meta) {
this.meta = meta;
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 52e7114..d47a32d 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
@@ -175,6 +175,10 @@
this.addInfoRow(w, "Fetched", this.getMaxResults());
};
+ if (this.getSource() != null) {
+ this.addInfoRow(w, "Source", this.getSource());
+ };
+
this.addInfoRow(w, "Export-Plugin", this.getVersion().toString());
};
diff --git a/plugin/src/test/java/de/ids_mannheim/korap/plkexport/IdsExportServiceTest.java b/plugin/src/test/java/de/ids_mannheim/korap/plkexport/IdsExportServiceTest.java
index c3391a6..d316c9a 100644
--- a/plugin/src/test/java/de/ids_mannheim/korap/plkexport/IdsExportServiceTest.java
+++ b/plugin/src/test/java/de/ids_mannheim/korap/plkexport/IdsExportServiceTest.java
@@ -56,7 +56,9 @@
private static ClientAndServer mockServer;
private static MockServerClient mockClient;
private ObjectMapper mapper = new ObjectMapper();
-
+
+ private static final String CELLSPLIT = "\\cell\\cf0\\fs18\\b0\\f1 ";
+
@BeforeClass
public static void startServer() {
// Define logging rules for Mock-Server
@@ -509,13 +511,13 @@
Status.OK.getStatusCode(), responsertf.getStatus());
str = responsertf.readEntity(String.class);
+ System.err.println(str);
assertTrue("Page 1 content", str.contains("Ironhoof"));
assertTrue("Page 2 content", str.contains("Sinologie"));
assertTrue("Unicode handling", str.contains("\\u252\\'fcbersetzt"));
- assertTrue("TotalResults1", str.contains("Count:"));
- assertTrue("TotalResults2", str.contains("9\\cell"));
- assertTrue("Fetched1", str.contains("Fetched:"));
- assertTrue("Fetched2", str.contains("7\\cell"));
+ assertTrue("TotalResults", str.contains("Count:" + CELLSPLIT + "9\\cell"));
+ assertTrue("Fetched", str.contains("Fetched:" + CELLSPLIT + "7\\cell"));
+ assertTrue("Source", str.contains("Source:" + CELLSPLIT + "localhost\\cell"));
}
diff --git a/plugin/src/test/java/de/ids_mannheim/korap/plkexport/MatchAggregatorTest.java b/plugin/src/test/java/de/ids_mannheim/korap/plkexport/MatchAggregatorTest.java
index dd97f18..52a8f71 100644
--- a/plugin/src/test/java/de/ids_mannheim/korap/plkexport/MatchAggregatorTest.java
+++ b/plugin/src/test/java/de/ids_mannheim/korap/plkexport/MatchAggregatorTest.java
@@ -101,4 +101,21 @@
m.setFileName("Beispiel");
assertEquals(m.getFileName(),"Beispiel");
};
+
+ @Test
+ public void testSource () throws IOException {
+ MatchAggregator m = new MatchAggregator();
+ assertNull(m.getSource());
+ m.setSource("localhost","");
+ assertEquals(m.getSource(),"localhost");
+ m.setSource("localhost",null);
+ assertEquals(m.getSource(),"localhost");
+ m.setSource("localhost","path");
+ assertEquals(m.getSource(),"localhost/path");
+ m.setSource("","path");
+ assertEquals(m.getSource(),"/path");
+ m.setSource(null,"path");
+ assertEquals(m.getSource(),"/path");
+ };
+
};
diff --git a/plugin/src/test/java/de/ids_mannheim/korap/plkexport/RtfExportTest.java b/plugin/src/test/java/de/ids_mannheim/korap/plkexport/RtfExportTest.java
index 799ff6c..359b8ca 100644
--- a/plugin/src/test/java/de/ids_mannheim/korap/plkexport/RtfExportTest.java
+++ b/plugin/src/test/java/de/ids_mannheim/korap/plkexport/RtfExportTest.java
@@ -14,7 +14,7 @@
import de.ids_mannheim.korap.plkexport.JsonExporter;
public class RtfExportTest {
-
+
@Test
public void testInit () throws IOException {
RtfExporter rtf = new RtfExporter();