cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robby Pelssers <Robby.Pelss...@nxp.com>
Subject RE: REST view and weird error
Date Tue, 26 Feb 2013 14:21:16 GMT
And this line is responsible for the stackoverflow:

                LOG.debug("Passing pipeline parameter as attribute: key={}"
                        + ", value={}", entry.getKey(), entry.getValue());



-----Original Message-----
From: Robby Pelssers [mailto:Robby.Pelssers@nxp.com] 
Sent: Tuesday, February 26, 2013 3:13 PM
To: dev@cocoon.apache.org
Subject: RE: REST view and weird error

To be more precise it happens when processing the map entry "cocoon".  So in this case there
must be some circular reference.. finding that needle is a bit more difficult :(

Robby

-----Original Message-----
From: Thorsten Scherler [mailto:scherler@gmail.com]
Sent: Tuesday, February 26, 2013 1:43 PM
To: dev@cocoon.apache.org
Subject: Re: REST view and weird error

On 02/25/2013 02:10 PM, Thorsten Scherler wrote:
> ...
> Passing pipeline parameter as attribute: key=cocoon, value=[FAILED 
> toString()]
>
> in MessageFormatter.arrayFormat.
>
> still investigating
>
> salu2
>

Actually you can see it if you start the cocoon-sample block and request
http://localhost:8888/controller/abc/foo?reqparam=1


SLF4J: Failed toString() invocation on an object of type [java.util.HashMap] java.lang.StackOverflowError
    at
java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:631)
    at java.lang.StringBuilder.append(StringBuilder.java:224)
    at
org.apache.cocoon.configuration.MutableSettings.toString(MutableSettings.java:312)
    at java.lang.String.valueOf(String.java:2902)

It actually happens in STRenderer

public String render(final String template,
            final Map<String, Object> parameters)
            throws IOException {

        final ST stringTemplate = new ST(template, '$', '$');

        if (parameters == null || parameters.isEmpty()) {
            LOG.warn("There are not any parameters passed to the template.");
        } else {
            for (Map.Entry<String, Object> entry : parameters.entrySet()) {
                stringTemplate.add(entry.getKey().replace(".", "_"),
                        (entry.getValue() instanceof String)
                        ? StringEscapeUtils.escapeXml(
                        entry.getValue().toString())
                        : entry.getValue());

                LOG.debug("Passing pipeline parameter as attribute: key={}"
                        + ", value={}", entry.getKey(), entry.getValue());
            }
        }

        return stringTemplate.render();
    }

salu2

--
Thorsten Scherler <scherler.at.gmail.com> codeBusters S.L. - web based systems <consulting,
training and solutions>

http://www.codebusters.es/






Mime
View raw message