On 04/10/2012 08:53, André Juffer wrote:
> Hello,
>
> I am dealing with the following problem. A REST resource returns an
> (DTO) object called statistics (of type Statistics) holding various
> properties. With string template, each property can be inserted into
> an XML file, like
>
> <A>$statistics.propertyA$</A>
>
> where the corresponding method on the Statistics object is
> getPropertyA().
>
> One of the properties requires an argument of type String, where the
> actual method signature is getNumberFor(String name). It returns an
> int. The name is obtained from a list of names obtained from the
> statistics objects as well. The idea is to iterate through the list of
> names and return a number (int) for each name.
>
> Thus, the XML code that I try to complete looks like:
> <socials>
> $statistics.names: { name |
> <social>
> <name>$name$</name>
> <number>$statistics.numberFor(name)$</tribc:number>
> </social>
> }$
> </socials>
>
> The Statistics object holds among other things a Map<String, Integer>
> with the requested numbers.
>
> The line $statistics.numberFor(name)$ is however erroneous. I cannot
> pass the current value of name to the method in question.
>
> My question is now: How to pass a argument to a given method on an
> object using string template. The string template website did not give
> a clear answer, so maybe it is not even possible, or maybe I just
> completely overlooked it.
>
> Any help is appreciated.
Hi André.
I am not an ST expert at all, but I really think there is no support for
generic method invocation on ST expressions: the only methods supported
seem to ne related to properties, "à la JavaBean".
For your use case, I'd change a bit the application logic by providing a
C3 REST controller that would act as a "data conversion proxy" between
the sitemap and the actual REST resource you are currently dealing with.
In this way you could query the external REST resource from the C3 REST
controller body and prepare the data in a format that's suitable for ST.
Regards.
--
Francesco Chicchiriccò
ASF Member, Apache Cocoon PMC and Apache Syncope PPMC Member
http://people.apache.org/~ilgrosso/
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]