Nilesh has uploaded a new change for review.
https://gerrit.wikimedia.org/r/79928
Change subject: Moved recommender init to start of doPost; avoid duplicate
properties in property list using HashSet.
......................................................................
Moved recommender init to start of doPost; avoid duplicate properties in
property list using HashSet.
Change-Id: I8ec9fe35e407b521331979b500da2eb17bba6d07
---
M
client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/servlets/DataIngestServlet.java
1 file changed, 19 insertions(+), 14 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikidataEntitySuggester
refs/changes/28/79928/1
diff --git
a/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/servlets/DataIngestServlet.java
b/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/servlets/DataIngestServlet.java
index 0e35bf8..c119c41 100644
---
a/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/servlets/DataIngestServlet.java
+++
b/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/servlets/DataIngestServlet.java
@@ -2,12 +2,11 @@
import com.google.common.base.Charsets;
import java.io.*;
-import java.net.URISyntaxException;
import java.nio.charset.Charset;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.NoSuchElementException;
import java.util.zip.GZIPInputStream;
-import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -28,8 +27,8 @@
public class DataIngestServlet extends AbstractEntitySuggesterServlet {
/**
- * Handle a HTTP POST request where the training file contents are sent in
- * the POST body.
+ * Handle a HTTP POST request to read the contents of the training file,
+ * where each row contains wikibaseItem,wikibaseProperty,relativeScore.
*
* @param request
* @param response
@@ -39,6 +38,19 @@
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws IOException, ServletException {
super.doPost(request, response);
+ if (getServletConfig().getServletContext().getAttribute("recommender")
== null) {
+ try {
+ MyrrixClientConfiguration config = new
MyrrixClientConfiguration();
+ config.setHost(request.getServerName());
+ config.setPort(request.getServerPort());
+ WebClientRecommender webClientRecommender = new
WebClientRecommender(new TranslatingClientRecommender(new
ClientRecommender(config)));
+
getServletConfig().getServletContext().setAttribute("recommender",
webClientRecommender);
+ } catch (TasteException te) {
+
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, te.toString());
+ getServletContext().log("Unexpected error in " +
getClass().getSimpleName(), te);
+ }
+ }
+
Reader reader;
String contentEncoding = request.getHeader("Content-Encoding");
if (contentEncoding == null) {
@@ -53,7 +65,7 @@
}
BufferedReader br = new BufferedReader(reader);
- ArrayList<String> myrrixItemList = new ArrayList<String>();
+ HashSet<String> myrrixItemSet = new HashSet<String>();
String temp;
StringBuilder dataBuilder = new StringBuilder();
while ((temp = br.readLine()) != null) {
@@ -64,19 +76,12 @@
for (int i = 1; i < chunks.length - 1; i++) { // Extract only
the middle portion (the wikibaseProperty)
property += chunks[i];
}
- myrrixItemList.add(property); // Creating the list of
wikibaseProperties
+ myrrixItemSet.add(property); // Creating the list of
wikibaseProperties
}
}
try {
- MyrrixClientConfiguration config = new MyrrixClientConfiguration();
- config.setHost(request.getServerName());
- config.setPort(request.getServerPort());
- if
(getServletConfig().getServletContext().getAttribute("recommender") == null) {
- WebClientRecommender webClientRecommender = new
WebClientRecommender(new TranslatingClientRecommender(new
ClientRecommender(config)));
-
getServletConfig().getServletContext().setAttribute("recommender",
webClientRecommender);
- }
- getClientRecommender().addPropertyIDs(myrrixItemList);
+ getClientRecommender().addPropertyIDs(new
ArrayList<String>(myrrixItemSet));
getClientRecommender().ingest(new
StringReader(dataBuilder.toString()));
} catch (IllegalArgumentException iae) {
response.sendError(HttpServletResponse.SC_BAD_REQUEST,
iae.toString());
--
To view, visit https://gerrit.wikimedia.org/r/79928
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I8ec9fe35e407b521331979b500da2eb17bba6d07
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