This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 54b06503acd8d29a673d1e713cba512f5e2361f0
Author: nayananga@acerubuntu18.04 <nayanangamuhandi...@gmail.com>
AuthorDate: Thu Jul 25 01:53:55 2019 +0530

    adding additional escaping logic to the Maven plugin that generates the 
Asciidoc files
---
 .../java/org/apache/camel/maven/packaging/MvelHelper.java |  5 ++++-
 .../org/apache/camel/maven/packaging/MvelHelperTest.java  | 15 +++++++++++++--
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java
index fa02f40..1d3af19 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java
@@ -24,6 +24,8 @@ public final class MvelHelper {
 
     private static final Pattern DOLLAR_ESCAPE = Pattern.compile("\\$");
 
+    private static final Pattern CURLY_BRACKET_ESCAPE = 
Pattern.compile("(\\{[a-zA-Z0-9]+?)\\}");
+
     private static final Pattern URL_ESCAPE = 
Pattern.compile("(?<!href=\")(http(:?s)?://|(:?s)?ftp(?:s)?)");
 
     private MvelHelper() {
@@ -36,7 +38,8 @@ public final class MvelHelper {
         }
 
         final String escapedDollars = 
DOLLAR_ESCAPE.matcher(raw).replaceAll("\\\\\\$");
-        final String escapedUrls = 
URL_ESCAPE.matcher(escapedDollars).replaceAll("\\\\$1");
+        final String escapedCurlyBrackets = 
CURLY_BRACKET_ESCAPE.matcher(escapedDollars).replaceAll("\\\\$1\\\\}");
+        final String escapedUrls = 
URL_ESCAPE.matcher(escapedCurlyBrackets).replaceAll("\\\\$1");
 
         return escapedUrls;
     }
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/MvelHelperTest.java
 
b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/MvelHelperTest.java
index 4626260..d3a76dc 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/MvelHelperTest.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/MvelHelperTest.java
@@ -42,6 +42,12 @@ public class MvelHelperTest {
     }
 
     @ParameterizedTest
+    @MethodSource("curlyBracketEscapeCases")
+    public void shouldcurlyBracket(final String given, final String expected) {
+        assertThat(MvelHelper.escape(given)).isEqualTo(expected);
+    }
+
+    @ParameterizedTest
     @MethodSource("urlEscapeCases")
     public void shouldUrls(final String given, final String expected) {
         assertThat(MvelHelper.escape(given)).isEqualTo(expected);
@@ -50,13 +56,18 @@ public class MvelHelperTest {
     static Stream<Arguments> dollarEscapeCases() {
         return Stream.of(
             arguments("$", "\\$"),
-            arguments("some ${expression} here", "some \\${expression} here"));
+            arguments("some ${expression} here", "some \\$\\{expression\\} 
here"));
+    }
+
+    static Stream<Arguments> curlyBracketEscapeCases() {
+        return Stream.of(
+            arguments("some {expression} here", "some \\{expression\\} here"));
     }
 
     static Stream<Arguments> urlEscapeCases() {
         return Stream.of(
             arguments("http", "http"),
-            arguments("some ${expression} here", "some \\${expression} here"),
+            arguments("some ${expression} here", "some \\$\\{expression\\} 
here"),
             arguments("http://example.com";, "\\http://example.com";),
             arguments("some http://example.com here", "some 
\\http://example.com here"),
             arguments("https://example.com";, "\\https://example.com";),

Reply via email to