You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by dw...@apache.org on 2008/03/09 12:58:14 UTC

svn commit: r635225 - in /lucene/mahout/trunk/src: main/java/org/apache/mahout/utils/Point.java test/java/org/apache/mahout/clustering/canopy/TestCanopyCreation.java test/java/org/apache/mahout/utils/TestPoint.java

Author: dweiss
Date: Sun Mar  9 04:58:00 2008
New Revision: 635225

URL: http://svn.apache.org/viewvc?rev=635225&view=rev
Log:
Payloads were not taken into account in point parsing.
https://issues.apache.org/jira/browse/MAHOUT-12

Modified:
    lucene/mahout/trunk/src/main/java/org/apache/mahout/utils/Point.java
    lucene/mahout/trunk/src/test/java/org/apache/mahout/clustering/canopy/TestCanopyCreation.java
    lucene/mahout/trunk/src/test/java/org/apache/mahout/utils/TestPoint.java

Modified: lucene/mahout/trunk/src/main/java/org/apache/mahout/utils/Point.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/src/main/java/org/apache/mahout/utils/Point.java?rev=635225&r1=635224&r2=635225&view=diff
==============================================================================
--- lucene/mahout/trunk/src/main/java/org/apache/mahout/utils/Point.java (original)
+++ lucene/mahout/trunk/src/main/java/org/apache/mahout/utils/Point.java Sun Mar  9 04:58:00 2008
@@ -52,16 +52,18 @@
   /**
    * Decodes a point from its string representation.
    *
-   * @param formattedString a comma-terminated String of the form
-   *                        "[v1,v2,...,vn]"
+   * @param formattedString a comma-terminated String of the form 
+   *    "[v1,v2,...,vn]payload". Note the payload remainder: it is optional,
+   *    but can be present.
    * @return the Float[] defining an n-dimensional point
    */
   public static Float[] decodePoint(String formattedString) {
-    if (formattedString.charAt(0) != '[' 
-      || formattedString.charAt(formattedString.length() - 1) != ']') {
+    final int closingBracketIndex = formattedString.indexOf(']'); 
+    if (formattedString.charAt(0) != '[' || closingBracketIndex < 0) {
       throw new IllegalArgumentException(formattedString);
     }
-    formattedString = formattedString.substring(1, formattedString.length() - 1);
+
+    formattedString = formattedString.substring(1, closingBracketIndex);
 
     final String[] pts = splitPattern.split(formattedString);
     final Float[] point = new Float[pts.length];

Modified: lucene/mahout/trunk/src/test/java/org/apache/mahout/clustering/canopy/TestCanopyCreation.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/src/test/java/org/apache/mahout/clustering/canopy/TestCanopyCreation.java?rev=635225&r1=635224&r2=635225&view=diff
==============================================================================
--- lucene/mahout/trunk/src/test/java/org/apache/mahout/clustering/canopy/TestCanopyCreation.java (original)
+++ lucene/mahout/trunk/src/test/java/org/apache/mahout/clustering/canopy/TestCanopyCreation.java Sun Mar  9 04:58:00 2008
@@ -479,10 +479,10 @@
     Text value = new Text();
     assertTrue("more to come", reader.next(key, value));
     assertEquals("1st key", "C0", key.toString());
-    assertEquals("1st value", "C0: [1.5, 1.5, ] ", value.toString());
+    assertEquals("1st value", "C0: [1.5, 1.5]", value.toString());
     assertTrue("more to come", reader.next(key, value));
     assertEquals("2nd key", "C1", key.toString());
-    assertEquals("2nd value", "C1: [4.333333, 4.333333, ] ", value.toString());
+    assertEquals("2nd value", "C1: [4.333333, 4.333333]", value.toString());
     assertFalse("more to come", reader.next(key, value));
     reader.close();
   }
@@ -515,10 +515,10 @@
     Text value = new Text();
     assertTrue("more to come", reader.next(key, value));
     assertEquals("1st key", "C0", key.toString());
-    assertEquals("1st value", "C0: [1.8, 1.8, ] ", value.toString());
+    assertEquals("1st value", "C0: [1.8, 1.8]", value.toString());
     assertTrue("more to come", reader.next(key, value));
     assertEquals("2nd key", "C1", key.toString());
-    assertEquals("2nd value", "C1: [4.4333334, 4.4333334, ] ", value.toString());
+    assertEquals("2nd value", "C1: [4.4333334, 4.4333334]", value.toString());
     assertFalse("more to come", reader.next(key, value));
     reader.close();
   }
@@ -814,10 +814,10 @@
     Text value = new Text();
     assertTrue("more to come", reader.next(key, value));
     assertEquals("1st key", "C0", key.toString());
-    assertEquals("1st value", "C0: [1.5, 1.5, ] ", value.toString());
+    assertEquals("1st value", "C0: [1.5, 1.5]", value.toString());
     assertTrue("more to come", reader.next(key, value));
     assertEquals("2nd key", "C1", key.toString());
-    assertEquals("2nd value", "C1: [4.333333, 4.333333, ] ", value.toString());
+    assertEquals("2nd value", "C1: [4.333333, 4.333333]", value.toString());
     assertFalse("more to come", reader.next(key, value));
     reader.close();
   }

Modified: lucene/mahout/trunk/src/test/java/org/apache/mahout/utils/TestPoint.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/src/test/java/org/apache/mahout/utils/TestPoint.java?rev=635225&r1=635224&r2=635225&view=diff
==============================================================================
--- lucene/mahout/trunk/src/test/java/org/apache/mahout/utils/TestPoint.java (original)
+++ lucene/mahout/trunk/src/test/java/org/apache/mahout/utils/TestPoint.java Sun Mar  9 04:58:00 2008
@@ -35,4 +35,10 @@
         Arrays.asList(new Float [] {1.0f, 2.5f}), 
         Arrays.asList(Point.decodePoint("[1.0, 2.5]")));
   }
+  
+  public void testDecodePointWithPayload() {
+    assertEquals(
+        Arrays.asList(new Float [] {1.0f, 2.5f}), 
+        Arrays.asList(Point.decodePoint("[1.0, 2.5] payloadhere, blah [][]")));
+  }
 }