You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@groovy.apache.org by bartoleo <ba...@gmail.com> on 2016/03/11 13:29:19 UTC
problem accessing class method from FileTreeBuilder in a closure
Hi I'm using FileTreBuilder to create ten dirs with a file in it, the content
is returned by a class method.
Here is an example:
class MyFileTreeBuilder {
static def testData(){
"my test data..."
}
static void main(String[] args) {
def tree = new FileTreeBuilder()
10.times{index->
tree.dir("tests/test${index}"){
file "test.txt", testData()
}
println(new File("tests/test${index}/test.txt").text)
}
}
}
It seems that FileTreeBuilder cannot find my class method if used in a
closure. (it works correctly if I remove the '10.times...'
Could it be a bug?
--
View this message in context: http://groovy.329449.n5.nabble.com/problem-accessing-class-method-from-FileTreeBuilder-in-a-closure-tp5731840.html
Sent from the Groovy Users mailing list archive at Nabble.com.
Re: problem accessing class method from FileTreeBuilder in a
closure
Posted by bartoleo <ba...@gmail.com>.
thank you for the fast answer... yes with "this." it works
2016-03-11 13:36 GMT+01:00 Cédric Champeau [via Groovy] <
ml-node+s329449n5731841h42@n5.nabble.com>:
> I noticed exactly this a few days ago. The builder interprets the call as
> internal. As a workaround you can prefix the class method with "this.":
> this.testData().
>
>
> 2016-03-11 13:29 GMT+01:00 bartoleo <[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=5731841&i=0>>:
>
>> Hi I'm using FileTreBuilder to create ten dirs with a file in it, the
>> content
>> is returned by a class method.
>>
>> Here is an example:
>>
>> class MyFileTreeBuilder {
>>
>> static def testData(){
>> "my test data..."
>> }
>>
>> static void main(String[] args) {
>>
>> def tree = new FileTreeBuilder()
>> 10.times{index->
>> tree.dir("tests/test${index}"){
>> file "test.txt", testData()
>> }
>> println(new File("tests/test${index}/test.txt").text)
>> }
>>
>> }
>>
>> }
>>
>> It seems that FileTreeBuilder cannot find my class method if used in a
>> closure. (it works correctly if I remove the '10.times...'
>>
>> Could it be a bug?
>>
>>
>>
>>
>> --
>> View this message in context:
>> http://groovy.329449.n5.nabble.com/problem-accessing-class-method-from-FileTreeBuilder-in-a-closure-tp5731840.html
>> Sent from the Groovy Users mailing list archive at Nabble.com.
>>
>
>
>
> ------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
>
> http://groovy.329449.n5.nabble.com/problem-accessing-class-method-from-FileTreeBuilder-in-a-closure-tp5731840p5731841.html
> To start a new topic under Groovy Users, email
> ml-node+s329449n329450h21@n5.nabble.com
> To unsubscribe from Groovy, click here
> <http://groovy.329449.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=329449&code=YmFydG9sb2xlbzc0QGdtYWlsLmNvbXwzMjk0NDl8LTEwMTExMjkyMzk=>
> .
> NAML
> <http://groovy.329449.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>
--
Leo Bartoloni
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Qualsiasi utilizzo non autorizzato del presente messaggio e dei suoi
allegati è vietato e potrebbe costituire reato.
Se lei avesse ricevuto erroneamente questo messaggio, Le saremmo grati se
provvedesse alla distruzione dello stesso
e degli eventuali allegati.
Opinioni, conclusioni o altre informazioni riportate nella e-mail, che non
siano relative alle attività e/o
alla missione aziendale. si intendono non attribuibili alla società stessa,
né la impegnano in alcun modo.
--
View this message in context: http://groovy.329449.n5.nabble.com/problem-accessing-class-method-from-FileTreeBuilder-in-a-closure-tp5731840p5731842.html
Sent from the Groovy Users mailing list archive at Nabble.com.
Re: problem accessing class method from FileTreeBuilder in a closure
Posted by Cédric Champeau <ce...@gmail.com>.
I noticed exactly this a few days ago. The builder interprets the call as
internal. As a workaround you can prefix the class method with "this.":
this.testData().
2016-03-11 13:29 GMT+01:00 bartoleo <ba...@gmail.com>:
> Hi I'm using FileTreBuilder to create ten dirs with a file in it, the
> content
> is returned by a class method.
>
> Here is an example:
>
> class MyFileTreeBuilder {
>
> static def testData(){
> "my test data..."
> }
>
> static void main(String[] args) {
>
> def tree = new FileTreeBuilder()
> 10.times{index->
> tree.dir("tests/test${index}"){
> file "test.txt", testData()
> }
> println(new File("tests/test${index}/test.txt").text)
> }
>
> }
>
> }
>
> It seems that FileTreeBuilder cannot find my class method if used in a
> closure. (it works correctly if I remove the '10.times...'
>
> Could it be a bug?
>
>
>
>
> --
> View this message in context:
> http://groovy.329449.n5.nabble.com/problem-accessing-class-method-from-FileTreeBuilder-in-a-closure-tp5731840.html
> Sent from the Groovy Users mailing list archive at Nabble.com.
>