[
https://issues.apache.org/jira/browse/GROOVY-8041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15817858#comment-15817858
]
Bence Takács commented on GROOVY-8041:
--------------------------------------
Dear Jochen
As I mentioned before: I have little or no control over the templates or the
properties file. They are in TAGged and released version of the application. So
I need to solve this without touching the propertiesFileContent or
templateContent.
def propertiesFileContent = 'a.b=http://my.com/test'
def templateContent = 'Testing ${a.b} '
def props = new Properties()
props.load(new StringReader(propertiesFileContent))
def template = new
groovy.text.SimpleTemplateEngine().createTemplate(templateContent)
println template.make(props)
Maven solved this but I need to switch. Is there a solution/workaround for this?
> The templating engine does not handle properly the binding parameters that
> contains dot ('.') character
> -------------------------------------------------------------------------------------------------------
>
> Key: GROOVY-8041
> URL: https://issues.apache.org/jira/browse/GROOVY-8041
> Project: Groovy
> Issue Type: Bug
> Affects Versions: 2.4.7
> Reporter: Bence Takács
> Assignee: Jochen Theodorou
>
> The templating engine does not handle properly the binding parameters that
> contains dot ('.') character
> The below script throws an exception while the assertion passes:
> def template = new groovy.text.SimpleTemplateEngine().createTemplate('Testing
> ${a.b}')
> def params = ['a.b':'working']
> assert params['a.b']
> println template.make(params)
> "groovy.lang.MissingPropertyException: No such property: a for class:
> SimpleTemplateScript22
> at SimpleTemplateScript22.run(SimpleTemplateScript22.groovy:1)
> at Script1.run(Script1.groovy:5)"
> The issue is valid for also StreamingTemplateEngine and GStringTemplateEngine
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)