As laid out in http://mail-archives.apache.org/mod_mbox/tapestry-dev/202007.mbox/browser these patches aim to improve tapestry-json.
- JSONArray/JSONObject implements Collection/Map
- Better exceptions
Unit-tests were added if appropiate. "Passthrough"-methods to the underlying storage weren't tested if there are no additional edge-cases.
Javadoc was added, trying to mimic Collection/Map, but reduced to the actual exception cases.
Minar/breaking changes occur as discussed on the mailing list:
- Signature change: JSONObject get(Object name) instead of JSONObject get(String name)
- Return type / Signature change: void putAll(Map<? extends String, ? extends Object> newProperties) instead of JSONObject putAll(Map<String, ?> newProperties)
I've attached 21 patch files. Maybe I should've squashed it, but if anyone is interested in the evolution/idea behind the code, this way it would be easier to grasp it.
The code is also available on Github https://github.com/apache/tapestry-5/compare/master...benweidig:feature/tapestry-json-exceptions