From c11f43c9dbf529b87820d77ef501aa10699fc9d8 Mon Sep 17 00:00:00 2001 From: Simon Steiner Date: Wed, 7 Aug 2024 13:02:29 +0100 Subject: FOP-3198: Allow curly braces for src url --- .../main/java/org/apache/fop/apps/io/InternalResourceResolver.java | 2 ++ .../test/java/org/apache/fop/apps/io/URIResolverWrapperTestCase.java | 5 +++++ 2 files changed, 7 insertions(+) (limited to 'fop-core') diff --git a/fop-core/src/main/java/org/apache/fop/apps/io/InternalResourceResolver.java b/fop-core/src/main/java/org/apache/fop/apps/io/InternalResourceResolver.java index 470f2e4ba..1fe530bd3 100644 --- a/fop-core/src/main/java/org/apache/fop/apps/io/InternalResourceResolver.java +++ b/fop-core/src/main/java/org/apache/fop/apps/io/InternalResourceResolver.java @@ -133,6 +133,8 @@ public class InternalResourceResolver { } String fixedUri = uriStr.replace('\\', '/'); fixedUri = fixedUri.replace(" ", "%20"); + fixedUri = fixedUri.replace("{", "%7B"); + fixedUri = fixedUri.replace("}", "%7D"); URI baseURI = new URI(fixedUri); return baseURI; } diff --git a/fop-core/src/test/java/org/apache/fop/apps/io/URIResolverWrapperTestCase.java b/fop-core/src/test/java/org/apache/fop/apps/io/URIResolverWrapperTestCase.java index 5bab320f6..ffb477a73 100644 --- a/fop-core/src/test/java/org/apache/fop/apps/io/URIResolverWrapperTestCase.java +++ b/fop-core/src/test/java/org/apache/fop/apps/io/URIResolverWrapperTestCase.java @@ -120,6 +120,11 @@ public class URIResolverWrapperTestCase { assertNull(InternalResourceResolver.cleanURI(null)); } + @Test + public void testCurlyBrackets() throws Exception { + assertEquals(InternalResourceResolver.cleanURI("{test}.jpg"), new URI("%7Btest%7D.jpg")); + } + private void test(String uriStr, URI uri, URI expected) throws IOException, URISyntaxException { ResourceResolver resolver = mock(ResourceResolver.class); InternalResourceResolver sut = new InternalResourceResolver(base, resolver); -- cgit v1.2.3