[freenet-cvs] r13935 - in trunk/freenet: src/freenet/support test/freenet/support
nextgens at freenetproject.org
nextgens at freenetproject.org
Wed Jul 4 23:04:37 UTC 2007
Author: nextgens
Date: 2007-07-04 23:04:37 +0000 (Wed, 04 Jul 2007)
New Revision: 13935
Modified:
trunk/freenet/src/freenet/support/SimpleFieldSet.java
trunk/freenet/test/freenet/support/SimpleFieldSetTest.java
Log:
Resolve 1493: SimpleFieldSet get() method fails when a key with a couple of paired .. is put
Modified: trunk/freenet/src/freenet/support/SimpleFieldSet.java
===================================================================
--- trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-07-04 22:59:32 UTC (rev 13934)
+++ trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-07-04 23:04:37 UTC (rev 13935)
@@ -169,8 +169,8 @@
if(idx == -1)
return (String) values.get(key);
else if(idx == 0)
- return null;
- else {
+ return (subset("") == null) ? null : subset("").get(key.substring(1));
+ else {
if(subsets == null) return null;
String before = key.substring(0, idx);
String after = key.substring(idx+1);
Modified: trunk/freenet/test/freenet/support/SimpleFieldSetTest.java
===================================================================
--- trunk/freenet/test/freenet/support/SimpleFieldSetTest.java 2007-07-04 22:59:32 UTC (rev 13934)
+++ trunk/freenet/test/freenet/support/SimpleFieldSetTest.java 2007-07-04 23:04:37 UTC (rev 13935)
@@ -56,18 +56,8 @@
String methodKey = "foo..bar";
String methodValue = "foobar";
methodSFS.putSingle(methodKey,methodValue);
- methodSFS.subset("foo").subset("").get("bar"); /*it returns "foobar" */
-
- /*methodSFS.subset("foo").subset(null).get("bar"); /* it raises null exception
- * because subset(null) returns
- * null by default */
-
- methodSFS.get("foo..bar"); /* it doesn't work
- * but if I put("foo.bar.boo","bazoo")
- * and I get("foo.bar.boo") -> it returns "bazoo"
- * so it should do the same for "foo..bar"
- * or it would raise an exception */
- //assertEquals(methodSFS.get(methodKey),methodValue);
+ assertEquals(methodSFS.subset("foo").subset("").get("bar"),methodValue);
+ assertEquals(methodSFS.get(methodKey),methodValue);
}
/**
@@ -80,7 +70,7 @@
String methodKey = "foo..bar";
String methodValue = "foobar";
methodSFS.putAppend(methodKey,methodValue);
- //assertEquals(methodSFS.get(methodKey),methodValue);
+ assertEquals(methodSFS.get(methodKey),methodValue);
}
/**
@@ -672,4 +662,4 @@
Iterator itr = methodSFS.keyIterator(methodPrefix);
assertTrue(areAllContainedKeys(SAMPLE_STRING_PAIRS,methodPrefix,itr));
}
-}
\ No newline at end of file
+}
More information about the cvs
mailing list