Author: srowen Date: Tue Apr 20 11:37:01 2010 New Revision: 935877 URL: http://svn.apache.org/viewvc?rev=935877&view=rev Log: Changes for Ch 5 of the book -- handle null prefs
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/PlusAnonymousUserDataModel.java Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/PlusAnonymousUserDataModel.java URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/PlusAnonymousUserDataModel.java?rev=935877&r1=935876&r2=935877&view=diff ============================================================================== --- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/PlusAnonymousUserDataModel.java (original) +++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/PlusAnonymousUserDataModel.java Tue Apr 20 11:37:01 2010 @@ -51,7 +51,7 @@ import org.apache.mahout.cf.taste.model. * </p> * * <p> - * But, continue to use <code>realModel</code> as input to other components. To recommend, first construct and + * But, you may continue to use <code>realModel</code> as input to other components. To recommend, first construct and * set the temporary user information on the model and then simply call the recommender. The * <code>synchronized</code> block exists to remind you that this is of course not thread-safe. Only one set * of temp data can be inserted into the model and used at one time. @@ -66,6 +66,7 @@ import org.apache.mahout.cf.taste.model. * PreferenceArray tempPrefs = ...; * plusModel.setTempPrefs(tempPrefs); * recommender.recommend(PlusAnonymousUserDataModel.TEMP_USER_ID, 10); + * plusModel.setTempPrefs(null); * } * </pre> * @@ -87,8 +88,10 @@ public final class PlusAnonymousUserData public void setTempPrefs(PreferenceArray prefs) { this.tempPrefs = prefs; this.prefItemIDs.clear(); - for (int i = 0; i < prefs.length(); i++) { - this.prefItemIDs.add(prefs.getItemID(i)); + if (prefs != null) { + for (int i = 0; i < prefs.length(); i++) { + this.prefItemIDs.add(prefs.getItemID(i)); + } } }