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 600F218840 for ; Fri, 4 Mar 2016 09:49:58 +0000 (UTC) Received: (qmail 77068 invoked by uid 500); 4 Mar 2016 09:49:58 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 77002 invoked by uid 500); 4 Mar 2016 09:49:58 -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 76992 invoked by uid 99); 4 Mar 2016 09:49:58 -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; Fri, 04 Mar 2016 09:49:58 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 1A44BE0A3C; Fri, 4 Mar 2016 09:49:58 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: ema@apache.org To: commits@cxf.apache.org Message-Id: <50387118325a46d3ac4c52f06c6082c3@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: cxf git commit: [CXF-6820]:LinkBuilderImpl#link() doesn't throw exception for invalid input Date: Fri, 4 Mar 2016 09:49:58 +0000 (UTC) Repository: cxf Updated Branches: refs/heads/master 42fa890e7 -> be5f1c3d4 [CXF-6820]:LinkBuilderImpl#link() doesn't throw exception for invalid input Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/be5f1c3d Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/be5f1c3d Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/be5f1c3d Branch: refs/heads/master Commit: be5f1c3d4e0a9eb2eb87fc4e3ec6373d6a9e3db4 Parents: 42fa890 Author: Jim Ma Authored: Fri Mar 4 17:49:37 2016 +0800 Committer: Jim Ma Committed: Fri Mar 4 17:49:37 2016 +0800 ---------------------------------------------------------------------- .../java/org/apache/cxf/jaxrs/impl/LinkBuilderImpl.java | 2 +- .../org/apache/cxf/jaxrs/impl/LinkBuilderImplTest.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/be5f1c3d/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 389cc1c..115d213 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 @@ -84,7 +84,7 @@ public class LinkBuilderImpl implements Builder { link = link.trim(); if (link.length() > 1 && link.startsWith("<")) { - int index = link.indexOf(">", 1); + int index = link.lastIndexOf(">", link.length()); if (index != -1) { String uri = link.substring(1, index); ub = UriBuilder.fromUri(uri); http://git-wip-us.apache.org/repos/asf/cxf/blob/be5f1c3d/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 3662eb5..a487fd5 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 @@ -111,6 +111,17 @@ public class LinkBuilderImplTest extends Assert { assertTrue(resource.contains("")); } + @Test + public void testInvalidString() throws Exception { + try { + Link.Builder linkBuilder = Link.fromMethod(TestResource.class, "consumesAppJson"); + linkBuilder.link(">"); + fail("IllegalArgumentException is expected"); + } catch (java.lang.IllegalArgumentException e) { + // expected + } + } + @Path("resource") public static class TestResource { @POST