Case when uri has fragment and does not have query

Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/66803bcc
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/66803bcc
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/66803bcc

Branch: refs/remotes/origin/camel-2.13.x
Commit: 66803bcc6e0c789a0f309bc769daf520a6e2ec91
Parents: 229890c
Author: Vitaly Lavrov <lav...@osinka.ru>
Authored: Mon Sep 8 21:11:02 2014 +0400
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Mon Sep 29 08:32:37 2014 +0200

----------------------------------------------------------------------
 .../src/main/java/org/apache/camel/util/URISupport.java       | 3 +++
 .../src/test/java/org/apache/camel/util/URISupportTest.java   | 7 +++++++
 2 files changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/66803bcc/camel-core/src/main/java/org/apache/camel/util/URISupport.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/util/URISupport.java 
b/camel-core/src/main/java/org/apache/camel/util/URISupport.java
index 0f37a2c..607f859 100644
--- a/camel-core/src/main/java/org/apache/camel/util/URISupport.java
+++ b/camel-core/src/main/java/org/apache/camel/util/URISupport.java
@@ -321,6 +321,9 @@ public final class URISupport {
         // assemble string as new uri and replace parameters with the query 
instead
         String s = uri.toString();
         String before = ObjectHelper.before(s, "?");
+        if (before == null) {
+            before = ObjectHelper.before(s, "#");
+        }
         if (before != null) {
             s = before;
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/66803bcc/camel-core/src/test/java/org/apache/camel/util/URISupportTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/util/URISupportTest.java 
b/camel-core/src/test/java/org/apache/camel/util/URISupportTest.java
index 0e6f1b1..cdefcec 100644
--- a/camel-core/src/test/java/org/apache/camel/util/URISupportTest.java
+++ b/camel-core/src/test/java/org/apache/camel/util/URISupportTest.java
@@ -155,6 +155,13 @@ public class URISupportTest extends ContextTestSupport {
         assertEquals("smtp://localhost#fragmentOne", resultUri.toString());
     }
 
+    public void testCreateURIWithQueryHasOneFragmentAndQueryParameter() throws 
Exception {
+        URI uri = new URI("smtp://localhost#fragmentOne");
+        URI resultUri = URISupport.createURIWithQuery(uri, 
"utm_campaign=launch");
+        assertNotNull(resultUri);
+        assertEquals("smtp://localhost?utm_campaign=launch#fragmentOne", 
resultUri.toString());
+    }
+
     public void testNormalizeEndpointWithEqualSignInParameter() throws 
Exception {
         String out = 
URISupport.normalizeUri("jms:queue:foo?selector=somekey='somevalue'&foo=bar");
         assertNotNull(out);

Reply via email to