Return-Path: X-Original-To: apmail-cxf-commits-archive@www.apache.org Delivered-To: apmail-cxf-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3D0D718A81 for ; Wed, 29 Apr 2015 12:38:25 +0000 (UTC) Received: (qmail 59215 invoked by uid 500); 29 Apr 2015 12:38:25 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 59157 invoked by uid 500); 29 Apr 2015 12:38:25 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 59147 invoked by uid 99); 29 Apr 2015 12:38:25 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 29 Apr 2015 12:38:25 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id DCED4E0215; Wed, 29 Apr 2015 12:38:24 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sergeyb@apache.org To: commits@cxf.apache.org Message-Id: <4c050a853dc54a7b891b2becb257614f@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: cxf git commit: [CXF-6378] Fixing a relatve link resolution issue Date: Wed, 29 Apr 2015 12:38:24 +0000 (UTC) Repository: cxf Updated Branches: refs/heads/3.0.x-fixes a2182495f -> 83a6f123a [CXF-6378] Fixing a relatve link resolution issue Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/83a6f123 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/83a6f123 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/83a6f123 Branch: refs/heads/3.0.x-fixes Commit: 83a6f123a37253fbe1cb135e4e53973def35d08f Parents: a218249 Author: Sergey Beryozkin Authored: Wed Apr 29 13:37:20 2015 +0100 Committer: Sergey Beryozkin Committed: Wed Apr 29 13:38:05 2015 +0100 ---------------------------------------------------------------------- .../java/org/apache/cxf/jaxrs/impl/LinkBuilderImpl.java | 10 ++-------- .../org/apache/cxf/jaxrs/impl/LinkBuilderImplTest.java | 4 ++-- .../org/apache/cxf/systest/jaxrs/BookStoreSpring.java | 5 +++-- 3 files changed, 7 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/83a6f123/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/LinkBuilderImpl.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/LinkBuilderImpl.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/LinkBuilderImpl.java index edfc403..2363a7a 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/LinkBuilderImpl.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/LinkBuilderImpl.java @@ -57,15 +57,9 @@ public class LinkBuilderImpl implements Builder { private URI getResolvedUri(Object... values) { URI uri = ub.build(values); - if (baseUri != null) { + if (!uri.isAbsolute() && baseUri != null) { UriBuilder linkUriBuilder = UriBuilder.fromUri(baseUri); - String scheme = uri.getScheme(); - if (scheme != null && scheme.startsWith("http")) { - return HttpUtils.resolve(linkUriBuilder, uri); - } else { - String theUri = uri.toString(); - return linkUriBuilder.path(theUri).build(); - } + return HttpUtils.resolve(linkUriBuilder, uri); } else { return uri; } http://git-wip-us.apache.org/repos/asf/cxf/blob/83a6f123/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/LinkBuilderImplTest.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/LinkBuilderImplTest.java b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/LinkBuilderImplTest.java index 4d84863..a3790dc 100644 --- a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/LinkBuilderImplTest.java +++ b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/LinkBuilderImplTest.java @@ -79,7 +79,7 @@ public class LinkBuilderImplTest extends Assert { Link.Builder linkBuilder = Link.fromUri("relative"); linkBuilder.baseUri("http://localhost:8080/base/path"); Link link = linkBuilder.rel("next").build(); - assertEquals(";rel=\"next\"", link.toString()); + assertEquals(";rel=\"next\"", link.toString()); } @Test @@ -87,7 +87,7 @@ public class LinkBuilderImplTest extends Assert { Link.Builder linkBuilder = Link.fromUri("/relative"); linkBuilder.baseUri("http://localhost:8080/base/path"); Link link = linkBuilder.rel("next").build(); - assertEquals(";rel=\"next\"", link.toString()); + assertEquals(";rel=\"next\"", link.toString()); } @Test http://git-wip-us.apache.org/repos/asf/cxf/blob/83a6f123/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStoreSpring.java ---------------------------------------------------------------------- diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStoreSpring.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStoreSpring.java index d264d0b..ab08c96 100644 --- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStoreSpring.java +++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStoreSpring.java @@ -21,6 +21,7 @@ package org.apache.cxf.systest.jaxrs; import java.io.ByteArrayOutputStream; +import java.net.URI; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -95,8 +96,8 @@ public class BookStoreSpring { @GET @Path("/link") public Response getBookLink() { - Link link = Link.fromResource(BookStoreSpring.class) - .baseUri(ui.getBaseUri()).rel("self").build(); + URI selfUri = ui.getBaseUriBuilder().path(BookStoreSpring.class).build(); + Link link = Link.fromUri(selfUri).rel("self").build(); return Response.ok().links(link).build(); }