Repository: cxf Updated Branches: refs/heads/3.1.x-fixes 0f88d05f0 -> 96cd11b04
[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/96cd11b0 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/96cd11b0 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/96cd11b0 Branch: refs/heads/3.1.x-fixes Commit: 96cd11b044262584561049d881e965a1e18b8a01 Parents: 0f88d05 Author: Jim Ma <[email protected]> Authored: Fri Mar 4 17:49:37 2016 +0800 Committer: Jim Ma <[email protected]> Committed: Fri Mar 4 17:50:46 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/96cd11b0/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/96cd11b0/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("<consumesappjson>")); } + @Test + public void testInvalidString() throws Exception { + try { + Link.Builder linkBuilder = Link.fromMethod(TestResource.class, "consumesAppJson"); + linkBuilder.link("</cxf>>"); + fail("IllegalArgumentException is expected"); + } catch (java.lang.IllegalArgumentException e) { + // expected + } + } + @Path("resource") public static class TestResource { @POST
