@Override public Builder readFrom(final ShareOpenGraphAction model) { if (model == null) { return this; } return super .readFrom(model) .setActionType(model.getActionType()) ; }
/** * The type for the action. * * @return The type for the action. */ @Nullable public String getActionType() { return this.getString(Builder.ACTION_TYPE_KEY); }
@Override public ShareOpenGraphAction build() { return new ShareOpenGraphAction(this); }
/** * Converts an action to a JSONObject. * * NOTE: All images are removed from the JSON representation and must be added to the builder * separately. * * @param action {@link com.facebook.share.model.ShareOpenGraphAction} to be converted. * @return {@link org.json.JSONObject} representing the action. * @throws JSONException */ public static JSONObject toJSONObject( final ShareOpenGraphAction action, final PhotoJSONProcessor photoJSONProcessor) throws JSONException { final JSONObject result = new JSONObject(); final Set<String> keys = action.keySet(); for (String key : keys) { result.put(key, toJSONValue(action.get(key), photoJSONProcessor)); } return result; }
final ShareOpenGraphAction action = ShareModelTestUtility.getOpenGraphActionBuilder().build(); assertEquals(ShareModelTestUtility.OPEN_GRAPH_ACTION_TYPE, action.getActionType()); assertEquals( ShareModelTestUtility.OPEN_GRAPH_BOOLEAN_VALUE, action.getBoolean( ShareModelTestUtility.OPEN_GRAPH_BOOLEAN_VALUE_KEY, !ShareModelTestUtility.OPEN_GRAPH_BOOLEAN_VALUE)); assertEquals( ShareModelTestUtility.OPEN_GRAPH_BOOLEAN_VALUE, action.getBoolean( ShareModelTestUtility.OPEN_GRAPH_UNUSED_KEY, ShareModelTestUtility.OPEN_GRAPH_BOOLEAN_VALUE)); assertEquals( ShareModelTestUtility.OPEN_GRAPH_BOOLEAN_ARRAY, action.getBooleanArray(ShareModelTestUtility.OPEN_GRAPH_BOOLEAN_ARRAY_KEY)); assertNull(action.getBooleanArray(ShareModelTestUtility.OPEN_GRAPH_UNUSED_KEY)); assertEquals( ShareModelTestUtility.OPEN_GRAPH_DOUBLE_VALUE, action.getDouble(ShareModelTestUtility.OPEN_GRAPH_DOUBLE_VALUE_KEY, 0), TestUtils.DOUBLE_EQUALS_DELTA); assertEquals( ShareModelTestUtility.OPEN_GRAPH_DOUBLE_VALUE, action.getDouble( ShareModelTestUtility.OPEN_GRAPH_UNUSED_KEY, ShareModelTestUtility.OPEN_GRAPH_DOUBLE_VALUE), assertEquals( ShareModelTestUtility.OPEN_GRAPH_DOUBLE_ARRAY,
private static void validateOpenGraphContent( ShareOpenGraphContent openGraphContent, Validator validator) { validator.validate(openGraphContent.getAction()); String previewPropertyName = openGraphContent.getPreviewPropertyName(); if (Utility.isNullOrEmpty(previewPropertyName)) { throw new FacebookException("Must specify a previewPropertyName."); } if (openGraphContent.getAction().get(previewPropertyName) == null) { throw new FacebookException( "Property \"" + previewPropertyName + "\" was not found on the action. " + "The name of the preview property must match the name of an " + "action property."); } }
final Bundle parameters = action.getBundle(); this.addCommonParameters(parameters, openGraphContent); if (!Utility.isNullOrEmpty(this.getMessage())) {
public static void assertEquals(final ShareOpenGraphAction a, final ShareOpenGraphAction b) { Assert.assertEquals(a.getActionType(), b.getActionType()); assertOpenGraphValueContainerEquals(a, b); }
public ShareOpenGraphAction createFromParcel(final Parcel in) { return new ShareOpenGraphAction(in); }
@Override public void onComplete() { try { handleImagesOnAction(parameters); new GraphRequest( AccessToken.getCurrentAccessToken(), getGraphPath( URLEncoder.encode(action.getActionType(), DEFAULT_CHARSET)), parameters, HttpMethod.POST, requestCallback).executeAsync(); } catch (final UnsupportedEncodingException ex) { ShareInternalUtility.invokeCallbackWithException(callback, ex); } }
private static void validateOpenGraphAction( ShareOpenGraphAction openGraphAction, Validator validator) { if (openGraphAction == null) { throw new FacebookException("Must specify a non-null ShareOpenGraphAction"); } if (Utility.isNullOrEmpty(openGraphAction.getActionType())) { throw new FacebookException("ShareOpenGraphAction must have a non-empty actionType"); } validator.validate(openGraphAction, false); }
private static Bundle create( ShareOpenGraphContent openGraphContent, JSONObject openGraphActionJSON, boolean dataErrorsFatal) { Bundle params = createBaseParameters(openGraphContent, dataErrorsFatal); Utility.putNonEmptyString( params, ShareConstants.LEGACY_PREVIEW_PROPERTY_NAME, openGraphContent.getPreviewPropertyName()); Utility.putNonEmptyString( params, ShareConstants.LEGACY_ACTION_TYPE, openGraphContent.getAction().getActionType()); Utility.putNonEmptyString( params, ShareConstants.LEGACY_ACTION, openGraphActionJSON.toString()); return params; }
private static Bundle create( ShareOpenGraphContent openGraphContent, JSONObject openGraphActionJSON, boolean dataErrorsFatal) { Bundle params = createBaseParameters(openGraphContent, dataErrorsFatal); // Strip namespace from preview property name String previewProperty = ShareInternalUtility.getFieldNameAndNamespaceFromFullName( openGraphContent.getPreviewPropertyName()).second; Utility.putNonEmptyString( params, ShareConstants.PREVIEW_PROPERTY_NAME, previewProperty); Utility.putNonEmptyString( params, ShareConstants.ACTION_TYPE, openGraphContent.getAction().getActionType()); Utility.putNonEmptyString( params, ShareConstants.ACTION, openGraphActionJSON.toString()); return params; }
public static Bundle create(ShareOpenGraphContent shareOpenGraphContent) { Bundle params = createBaseParameters(shareOpenGraphContent); Utility.putNonEmptyString( params, ShareConstants.WEB_DIALOG_PARAM_ACTION_TYPE, shareOpenGraphContent.getAction().getActionType()); try { JSONObject ogJSON = ShareInternalUtility.toJSONObjectForWeb(shareOpenGraphContent); ogJSON = ShareInternalUtility.removeNamespacesFromOGJsonObject(ogJSON, false); if (ogJSON != null) { Utility.putNonEmptyString( params, ShareConstants.WEB_DIALOG_PARAM_ACTION_PROPERTIES, ogJSON.toString()); } } catch (JSONException e) { throw new FacebookException("Unable to serialize the ShareOpenGraphContent to JSON", e); } return params; }