Daniel Kinzler has submitted this change and it was merged.

Change subject: Added doc comments to ClientRecommender classes and their 
methods
......................................................................


Added doc comments to ClientRecommender classes and their methods

Change-Id: I54b98280f5020f1fddb90f69a032ab3efa7686c7
---
M 
client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/recommender/AbstractClientRecommender.java
M 
client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/recommender/CLIClientRecommender.java
M 
client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/recommender/WebClientRecommender.java
3 files changed, 104 insertions(+), 1 deletion(-)

Approvals:
  Daniel Kinzler: Verified; Looks good to me, approved



diff --git 
a/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/recommender/AbstractClientRecommender.java
 
b/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/recommender/AbstractClientRecommender.java
index 85a665f..68ea9fb 100644
--- 
a/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/recommender/AbstractClientRecommender.java
+++ 
b/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/recommender/AbstractClientRecommender.java
@@ -16,8 +16,15 @@
 import org.apache.mahout.cf.taste.common.TasteException;
 
 /**
+ * Extend this class to delegate calls for suggesting wikibaseProperties for
+ * already existing and new wikibaseItems to a Myrrix
+ * TranslatingClientRecommender object.
  *
- * @author nilesh
+ * ClientRecommenders are basically Java wrappers used to query the Myrrix
+ * servlets using TranslatingClientRecommenders to handle String IDs to numeric
+ * hashes to be used with Myrrix.
+ *
+ * @author Nilesh Chakraborty
  */
 abstract class AbstractClientRecommender {
 
diff --git 
a/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/recommender/CLIClientRecommender.java
 
b/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/recommender/CLIClientRecommender.java
index 8f1b4e9..2ee20f9 100644
--- 
a/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/recommender/CLIClientRecommender.java
+++ 
b/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/recommender/CLIClientRecommender.java
@@ -14,6 +14,9 @@
 import org.wikimedia.wikibase.entitysuggester.client.CLIEntitySuggester;
 
 /**
+ * Command-line ClientRecommender mainly used for debugging purposes. This is
+ * used to fetch suggestions and write the results to the console by taking the
+ * wikibaseProperty and wikibaseItems labels from a MySQL database.
  *
  * @author Nilesh Chakraborty
  */
@@ -24,10 +27,21 @@
     private String dbUser;
     private String dbPassword;
 
+    /**
+     *
+     * @param myrrixClientConfiguration
+     */
     public CLIClientRecommender(MyrrixClientConfiguration 
myrrixClientConfiguration) {
         super(myrrixClientConfiguration);
     }
 
+    /**
+     *
+     * @param dbHost
+     * @param dbName
+     * @param dbUser
+     * @param dbPassword
+     */
     public void setDatabaseInfo(String dbHost, String dbName, String dbUser, 
String dbPassword) {
         this.dbHost = dbHost;
         this.dbName = dbName;
@@ -35,6 +49,16 @@
         this.dbUser = dbUser;
     }
 
+    /**
+     * Used to fetch wikibaseProperty suggestions for already existing
+     * wikibaseItems.
+     *
+     * @param idListFile
+     * @param recommendTo
+     * @param recommendType
+     * @param howMany
+     * @return
+     */
     @Override
     public List<TranslatedRecommendedItem> recommend(String idListFile, String 
recommendTo, String recommendType, int howMany) {
         try {
@@ -48,6 +72,16 @@
         return null;
     }
 
+    /**
+     * Used to fetch wikibaseProperty suggestions for already anonymous 
(perhaps
+     * being created) wikibaseItems.
+     *
+     * @param idListFile
+     * @param recommendType
+     * @param howMany
+     * @param list
+     * @return
+     */
     @Override
     public List<TranslatedRecommendedItem> recommendAnonymous(String 
idListFile, String recommendType, int howMany, String[] list) {
         try {
@@ -62,6 +96,12 @@
         return null;
     }
 
+    /**
+     * Used to feed/train Myrrix with a csv file containing rows of
+     * wikibaseItem, wikibaseProperty, weight
+     *
+     * @param csvFile
+     */
     @Override
     public void ingest(String csvFile) {
         try {
@@ -72,6 +112,17 @@
         }
     }
 
+    /**
+     * Writes suggestion results to the console by taking the wikibaseProperty
+     * and wikibaseItems labels from a MySQL database.
+     *
+     * @param recommendations
+     * @param recommendType
+     * @param dbHost
+     * @param dbName
+     * @param dbUser
+     * @param dbPassword
+     */
     private void writeResults(List<TranslatedRecommendedItem> recommendations, 
String recommendType, String dbHost, String dbName, String dbUser, String 
dbPassword) {
         if (!recommendations.isEmpty()) {
             Connection connect = null;
diff --git 
a/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/recommender/WebClientRecommender.java
 
b/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/recommender/WebClientRecommender.java
index 3f1867b..c480ded 100644
--- 
a/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/recommender/WebClientRecommender.java
+++ 
b/client/src/main/java/org/wikimedia/wikibase/entitysuggester/client/recommender/WebClientRecommender.java
@@ -10,27 +10,65 @@
 import org.apache.mahout.cf.taste.common.TasteException;
 
 /**
+ * The actual ClientRecommender class used inside the client servlets.
  *
  * @author Nilesh Chakraborty
  */
 public class WebClientRecommender extends AbstractClientRecommender {
 
+    /**
+     * Create a WebClientRecommender.
+     *
+     * @param idListFile - The path to the file with the list of
+     * wikibaseProperties This may be removed in the near future, if I remove
+     * wikibaseValue suggestion from this part of the suggester engine.
+     * @param myrrixClientConfiguration
+     * @throws TasteException
+     */
     public WebClientRecommender(String idListFile, MyrrixClientConfiguration 
myrrixClientConfiguration) throws TasteException {
         super(myrrixClientConfiguration);
         clientRecommender.addItemIDs(new File(idListFile));
     }
 
+    /**
+     * Same as above, except that it takes a URI instead of a String for
+     * specifying the idListFile path.
+     *
+     * @param idListFile
+     * @param myrrixClientConfiguration
+     * @throws TasteException
+     */
     public WebClientRecommender(URI idListFile, MyrrixClientConfiguration 
myrrixClientConfiguration) throws TasteException {
         super(myrrixClientConfiguration);
         clientRecommender.addItemIDs(new File(idListFile));
     }
 
+    /**
+     * Used to fetch wikibaseProperty suggestions for already existing
+     * wikibaseItems.
+     *
+     * @param recommendTo
+     * @param recommendType
+     * @param howMany
+     * @return
+     * @throws TasteException
+     */
     @Override
     public List<TranslatedRecommendedItem> recommend(String recommendTo, 
String recommendType, int howMany) throws TasteException {
         List<TranslatedRecommendedItem> recommendations = 
clientRecommender.recommend(recommendTo, howMany, false, new 
String[]{recommendType});
         return recommendations;
     }
 
+    /**
+     * Used to fetch wikibaseProperty suggestions for already anonymous 
(perhaps
+     * being created) wikibaseItems.
+     *
+     * @param recommendType
+     * @param howMany
+     * @param list
+     * @return
+     * @throws TasteException
+     */
     @Override
     public List<TranslatedRecommendedItem> recommendAnonymous(String 
recommendType, int howMany, String[] list) throws TasteException {
         float[] values = new float[list.length];
@@ -39,6 +77,13 @@
         return recommendations;
     }
 
+    /**
+     * Used to feed/train Myrrix with a csv file containing rows of
+     * wikibaseItem, wikibaseProperty, weight
+     *
+     * @param csvReader
+     * @throws TasteException
+     */
     @Override
     public void ingest(Reader csvReader) throws TasteException {
         clientRecommender.ingest(csvReader);

-- 
To view, visit https://gerrit.wikimedia.org/r/75365
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I54b98280f5020f1fddb90f69a032ab3efa7686c7
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikidataEntitySuggester
Gerrit-Branch: master
Gerrit-Owner: Nilesh <nil...@nileshc.com>
Gerrit-Reviewer: Daniel Kinzler <daniel.kinz...@wikimedia.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to