diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2014-08-05 00:39:36 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2014-08-05 00:43:17 +0200 |
| commit | 1ca3c38f4dc62115feb54b9fcb66dd0de44af8fd (patch) | |
| tree | 298bb6c8f6014fca0a8c07fd599167bba4c97766 /main/src/cgeo/geocaching/connector/oc/OkapiError.java | |
| parent | 269a24bb8d0bb8e85fbf15526854b32175c84f1b (diff) | |
| download | cgeo-1ca3c38f4dc62115feb54b9fcb66dd0de44af8fd.zip cgeo-1ca3c38f4dc62115feb54b9fcb66dd0de44af8fd.tar.gz cgeo-1ca3c38f4dc62115feb54b9fcb66dd0de44af8fd.tar.bz2 | |
Use Jackson for Okapi connector
Diffstat (limited to 'main/src/cgeo/geocaching/connector/oc/OkapiError.java')
| -rw-r--r-- | main/src/cgeo/geocaching/connector/oc/OkapiError.java | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/main/src/cgeo/geocaching/connector/oc/OkapiError.java b/main/src/cgeo/geocaching/connector/oc/OkapiError.java index 7faf2c7..b847207 100644 --- a/main/src/cgeo/geocaching/connector/oc/OkapiError.java +++ b/main/src/cgeo/geocaching/connector/oc/OkapiError.java @@ -2,11 +2,11 @@ package cgeo.geocaching.connector.oc; import cgeo.geocaching.utils.Log; +import com.fasterxml.jackson.databind.node.ObjectNode; + import org.apache.commons.lang3.StringUtils; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; -import org.json.JSONException; -import org.json.JSONObject; /** * Handles the JSON error response from OKAPI @@ -26,7 +26,7 @@ public class OkapiError { @NonNull private final OkapiErrors state; @NonNull private final String message; - public OkapiError(@Nullable JSONObject data) { + public OkapiError(@Nullable ObjectNode data) { // A null-response is by definition an error (some exception occurred somewhere in the flow) if (data == null) { @@ -39,10 +39,10 @@ public class OkapiError { String localmessage = null; OkapiErrors localstate = OkapiErrors.UNSPECIFIED; try { - JSONObject error = data.getJSONObject("error"); + final ObjectNode error = (ObjectNode) data.get("error"); // Check reason_stack element to look for the specific oauth problems we want to report back if (error.has("reason_stack")) { - String reason = error.getString("reason_stack"); + final String reason = error.get("reason_stack").asText(); if (StringUtils.contains(reason, "invalid_oauth_request")) { if (StringUtils.contains(reason, "invalid_timestamp")) { localstate = OkapiErrors.INVALID_TIMESTAMP; @@ -53,10 +53,10 @@ public class OkapiError { } // Check if we can extract a message as well if (error.has("developer_message")) { - localmessage = error.getString("developer_message"); + localmessage = error.get("developer_message").asText(); assert localmessage != null; // by virtue of defaultString } - } catch (JSONException ex) { + } catch (ClassCastException | NullPointerException ex) { Log.d("OkapiError: Failed to parse JSON", ex); localstate = OkapiErrors.UNSPECIFIED; } |
