Author: srowen
Date: Wed Jun 17 17:54:26 2009
New Revision: 785745

URL: http://svn.apache.org/viewvc?rev=785745&view=rev
Log:
Ignore blank lines or lines starting with # as a comment, per Grants suggestion

Modified:
    
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/file/FileDataModel.java

Modified: 
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/file/FileDataModel.java
URL: 
http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/file/FileDataModel.java?rev=785745&r1=785744&r2=785745&view=diff
==============================================================================
--- 
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/file/FileDataModel.java
 (original)
+++ 
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/file/FileDataModel.java
 Wed Jun 17 17:54:26 2009
@@ -64,7 +64,8 @@
  * updates to {...@link FileDataModel} without re-copying the entire data 
file.</p>
  *
  * <p>The line may contain a blank preference value (e.g. "123,ABC,"). This is 
interpreted to mean "delete
- * preference", and is only useful in the context of an update delta file (see 
above).</p>
+ * preference", and is only useful in the context of an update delta file (see 
above).
+ * Note that if the line is empty or begins with '#' it will be ignored as a 
comment.</p>
  *
  * <p>Finally, for application that have no notion of a preference value (that 
is, the user simply expresses
  * a preference for an item, but no degree of preference), the caller can 
simply omit the third token in
@@ -204,12 +205,19 @@
    * the item in question if needed, and use {...@link #buildPreference(User, 
Item, double)} to
    * build {...@link Preference} objects as needed.</p>
    *
+   * <p>Note that if the line is empty or begins with '#' it will be ignored 
as a comment.</p>
+   *
    * @param line line from input data file
    * @param data all data read so far, as a mapping from user IDs to 
preferences
    * @see #buildPreference(User, Item, double)
    * @see #buildItem(String)
    */
   protected void processLine(String line, Map<String, List<Preference>> data, 
Map<String, Item> itemCache) {
+
+    if (line.length() == 0 || line.charAt(0) == '#') {
+      return;
+    }
+
     int delimiterOne = line.indexOf((int) delimiter);
     if (delimiterOne < 0) {
       throw new IllegalArgumentException("Bad line: " + line);


Reply via email to