[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