*/
@Override
public Integer execute(final PrincipalActionContext inActionContext) throws ExecutionException
{
// get the request
DeleteAppDataRequest inRequest = (DeleteAppDataRequest) inActionContext.getParams();
long applicationId = inRequest.getApplicationId();
String openSocialId = inRequest.getOpenSocialId();
Map<String, String> currentAppDataValues;
try
{
AppData currentAppData = mapper.findOrCreateByPersonAndGadgetDefinitionIds(applicationId, openSocialId);
if (currentAppData != null)
{
currentAppDataValues = new HashMap<String, String>(currentAppData.getValues());
Iterator<String> appDataValueKeysIterator = inRequest.getAppDataValueKeys().iterator();
while (appDataValueKeysIterator.hasNext())
{
final String appDataValueKey = appDataValueKeysIterator.next();
// This is an implementation of the OpenSocial Spec 5.3.12.2.11