Wild guess: somewhere you add the map to itself
map.put("map", map);
creating an infinite recursion in map.toString().
HTH, Alfred.
-----Original Message-----
From: Robby Pelssers [mailto:[email protected]]
Sent: Freitag, 22. Februar 2013 11:54
To: [email protected]
Subject: RE: REST view and weird error
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/
The content of this e-mail is intended only for the confidential use of the
person addressed.
If you are not the intended recipient, please notify the sender and delete this
email immediately.
Thank you.