Nilesh has uploaded a new change for review.
https://gerrit.wikimedia.org/r/76012
Change subject: Added web service to provide property suggestions for
pre-existing items
......................................................................
Added web service to provide property suggestions for pre-existing items
Change-Id: I19cdfbfce88ceadf1898f7c3e3fc5665e32b2227
---
A
client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/servlets/ExistingEntitySuggesterServlet.java
M myrrix-web/es-web.xml
M myrrix-web/src/main/webapp/WEB-INF/web.xml
3 files changed, 74 insertions(+), 15 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikidataEntitySuggester
refs/changes/12/76012/1
diff --git
a/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/servlets/ExistingEntitySuggesterServlet.java
b/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/servlets/ExistingEntitySuggesterServlet.java
new file mode 100644
index 0000000..b976a35
--- /dev/null
+++
b/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/servlets/ExistingEntitySuggesterServlet.java
@@ -0,0 +1,50 @@
+package org.wikimedia.wikibase.entitysuggester.client.servlets;
+
+import com.google.common.collect.Iterables;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.List;
+import javax.servlet.ServletException;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import net.myrrix.client.translating.TranslatedRecommendedItem;
+import org.apache.mahout.cf.taste.common.TasteException;
+
+/**
+ * This is part of the actual REST API - client servlet to suggest
+ * wikibaseProperties for already existing (TODO) or anonymous wikibaseItems
+ *
+ * @author Nilesh Chakraborty
+ */
+public class ExistingEntitySuggesterServlet extends
AbstractEntitySuggesterServlet {
+
+ /**
+ * Handle a HTTP GET request to suggest wikibaseProperties for anonymous
+ * wikibaseItems (that don't exist in the dataset)
+ *
+ * @param request
+ * @param response
+ * @throws IOException
+ * @throws ServletException
+ */
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws IOException, ServletException {
+ super.doGet(request, response);
+
+ String pathInfo = request.getPathInfo();
+ String[] pathComponents = Iterables.toArray(SLASH.split(pathInfo),
String.class);
+
+ if (pathComponents.length == 0) {
+ response.sendError(HttpServletResponse.SC_BAD_REQUEST);
+ return;
+ }
+
+ try {
+ List<TranslatedRecommendedItem> recommended =
getClientRecommender().recommend(pathComponents[0], getHowMany(request));
+ output(request, response, recommended);
+ } catch (TasteException te) {
+ response.sendError(HttpServletResponse.SC_BAD_REQUEST,
te.toString());
+ }
+ }
+}
diff --git a/myrrix-web/es-web.xml b/myrrix-web/es-web.xml
index e93d152..e73ab43 100644
--- a/myrrix-web/es-web.xml
+++ b/myrrix-web/es-web.xml
@@ -20,11 +20,6 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<context-param>
-
<param-name>net.myrrix.web.InitListener.RESCORER_PROVIDER_CLASS</param-name>
-
<param-value>org.wikimedia.wikibase.entitysuggester.rescorer.EntityRescorerProvider</param-value>
- </context-param>
-
- <context-param>
<param-name>net.myrrix.web.InitListener.LOCAL_INPUT_DIR</param-name>
<param-value>myrrix</param-value>
</context-param>
@@ -114,8 +109,13 @@
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
- <servlet-name>EntitySuggesterServlet</servlet-name>
-
<servlet-class>org.wikimedia.wikibase.entitysuggester.client.servlets.EntitySuggesterServlet</servlet-class>
+ <servlet-name>AnonymousEntitySuggesterServlet</servlet-name>
+
<servlet-class>org.wikimedia.wikibase.entitysuggester.client.servlets.AnonymousEntitySuggesterServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+ <servlet>
+ <servlet-name>ExistingEntitySuggesterServlet</servlet-name>
+
<servlet-class>org.wikimedia.wikibase.entitysuggester.client.servlets.ExistingEntitySuggesterServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
@@ -173,10 +173,14 @@
<url-pattern>/item/allIDs</url-pattern>
</servlet-mapping>
<servlet-mapping>
- <servlet-name>EntitySuggesterServlet</servlet-name>
+ <servlet-name>AnonymousEntitySuggesterServlet</servlet-name>
<url-pattern>/entitysuggester/suggest/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
+ <servlet-name>ExistingEntitySuggesterServlet</servlet-name>
+ <url-pattern>/entitysuggester/suggestFor/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
<servlet-name>DataIngestServlet</servlet-name>
<url-pattern>/entitysuggester/ingest/*</url-pattern>
</servlet-mapping>
diff --git a/myrrix-web/src/main/webapp/WEB-INF/web.xml
b/myrrix-web/src/main/webapp/WEB-INF/web.xml
index e93d152..e5c6eda 100644
--- a/myrrix-web/src/main/webapp/WEB-INF/web.xml
+++ b/myrrix-web/src/main/webapp/WEB-INF/web.xml
@@ -19,10 +19,6 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
- <context-param>
-
<param-name>net.myrrix.web.InitListener.RESCORER_PROVIDER_CLASS</param-name>
-
<param-value>org.wikimedia.wikibase.entitysuggester.rescorer.EntityRescorerProvider</param-value>
- </context-param>
<context-param>
<param-name>net.myrrix.web.InitListener.LOCAL_INPUT_DIR</param-name>
@@ -114,8 +110,13 @@
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
- <servlet-name>EntitySuggesterServlet</servlet-name>
-
<servlet-class>org.wikimedia.wikibase.entitysuggester.client.servlets.EntitySuggesterServlet</servlet-class>
+ <servlet-name>AnonymousEntitySuggesterServlet</servlet-name>
+
<servlet-class>org.wikimedia.wikibase.entitysuggester.client.servlets.AnonymousEntitySuggesterServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+ <servlet>
+ <servlet-name>ExistingEntitySuggesterServlet</servlet-name>
+
<servlet-class>org.wikimedia.wikibase.entitysuggester.client.servlets.ExistingEntitySuggesterServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
@@ -173,10 +174,14 @@
<url-pattern>/item/allIDs</url-pattern>
</servlet-mapping>
<servlet-mapping>
- <servlet-name>EntitySuggesterServlet</servlet-name>
+ <servlet-name>AnonymousEntitySuggesterServlet</servlet-name>
<url-pattern>/entitysuggester/suggest/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
+ <servlet-name>ExistingEntitySuggesterServlet</servlet-name>
+ <url-pattern>/entitysuggester/suggestFor/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
<servlet-name>DataIngestServlet</servlet-name>
<url-pattern>/entitysuggester/ingest/*</url-pattern>
</servlet-mapping>
--
To view, visit https://gerrit.wikimedia.org/r/76012
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I19cdfbfce88ceadf1898f7c3e3fc5665e32b2227
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