Repository: cxf
Updated Branches:
  refs/heads/3.1.x-fixes c11ceb41b -> d21ab1efa


[CXF-7417] If the schemaSpecificPart is not null then assume it is an opaque 
URI update


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

Branch: refs/heads/3.1.x-fixes
Commit: d21ab1efa8ef8379795ce4d402e974edc6ea2b5f
Parents: c11ceb4
Author: Sergey Beryozkin <sberyoz...@gmail.com>
Authored: Wed Jun 21 12:59:45 2017 +0100
Committer: Sergey Beryozkin <sberyoz...@gmail.com>
Committed: Wed Jun 21 13:06:45 2017 +0100

----------------------------------------------------------------------
 .../main/java/org/apache/cxf/jaxrs/impl/UriBuilderImpl.java    | 4 ++--
 .../java/org/apache/cxf/jaxrs/impl/UriBuilderImplTest.java     | 6 ++++++
 2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/d21ab1ef/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/UriBuilderImpl.java
----------------------------------------------------------------------
diff --git 
a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/UriBuilderImpl.java 
b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/UriBuilderImpl.java
index 624a1e7..0ae1540 100644
--- 
a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/UriBuilderImpl.java
+++ 
b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/UriBuilderImpl.java
@@ -623,8 +623,8 @@ public class UriBuilderImpl extends UriBuilder implements 
Cloneable {
             scheme = theScheme;
         }
         String rawPath = uri.getRawPath();
-        if (!uri.isOpaque() 
-            && (theScheme != null || rawPath != null && 
rawPath.startsWith("/"))) {
+        if (!uri.isOpaque() && schemeSpecificPart == null
+            && (theScheme != null || rawPath != null)) {
             port = uri.getPort();
             host = uri.getHost();
             if (rawPath != null) {

http://git-wip-us.apache.org/repos/asf/cxf/blob/d21ab1ef/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/UriBuilderImplTest.java
----------------------------------------------------------------------
diff --git 
a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/UriBuilderImplTest.java
 
b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/UriBuilderImplTest.java
index c0dcb47..f89533a 100644
--- 
a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/UriBuilderImplTest.java
+++ 
b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/UriBuilderImplTest.java
@@ -43,6 +43,12 @@ import org.junit.Test;
 public class UriBuilderImplTest extends Assert {
 
     @Test
+    public void testFromUriRelativePath() throws Exception {
+        UriBuilder builder = UriBuilder.fromUri("path");
+        URI uri = builder.queryParam("a", "b").build();
+        assertEquals("path?a=b", uri.toString());
+    }
+    @Test
     public void testUriTemplate() throws Exception {
         UriBuilder builder = 
UriBuilder.fromUri("http://localhost:8080/{a}/{b}";);
         URI uri = builder.build("1", "2");

Reply via email to