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 [][]")));
+ }
}