[
https://issues.apache.org/jira/browse/SLING-12269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17828429#comment-17828429
]
Robert Munteanu commented on SLING-12269:
-----------------------------------------
Right, in this case the new version is more lenient and uses {{toString()}}
instead of conditionally downcasting. That is a behaviour change indeed, but I
am personally not very concerned about that as it will not break consumers
relying on the old behaviour.
> Changed behaviour in commons json when used as a dependency
> -----------------------------------------------------------
>
> Key: SLING-12269
> URL: https://issues.apache.org/jira/browse/SLING-12269
> Project: Sling
> Issue Type: Bug
> Components: Commons
> Reporter: Remo Liechti
> Priority: Blocker
>
> With the new internal release 2.0.22, there seems to be a different behaviour
> when it comes to get values from JSONObject.
> The new version checks for types and throws an exception, as of the old
> version simply called toString() on any object found.
> *Old:*
> {{public String getString(String key) throws JSONException {}}
> {{ return get(key).toString();}}
> {{}}}
> *New:*
> {{public String getString(String key) throws JSONException {}}
> {{ Objectobject=this.get(key);}}
> {{ if (objectinstanceofString) {}}
> {{ return (String) object;}}
> }
> {{ throwwrongValueFormatException(key, "string", object, null);}}
> {{}}}
>
> Same is true for all other types, such as getInt, getLong etc.
> There might be more such small differences in behaviour.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)