@JsonMapper.JsonMappingCompleted void convertData(JsonMapper mapper) { if (data != null) { metaData = mapper.toJavaObject(data, MetaData.class); } }
/** * @see com.restfb.LegacyFacebookClient#execute(String, * String, Class, com.restfb.Parameter[]) */ @Override public <T> T execute(String method, String sessionKey, Class<T> resultType, Parameter... parameters) { return jsonMapper.toJavaObject(makeRequest(method, sessionKey, parameters), resultType); }
/** * @see com.restfb.FacebookClient#publish(java.lang.String, java.lang.Class, com.restfb.BinaryAttachment, * com.restfb.Parameter[]) */ @Override public <T> T publish(String connection, Class<T> objectType, List<BinaryAttachment> binaryAttachments, Parameter... parameters) { verifyParameterPresence("connection", connection); return jsonMapper.toJavaObject(makeRequest(connection, true, false, binaryAttachments, parameters), objectType); }
/** * @see com.restfb.FacebookClient#publish(String, Class, * java.io.InputStream, com.restfb.Parameter[]) */ @Override public <T> T publish(String connection, Class<T> objectType, InputStream binaryAttachment, Parameter... parameters) { verifyParameterPresence("connection", connection); return jsonMapper.toJavaObject(makeRequest(connection, false, true, false, binaryAttachment, parameters), objectType); }
@Override public void handleCallback(String payload, String signature) { if (callbackHandler == null) { if (logger.isLoggable(FINE)) { logger.fine("Webhook received but no webhook handler configured"); } } else { if (logger.isLoggable(FINE)) { logger.fine(format("Handling webhook for payload: %s, signature: %s", payload, signature)); } if (appSecret != null) { if (!verifySignature(payload, signature)) { if (logger.isLoggable(FINE)) { logger.fine("Invalid signature received; webhook handler not invoked"); } return; } } WebhookObject webhookObject = facebookClient.getJsonMapper().toJavaObject(payload, WebhookObject.class); if (!OBJECT_PAGE_VALUE.equals(webhookObject.getObject())) { if (logger.isLoggable(FINE)) { logger.fine(format("Ignoring webhook object: %s; webhook handler not invoked", webhookObject.getObject())); } return; } callbackHandler.onCallback(this, webhookObject); } }
/** * @see com.restfb.FacebookClient#fetchObject(java.lang.String, java.lang.Class, com.restfb.Parameter[]) */ @Override public <T> T fetchObject(String object, Class<T> objectType, Parameter... parameters) { verifyParameterPresence("object", object); verifyParameterPresence("objectType", objectType); return jsonMapper.toJavaObject(makeRequest(object, parameters), objectType); }
private AccessToken getAccessTokenFromResponse(String response) { try { return getJsonMapper().toJavaObject(response, AccessToken.class); } catch (FacebookJsonMappingException fjme) { CLIENT_LOGGER.trace("could not map response to access token class try to fetch directly from String", fjme); return AccessToken.fromQueryString(response); } }
/** * @see com.restfb.FacebookClient#fetchObject(String, * Class, com.restfb.Parameter[]) */ @Override public <T> T fetchObject(String object, Class<T> objectType, Parameter... parameters) { verifyParameterPresence("object", object); verifyParameterPresence("objectType", objectType); return jsonMapper.toJavaObject(makeRequest(object, parameters), objectType); }
private List<MessageTag> createTags(String rawTags, JsonMapper jsonMapper) { try { return jsonMapper.toJavaList(rawTags, MessageTag.class); } catch (FacebookJsonMappingException je) { } // message tags not in Graph API 2.5 format, ignore this exception and try another way try { List<MessageTag> resultList = new ArrayList<>(); JsonObject rawMessageTagsObject = jsonMapper.toJavaObject(rawTags, JsonObject.class); for (String key : rawMessageTagsObject.names()) { String tagArrayString = rawMessageTagsObject.get(key).toString(); resultList.addAll(jsonMapper.toJavaList(tagArrayString, MessageTag.class)); } return resultList; } catch (FacebookJsonMappingException je) { return new ArrayList<>(); } }
@Override public DeviceCode fetchDeviceCode(ScopeBuilder scope) { verifyParameterPresence("scope", scope); if (accessToken == null) { throw new IllegalStateException("access token is required to fetch a device access token"); } String response = makeRequest("device/login", true, false, null, Parameter.with("type", "device_code"), Parameter.with("scope", scope.toString())); return jsonMapper.toJavaObject(response, DeviceCode.class); }
parametersWithAdditionalParameter(Parameter.with(IDS_PARAM_NAME, join(ids)), parameters))); return objectType.equals(JsonObject.class) ? (T) jsonObject : jsonMapper.toJavaObject(jsonObject.toString(), objectType); } catch (JsonException e) {
parametersWithAdditionalParameter(Parameter.with(IDS_PARAM_NAME, idArray.toString()), parameters)); return jsonMapper.toJavaObject(jsonString, objectType); } catch (ParseException e) { throw new FacebookJsonMappingException("Unable to map connection JSON to Java objects", e);
@JsonMappingCompleted private void convertList(JsonMapper mapper) { if (rawRegionsString != null) { JsonValue jsonValue = Json.parse(rawRegionsString); if (jsonValue.isObject()) { JsonObject rawRegions = jsonValue.asObject(); for (String key : rawRegions.names()) { String region = rawRegions.get(key).toString(); regions.add(mapper.toJavaObject(region, KeyedType.class)); } } } }
public ProfilePictureSource convertPicture(String rawPicture) { if (rawPicture == null) { return null; } try { JsonValue jsonValue = Json.parse(rawPicture); if (!jsonValue.isObject()) { return null; } String picJson = jsonValue.asObject().get("data").toString(); return this.mapper.toJavaObject(picJson, ProfilePictureSource.class); } catch (ParseException pe) { return null; } } }
/** * Post-JSON-mapping operation that populates the {@code messageTags} field "by hand". * * @param jsonMapper * The {@code JsonMapper} that was used to map to this type. */ @JsonMappingCompleted protected void jsonMappingCompleted(JsonMapper jsonMapper) { if (rawMessageTags == null) { return; } try { messageTags = jsonMapper.toJavaList(rawMessageTags, MessageTag.class); return; } catch (FacebookJsonMappingException je) { } // message tags not in Graph API 2.5 format, ignore this exception and try another way try { JsonObject rawMessageTagsObject = jsonMapper.toJavaObject(rawMessageTags, JsonObject.class); for (String key : rawMessageTagsObject.names()) { String tagArrayString = rawMessageTagsObject.get(key).toString(); messageTags.addAll(jsonMapper.toJavaList(tagArrayString, MessageTag.class)); } } catch (FacebookJsonMappingException je) { } // cannot parse message tags, but don't break the flow here }
/** * Post-JSON-mapping operation that populates the {@code messageTags} field "by hand". * * @param jsonMapper * The {@code JsonMapper} that was used to map to this type. */ @JsonMappingCompleted protected void jsonMappingCompleted(JsonMapper jsonMapper) { if (rawNameTags == null) { return; } try { nameTags = jsonMapper.toJavaList(rawNameTags, EntityAtTextRange.class); return; } catch (FacebookJsonMappingException je) { } // message tags not in Graph API 2.5 format, ignore this exception and try another way try { JsonObject rawMessageTagsObject = jsonMapper.toJavaObject(rawNameTags, JsonObject.class); for (String key : rawMessageTagsObject.names()) { String tagArrayString = rawMessageTagsObject.get(key).toString(); nameTags.addAll(jsonMapper.toJavaList(tagArrayString, EntityAtTextRange.class)); } } catch (FacebookJsonMappingException je) { } // cannot parse message tags, but don't break the flow here }
@SuppressWarnings("unchecked") protected <T> Connection<T> mapToConnection(String connectionJson, Class<T> connectionType) { List<T> data = new ArrayList<T>(); String previous = null; String next = null; try { JsonObject jsonObject = new JsonObject(connectionJson); // Pull out data JsonArray jsonData = jsonObject.getJsonArray("data"); for (int i = 0; i < jsonData.length(); i++) data.add(connectionType.equals(JsonObject.class) ? (T) jsonData.get(i) : jsonMapper.toJavaObject(jsonData .get(i).toString(), connectionType)); // Pull out paging info, if present if (jsonObject.has("paging")) { JsonObject jsonPaging = jsonObject.getJsonObject("paging"); previous = jsonPaging.has("previous") ? jsonPaging.getString("previous") : null; next = jsonPaging.has("next") ? jsonPaging.getString("next") : null; } } catch (JsonException e) { throw new FacebookJsonMappingException("Unable to map connection JSON to Java objects", e); } return new Connection<T>(data, previous, next); }
JsonObject payloadObject = getJsonMapper().toJavaObject(payload, JsonObject.class); return objectType.equals(JsonObject.class) ? (T) payloadObject : getJsonMapper().toJavaObject(payload, objectType);
/** * @see com.restfb.FacebookClient#debugToken(java.lang.String) */ @Override public DebugTokenInfo debugToken(String inputToken) { verifyParameterPresence("inputToken", inputToken); String response = makeRequest("/debug_token", Parameter.with("input_token", inputToken)); try { JsonObject json = Json.parse(response).asObject(); JsonObject data = json.get("data").asObject(); return getJsonMapper().toJavaObject(data.toString(), DebugTokenInfo.class); } catch (Exception t) { throw new FacebookResponseContentException("Unable to parse JSON from response.", t); } }
return mapper.toJavaObject(objValue.toString(), changeValueEnum.getValueClass()); } catch (IllegalArgumentException iae) { VALUE_FACTORY_LOGGER.warn("undefined change value detected: {}", classDefinition);