[
https://issues.apache.org/jira/browse/CAMEL-7693?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14096816#comment-14096816
]
Willem Jiang edited comment on CAMEL-7693 at 8/14/14 10:20 AM:
---------------------------------------------------------------
It's not a bug from my point of view. You can use the ${properties.xxx} to
avoid error just like this:
{code}
{json:{value:${properties:someproperty}}}
{code}
was (Author: njiang):
It's not a bug from my point of view.
> PropertyPlaceholder fails when string contains three consecutive curly
> brackets
> --------------------------------------------------------------------------------
>
> Key: CAMEL-7693
> URL: https://issues.apache.org/jira/browse/CAMEL-7693
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 2.13.2
> Reporter: MEL
> Assignee: Willem Jiang
> Priority: Trivial
>
> I've attempted to update my Camel project from version 2.13.1 to 2.13.2,
> however my unit tests now fail due to the way in which the
> PropertiesComponent now treats three curly brackets that are in a JSON string
> I am building using property values.
> E.g.: I have this in my route definition :-
> {code}
> <setBody>
> <simple>{"batch_item":{"item_id": "${header.commaItemId}",
> "algorithm_id": "{{comma_algorithm_name}}", "parameters": { "v1": "true"
> }}}</simple>
> </setBody>
> {code}
> Note: I can work around the issue if I separate the curly consecutive
> brackets with spaces.
> Test case to replicate
> {code}
> public class PropertiesComponentSimpleLanguageTest extends
> ContextTestSupport {
> ......
> public void testPropertiesComponentDualSimpleLanguage_MEL() throws
> Exception {
> context.addRoutes(new RouteBuilder() {
> @Override
> public void configure() throws Exception {
> String jsonTestString = "{\"prefsObj\":
> {\"person\":\"${body}\", \"likesObj\": {\"itemA\":\"{{cheese.quote}}\",
> \"itemB\":\"{{cheese.type}}\"}}}";
> // String jsonTestString = "{\"prefsObj\":
> {\"person\":\"${body}\", \"likesObj\": {\"itemA\":\"{{cheese.quote}}\",
> \"itemB\":\"{{cheese.type}}\"} } }";
> from("direct:start").transform().simple(jsonTestString);
> }
> });
> context.start();
> String reply = template.requestBody("direct:start", "Claus",
> String.class);
> // assertEquals("{\"prefsObj\": {\"person\":\"Claus\", \"likesObj\":
> {\"itemA\":\"Camel rocks\", \"itemB\":\"Gouda\"} } }", reply);
> assertEquals("{\"prefsObj\": {\"person\":\"Claus\", \"likesObj\":
> {\"itemA\":\"Camel rocks\", \"itemB\":\"Gouda\"}}}", reply);
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)