[
https://issues.apache.org/jira/browse/TAP5-1605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13083985#comment-13083985
]
Hudson commented on TAP5-1605:
------------------------------
Integrated in tapestry-trunk-freestyle #471 (See
[https://builds.apache.org/job/tapestry-trunk-freestyle/471/])
TAP5-1605: Template parsing of expansions can't handle map expressions
robertdzeigler :
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1156971
Files :
*
/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
*
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SaxTemplateParser.java
*
/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/MapExpressionInExpansions.tml
*
/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MapExpressionInExpansions.java
*
/tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/internal/services/expansions_with_maps.tml
*
/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/TemplateParserImplTest.java
*
/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
* /tapestry/tapestry5/trunk/build.gradle
> Template parsing of expansions can't handle map expressions
> -----------------------------------------------------------
>
> Key: TAP5-1605
> URL: https://issues.apache.org/jira/browse/TAP5-1605
> Project: Tapestry 5
> Issue Type: Bug
> Components: tapestry-core
> Affects Versions: 5.3
> Reporter: Robert Zeigler
> Assignee: Robert Zeigler
>
> 5.3 introduced map support into the property expression language in the form:
> {'foo': 'bar'}.
> Expansion parsing chokes on the syntax, however. It uses a reluctant regular
> expression to find the closing brace:
> private static final Pattern EXPANSION_PATTERN =
> Pattern.compile("\\$\\{\\s*(.*?)\\s*}");
> Which means that the use of a map inside an expansion prematurely terminates
> the exansion:
> ${echoMap({"foo": "bar"})}
> The regex finds the first } and the expression evaluates as:
> echoMap({"foo": "bar"
> Which is clearly incorrect.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira