Author: etnu
Date: Tue Oct  7 02:58:13 2008
New Revision: 702418

URL: http://svn.apache.org/viewvc?rev=702418&view=rev
Log:
Fixed encoding issue when special characters exist in several places.


Modified:
    
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/uri/Uri.java
    
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/common/uri/UriTest.java

Modified: 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/uri/Uri.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/uri/Uri.java?rev=702418&r1=702417&r2=702418&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/uri/Uri.java
 (original)
+++ 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/uri/Uri.java
 Tue Oct  7 02:58:13 2008
@@ -105,7 +105,7 @@
    */
   public URI toJavaUri() {
     try {
-      return new URI(scheme, authority, path, query, fragment);
+      return new URI(toString());
     } catch (URISyntaxException e) {
       // Shouldn't ever happen.
       throw new IllegalArgumentException(e);

Modified: 
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/common/uri/UriTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/common/uri/UriTest.java?rev=702418&r1=702417&r2=702418&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/common/uri/UriTest.java
 (original)
+++ 
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/common/uri/UriTest.java
 Tue Oct  7 02:58:13 2008
@@ -143,6 +143,14 @@
   }
 
   @Test
+  public void toJavaUriWithSpecialChars() {
+    URI javaUri = 
URI.create("http://example.org/foo/bar/baz?blah=bl%25ah#boo";);
+    Uri uri = Uri.parse("http://example.org/foo/bar/baz?blah=bl%25ah#boo";);
+
+    assertEquals(javaUri, uri.toJavaUri());
+  }
+
+  @Test
   public void fromJavaUri() throws Exception {
     URI javaUri = URI.create("http://example.org/foo/bar/baz?blah=blah#boo";);
     Uri uri = Uri.parse("http://example.org/foo/bar/baz?blah=blah#boo";);
@@ -211,6 +219,13 @@
   }
 
   @Test
+  public void parseWithSpecialCharacters() {
+    String original = "http://example.org/?foo%25pbar=baz+blah";;
+
+    assertEquals(original, Uri.parse(original).toString());
+  }
+
+  @Test
   public void equalsAndHashCodeOk() {
     Uri uri = Uri.parse("http://example.org/foo/bar/baz?blah=blah#boo";);
     Uri uri2 = new UriBuilder()


Reply via email to