X-Git-Url: https://juplo.de/gitweb/?p=facebook-utils;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Ffacebook%2Fexceptions%2FGraphApiExceptionJackson2Deserializer.java;fp=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Ffacebook%2Fexceptions%2FGraphApiExceptionJackson2Deserializer.java;h=0000000000000000000000000000000000000000;hp=ea0e9871135f67d2a6bbbb091a70d0c75a45de63;hb=5f2b31dc7f443ab9eb088d3150e2d4903cb40159;hpb=d0accf7044000e7f20e8bd586c3c48ce8c8cef7d diff --git a/src/main/java/de/juplo/facebook/exceptions/GraphApiExceptionJackson2Deserializer.java b/src/main/java/de/juplo/facebook/exceptions/GraphApiExceptionJackson2Deserializer.java deleted file mode 100644 index ea0e987..0000000 --- a/src/main/java/de/juplo/facebook/exceptions/GraphApiExceptionJackson2Deserializer.java +++ /dev/null @@ -1,101 +0,0 @@ -package de.juplo.facebook.exceptions; - - -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.JsonToken; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.deser.std.StdDeserializer; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - - -/** - * @author Kai Moritz - * - */ -public class GraphApiExceptionJackson2Deserializer - extends - StdDeserializer -{ - public GraphApiExceptionJackson2Deserializer() - { - super(GraphApiException.class); - } - - @Override - public GraphApiException deserialize( - JsonParser jp, - DeserializationContext ctxt - ) - throws - IOException, - JsonProcessingException - { - JsonToken t = jp.getCurrentToken(); - if (t != JsonToken.START_OBJECT) - return null; - - t = jp.nextToken(); - if (t != JsonToken.FIELD_NAME) - return null; - - if (!jp.getCurrentName().equals("error")) - return null; - - t = jp.nextToken(); - if (t != JsonToken.START_OBJECT) - return null; - - String message = null, type = null; - Integer code = null; - - t = jp.nextToken(); - Map map = new HashMap<>(); - for (; t == JsonToken.FIELD_NAME; t = jp.nextToken()) - { - // Must point to field name - String fieldName = jp.getCurrentName(); - // And then the value... - t = jp.nextToken(); - - switch (t) - { - case VALUE_STRING: - switch(fieldName.toLowerCase()) - { - case "message": - message = jp.getText(); - break; - case "type": - type = jp.getText(); - break; - default: - return null; - } - break; - case VALUE_NUMBER_INT: - if (!fieldName.equalsIgnoreCase("code")) - return null; - code = jp.getValueAsInt(); - break; - default: - return null; - } - } - - if (message == null || type == null || code == null) - return null; - - switch (code) - { - case 1: return new UnknownErrorException(); - case 2: return new UnexpectedErrorException(); - case 21: return new PageMigratedException(message); - case 100: return new UnsupportedGetRequestException(); - case 613: return new RateExceededException(); - default: return new GraphApiException(message, type, code); - } - } -}