Handle empty resource description.
Change-Id: I4caa6d751ac2a70a17ee7a68de721423205ddd5e
diff --git a/ChangeLog b/ChangeLog
index 87ef4b7..0153d19 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,8 @@
1.0.8-SNAPSHOT
- handle resource pid and resolve resources (virtual corpora) using map (#62)
+- handle empty description.
+
1.0.7-SNAPSHOT
diff --git a/src/main/java/de/ids_mannheim/korap/sru/KorapEndpointDescription.java b/src/main/java/de/ids_mannheim/korap/sru/KorapEndpointDescription.java
index d1c5fb6..c79d9d2 100644
--- a/src/main/java/de/ids_mannheim/korap/sru/KorapEndpointDescription.java
+++ b/src/main/java/de/ids_mannheim/korap/sru/KorapEndpointDescription.java
@@ -118,8 +118,6 @@
List<ResourceInfo> resourceList = new ArrayList<ResourceInfo>();
- Map<String, String> description;
-
KorapResource[] resources;
try {
resources = KorapSRU.korapClient.retrieveResources();
@@ -130,8 +128,12 @@
}
for (KorapResource r : resources) {
- description = new HashMap<String, String>();
- description.put("en", r.getDescription());
+ Map<String, String> description = null;
+ String rDesc = r.getDescription();
+ if (rDesc != null && !rDesc.isEmpty()) {
+ description = new HashMap<String, String>();
+ description.put("en", r.getDescription());
+ }
ResourceInfo ri = new ResourceInfo(r.getResourceId(), r.getTitles(),
description, null, r.getLandingPage(),
diff --git a/src/test/java/de/ids_mannheim/korap/test/KorapSRUTest.java b/src/test/java/de/ids_mannheim/korap/test/KorapSRUTest.java
index d04b0f2..91b1a0c 100644
--- a/src/test/java/de/ids_mannheim/korap/test/KorapSRUTest.java
+++ b/src/test/java/de/ids_mannheim/korap/test/KorapSRUTest.java
@@ -373,7 +373,7 @@
.getNamedItem("qualifier").getNodeValue());
nodelist = doc.getElementsByTagName("ed:Resource");
- assertEquals(3, nodelist.getLength());
+ assertEquals(5, nodelist.getLength());
children = nodelist.item(0).getChildNodes();
assertEquals(7, children.getLength());
assertEquals("ed:Title", children.item(0).getNodeName());
@@ -382,6 +382,11 @@
assertEquals("ed:Languages", children.item(4).getNodeName());
assertEquals("ed:AvailableDataViews", children.item(5).getNodeName());
assertEquals("ed:AvailableLayers", children.item(6).getNodeName());
+
+ // no description
+ children = nodelist.item(3).getChildNodes();
+ assertEquals(6, children.getLength());
+ assertEquals("ed:LandingPageURI", children.item(2).getNodeName());
}
}
diff --git a/src/test/resources/korap-api-responses/resources.json b/src/test/resources/korap-api-responses/resources.json
index 929572a..72662d5 100644
--- a/src/test/resources/korap-api-responses/resources.json
+++ b/src/test/resources/korap-api-responses/resources.json
@@ -1,65 +1,100 @@
[
- {
- "resourceId": "http://hdl.handle.net/10932/00-03B6-558F-4E10-6201-1",
- "titles": {
- "de": "Deutsche Wikipedia Artikel 2017",
- "en": "German Wikipedia Articles 2017"
+ {
+ "resourceId": "http://hdl.handle.net/10932/00-03B6-558F-4E10-6201-1",
+ "titles": {
+ "de": "Deutsche Wikipedia Artikel 2017",
+ "en": "German Wikipedia Articles 2017"
+ },
+ "description": "A collection of articles of German Wikipedia from July 1st, 2017.",
+ "languages": ["deu"],
+ "layers": {
+ "1": "opennlp/p",
+ "29": "corenlp/p",
+ "30": "tt/l",
+ "14": "marmot/m",
+ "15": "marmot/p",
+ "31": "tt/p"
+ },
+ "institution": "IDS Mannheim",
+ "landingPage": "https://korap.ids-mannheim.de?cq=corpusSigle%3DWPD17",
+ "requiredAccess": "FREE"
},
- "description": "A collection of articles of German Wikipedia from July 1st, 2017.",
- "languages": [
- "deu"
- ],
- "layers": {
- "1": "opennlp/p",
- "14": "marmot/m",
- "15": "marmot/p",
- "29": "corenlp/p",
- "30": "tt/l",
- "31": "tt/p"
+ {
+ "resourceId": "http://hdl.handle.net/10932/00-03B6-558F-5EA0-6301-B",
+ "titles": {
+ "de": "Deutsche Wikipedia-Diskussionskorpus 2017",
+ "en": "German Wikipedia talk corpus 2017"
+ },
+ "description": "A collection of talk pages of German Wikipedia from July 1st, 2017.",
+ "languages": ["deu"],
+ "layers": {
+ "1": "opennlp/p",
+ "29": "corenlp/p",
+ "30": "tt/l",
+ "14": "marmot/m",
+ "15": "marmot/p",
+ "31": "tt/p"
+ },
+ "institution": "IDS Mannheim",
+ "landingPage": "https://korap.ids-mannheim.de?cq=corpusSigle%3DWDD17",
+ "requiredAccess": "FREE"
},
- "institution": "IDS Mannheim",
- "landingPage": "https://korap.ids-mannheim.de?cq=corpusSigle=WPD17"
- },
- {
- "resourceId": "http://hdl.handle.net/10932/00-03B6-558F-5EA0-6301-B",
- "titles": {
- "de": "Deutsche Wikipedia-Diskussionskorpus 2017",
- "en": "German Wikipedia talk corpus 2017"
+ {
+ "resourceId": "http://hdl.handle.net/10932/00-03B6-558F-6EF0-6401-F",
+ "titles": {
+ "de": "Deutsche Wikipedia-Benutzerdiskussionskorpus 2017",
+ "en": "German Wikipedia user talk corpus 2017"
+ },
+ "description": "A collection of user talk pages of German Wikipedia from July 1st, 2017.",
+ "languages": ["deu"],
+ "layers": {
+ "1": "opennlp/p",
+ "29": "corenlp/p",
+ "30": "tt/l",
+ "14": "marmot/m",
+ "15": "marmot/p",
+ "31": "tt/p"
+ },
+ "institution": "IDS Mannheim",
+ "landingPage": "https://korap.ids-mannheim.de?cq=corpusSigle%3DWUD17",
+ "requiredAccess": "FREE"
},
- "description": "A collection of talk pages of German Wikipedia from July 1st, 2017.",
- "languages": [
- "deu"
- ],
- "layers": {
- "1": "opennlp/p",
- "14": "marmot/m",
- "15": "marmot/p",
- "29": "corenlp/p",
- "30": "tt/l",
- "31": "tt/p"
+ {
+ "resourceId": "Romane",
+ "titles": {
+ "de": "Romane",
+ "en": "Roman"
+ },
+ "languages": ["deu"],
+ "layers": {
+ "1": "opennlp/p",
+ "29": "corenlp/p",
+ "30": "tt/l",
+ "14": "marmot/m",
+ "15": "marmot/p",
+ "31": "tt/p"
+ },
+ "institution": "IDS Mannheim",
+ "landingPage": "https://korap.ids-mannheim.de?cq=textType+%3D+%2F.*%5BRr%5Doman%2F",
+ "requiredAccess": "ALL"
},
- "institution": "IDS Mannheim",
- "landingPage": "https://korap.ids-mannheim.de?cq=corpusSigle=WDD17"
- },
- {
- "resourceId": "http://hdl.handle.net/10932/00-03B6-558F-6EF0-6401-F",
- "titles": {
- "de": "Deutsche Wikipedia-Benutzerdiskussionskorpus 2017",
- "en": "German Wikipedia user talk corpus 2017"
- },
- "description": "A collection of user talk pages of German Wikipedia from July 1st, 2017.",
- "languages": [
- "deu"
- ],
- "layers": {
- "1": "opennlp/p",
- "14": "marmot/m",
- "15": "marmot/p",
- "29": "corenlp/p",
- "30": "tt/l",
- "31": "tt/p"
- },
- "institution": "IDS Mannheim",
- "landingPage": "https://korap.ids-mannheim.de?cq=corpusSigle=WUD17"
- }
-]
\ No newline at end of file
+ {
+ "resourceId": "Literatur",
+ "titles": {
+ "de": "Literatur",
+ "en": "Literature"
+ },
+ "languages": ["deu"],
+ "layers": {
+ "1": "opennlp/p",
+ "29": "corenlp/p",
+ "30": "tt/l",
+ "14": "marmot/m",
+ "15": "marmot/p",
+ "31": "tt/p"
+ },
+ "institution": "IDS Mannheim",
+ "landingPage": "https://korap.ids-mannheim.de?cq=textType+%3D+%2F%28.*%5BRr%5Doman%7C%5BBb%5Diographie%7C%5BDd%5Drama%7C%5BSs%5Dschauspiel%29%2F",
+ "requiredAccess": "ALL"
+ }
+]