Hi Thorsten,
Just one question.
I'm a making a few assumptions here but is Settings not a HashMap already?
Can't you just do
@Override
public RestResponse doGet() throws Exception {
return new URLResponse(VIEW, getProps());
}
I don’t see the point in putting a hashmap in another hashmap just for the sake
of it ;-)
Robby
-----Original Message-----
From: Thorsten Scherler [mailto:[email protected]]
Sent: Friday, February 22, 2013 10:13 AM
To: [email protected]
Subject: REST view and weird error
Hi all,
in one view of a REST service of mine I get:
SLF4J: Failed toString() invocation on an object of type [java.util.HashMap]
java.lang.StackOverflowError
at
java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:639)
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)
...
at java.lang.StringBuilder.append(StringBuilder.java:128)
at java.util.AbstractMap.toString(AbstractMap.java:523)
at java.lang.String.valueOf(String.java:2902)
where the last 3 lines will repeat a lot till the end.
I am doing:
@Override
public RestResponse doGet() throws Exception {
HashMap<String, Object> data = new HashMap<String, Object>();
data.put("properties", getProps());
return new URLResponse(VIEW, data);
}
where getProps() basically is a helper for getting this.settings.getProperties.
As soon I do return new URLResponse(VIEW) the error is gone.
I have the standard logging activated (via rcl-config), using jetty:run and no
override for es.codebusters.droids.rest.DroidsInvoker in my logback.xml
<root>
<level value="WARN"/>
<appender-ref ref="CORE"/>
</root>
Any ideas?
salu2
--
Thorsten Scherler <scherler.at.gmail.com> codeBusters S.L. - web based systems
<consulting, training and solutions>
http://www.codebusters.es/