Nilesh has uploaded a new change for review.
https://gerrit.wikimedia.org/r/76640
Change subject: JSON output is now done with GSON library. Fixed tests to work
properly with changed WebClientRecommender.
......................................................................
JSON output is now done with GSON library. Fixed tests to work properly with
changed WebClientRecommender.
Change-Id: If49272fd8ad3b7fcae23dcb505c3bcfcb1870e3b
---
M client/pom.xml
M
client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/servlets/AbstractEntitySuggesterServlet.java
M
client/src/test/java/org/wikimedia/wikibase/entitysuggester/client/recommender/WebClientRecommenderTest.java
M
client/src/test/java/org/wikimedia/wikibase/entitysuggester/client/servlets/AbstractEntitySuggesterServletTest.java
4 files changed, 20 insertions(+), 17 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikidataEntitySuggester
refs/changes/40/76640/1
diff --git a/client/pom.xml b/client/pom.xml
index ce6dc08..3c62566 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -12,6 +12,11 @@
<version>0.0.2</version>
<dependencies>
<dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>2.2.4</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>0.20.2-cdh3u6</version>
diff --git
a/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/servlets/AbstractEntitySuggesterServlet.java
b/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/servlets/AbstractEntitySuggesterServlet.java
index 3d55bcf..1df53f4 100644
---
a/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/servlets/AbstractEntitySuggesterServlet.java
+++
b/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/servlets/AbstractEntitySuggesterServlet.java
@@ -1,10 +1,15 @@
package org.wikimedia.wikibase.entitysuggester.client.servlets;
import com.google.common.base.Splitter;
+import com.google.gson.FieldNamingPolicy;
+import com.google.gson.FieldNamingStrategy;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URISyntaxException;
import java.net.URL;
+import java.util.ArrayList;
import java.util.List;
import javax.naming.Context;
import javax.naming.InitialContext;
@@ -61,21 +66,12 @@
PrintWriter writer = response.getWriter();
// Always print JSON
- writer.write('[');
- boolean first = true;
+ List suggestedProperties = new ArrayList();
for (TranslatedRecommendedItem item : items) {
- if (first) {
- first = false;
- } else {
- writer.write(',');
- }
- writer.write("[\"");
- writer.write(item.getItemID());
- writer.write("\",");
- writer.write(Float.toString(item.getValue()));
- writer.write(']');
+ suggestedProperties.add(new Object[]{item.getItemID(),
item.getValue()});
}
- writer.write(']');
+ String json = new Gson().toJson(suggestedProperties);
+ writer.write(json);
writer.flush();
}
}
diff --git
a/client/src/test/java/org/wikimedia/wikibase/entitysuggester/client/recommender/WebClientRecommenderTest.java
b/client/src/test/java/org/wikimedia/wikibase/entitysuggester/client/recommender/WebClientRecommenderTest.java
index 5541293..7964843 100644
---
a/client/src/test/java/org/wikimedia/wikibase/entitysuggester/client/recommender/WebClientRecommenderTest.java
+++
b/client/src/test/java/org/wikimedia/wikibase/entitysuggester/client/recommender/WebClientRecommenderTest.java
@@ -55,7 +55,8 @@
ArrayList<String> propertyIDList = new ArrayList<String>();
propertyIDList.add("P67");
propertyIDList.add("P192");
- AbstractClientRecommender webClientRecommender = new
WebClientRecommender(propertyIDList, translatingRecommender);
+ translatingRecommender.addItemIDs(propertyIDList);
+ AbstractClientRecommender webClientRecommender = new
WebClientRecommender(translatingRecommender);
// Test with a wikibaseItem that is in the Myrrix model
List<TranslatedRecommendedItem> suggestions =
webClientRecommender.recommend("Q87", 10);
@@ -72,7 +73,8 @@
ArrayList<String> propertyIDList = new ArrayList<String>();
propertyIDList.add("P67");
propertyIDList.add("P192");
- AbstractClientRecommender webClientRecommender = new
WebClientRecommender(propertyIDList, translatingRecommender);
+ translatingRecommender.addItemIDs(propertyIDList);
+ AbstractClientRecommender webClientRecommender = new
WebClientRecommender(translatingRecommender);
List<TranslatedRecommendedItem> suggestions =
webClientRecommender.recommendAnonymous(new String[]{"P67", "P78"}, 2);
assertEquals("P67", suggestions.get(0).getItemID());
diff --git
a/client/src/test/java/org/wikimedia/wikibase/entitysuggester/client/servlets/AbstractEntitySuggesterServletTest.java
b/client/src/test/java/org/wikimedia/wikibase/entitysuggester/client/servlets/AbstractEntitySuggesterServletTest.java
index 34916b6..ae195e2 100644
---
a/client/src/test/java/org/wikimedia/wikibase/entitysuggester/client/servlets/AbstractEntitySuggesterServletTest.java
+++
b/client/src/test/java/org/wikimedia/wikibase/entitysuggester/client/servlets/AbstractEntitySuggesterServletTest.java
@@ -65,11 +65,11 @@
ArrayList<String> propertyIDList = new ArrayList<String>();
propertyIDList.add("P67");
propertyIDList.add("P192");
- WebClientRecommender webClientRecommender = new
WebClientRecommender(propertyIDList, translatingRecommender);
+ translatingRecommender.addItemIDs(propertyIDList);
+ WebClientRecommender webClientRecommender = new
WebClientRecommender(translatingRecommender);
servlet.getServletConfig().getServletContext().setAttribute("recommender",
webClientRecommender);;
MockHttpServletRequest mockHttpServletRequest = new
MockHttpServletRequest();
- servlet.initializeClientRecommender(mockHttpServletRequest);
WebClientRecommender fromServlet = servlet.getClientRecommender();
List<TranslatedRecommendedItem> suggestions =
webClientRecommender.recommend("Q87", 10);
--
To view, visit https://gerrit.wikimedia.org/r/76640
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: If49272fd8ad3b7fcae23dcb505c3bcfcb1870e3b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikidataEntitySuggester
Gerrit-Branch: master
Gerrit-Owner: Nilesh <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits