@Test public void testExecute() throws Exception { final Map<String, String> testAppDataValues = getAppDataValueHashMap(); context.checking(new Expectations() { { allowing(applicationContext).getParams(); will(returnValue(updateRequest)); allowing(updateRequest).getOpenSocialId(); will(returnValue(testPersonId)); allowing(updateRequest).getApplicationId(); will(returnValue(testApplicationId)); allowing(updateRequest).getAppDataValues(); will(returnValue(testAppDataValues)); oneOf(jpaAppDataMapper).findOrCreateByPersonAndGadgetDefinitionIds(testApplicationId, testPersonId); will(returnValue(testAppData)); oneOf(testAppData).getValues(); will(returnValue(testAppDataValues)); oneOf(testAppData).setValues(testAppDataValues); oneOf(jpaAppDataMapper).flush(); oneOf(cache).delete( CacheKeys.APPDATA_BY_GADGET_DEFINITION_ID_AND_UNDERSCORE_AND_PERSON_OPEN_SOCIAL_ID + testApplicationId + "_" + testPersonId); } }); assertNull(sut.execute(applicationContext)); context.assertIsSatisfied(); }
@Override public Integer execute(final PrincipalActionContext inActionContext) { UpdateAppDataRequest parameters = (UpdateAppDataRequest) inActionContext.getParams(); long applicationId = parameters.getApplicationId(); String personId = parameters.getOpenSocialId(); AppData outputAppData = null; AppData currentAppData = mapper.findOrCreateByPersonAndGadgetDefinitionIds(applicationId, personId); if (currentAppData != null) { HashMap<String, String> inputAppDataVals = parameters.getAppDataValues(); if (inputAppDataVals != null) { Map<String, String> appDataVals = new HashMap<String, String>(currentAppData.getValues()); for (Entry<String, String> currentAppDataValue : inputAppDataVals.entrySet()) { appDataVals.put(currentAppDataValue.getKey(), currentAppDataValue.getValue()); } currentAppData.setValues(appDataVals); mapper.flush(); } log.info("Deleting the AppDataDTO cache for gadDef " + applicationId + ", open social id: " + personId); cache.delete(CacheKeys.APPDATA_BY_GADGET_DEFINITION_ID_AND_UNDERSCORE_AND_PERSON_OPEN_SOCIAL_ID + applicationId + "_" + personId); } return null; }
UpdateAppDataExecution implements ExecutionStrategy<PrincipalActionContext> { @Override public Integer execute(final PrincipalActionContext inActionContext) { UpdateAppDataRequest parameters = (UpdateAppDataRequest) inActionContext.getParams(); long applicationId = parameters.getApplicationId(); String personId = parameters.getOpenSocialId(); AppData outputAppData = null; AppData currentAppData = mapper.findOrCreateByPersonAndGadgetDefinitionIds(applicationId, personId); if (currentAppData != null) { HashMap<String, String> inputAppDataVals = parameters.getAppDataValues(); if (inputAppDataVals != null) { Map<String, String> appDataVals = new HashMap<String, String>(currentAppData.getValues()); for (Entry<String, String> currentAppDataValue : inputAppDataVals.entrySet()) { appDataVals.put(currentAppDataValue.getKey(), currentAppDataValue.getValue()); } currentAppData.setValues(appDataVals); mapper.flush(); } log.info("Deleting the AppDataDTO cache for gadDef " + applicationId + ", open social id: " + personId); cache.delete(CacheKeys.APPDATA_BY_GADGET_DEFINITION_ID_AND_UNDERSCORE_AND_PERSON_OPEN_SOCIAL_ID + applicationId + "_" + personId); } return null; } }
UpdateAppDataExecution implements ExecutionStrategy<PrincipalActionContext> { @Override public Integer execute(final PrincipalActionContext inActionContext) { UpdateAppDataRequest parameters = (UpdateAppDataRequest) inActionContext.getParams(); long applicationId = parameters.getApplicationId(); String personId = parameters.getOpenSocialId(); AppData outputAppData = null; AppData currentAppData = mapper.findOrCreateByPersonAndGadgetDefinitionIds(applicationId, personId); if (currentAppData != null) { HashMap<String, String> inputAppDataVals = parameters.getAppDataValues(); if (inputAppDataVals != null) { Map<String, String> appDataVals = new HashMap<String, String>(currentAppData.getValues()); for (Entry<String, String> currentAppDataValue : inputAppDataVals.entrySet()) { appDataVals.put(currentAppDataValue.getKey(), currentAppDataValue.getValue()); } currentAppData.setValues(appDataVals); mapper.flush(); } log.info("Deleting the AppDataDTO cache for gadDef " + applicationId + ", open social id: " + personId); cache.delete(CacheKeys.APPDATA_BY_GADGET_DEFINITION_ID_AND_UNDERSCORE_AND_PERSON_OPEN_SOCIAL_ID + applicationId + "_" + personId); } return null; } UpdateAppDataExecution(final AppDataMapper inMapper, final Cache inCache); }
UpdateAppDataExecution implements ExecutionStrategy<PrincipalActionContext> { @Override public Integer execute(final PrincipalActionContext inActionContext) { UpdateAppDataRequest parameters = (UpdateAppDataRequest) inActionContext.getParams(); long applicationId = parameters.getApplicationId(); String personId = parameters.getOpenSocialId(); AppData outputAppData = null; AppData currentAppData = mapper.findOrCreateByPersonAndGadgetDefinitionIds(applicationId, personId); if (currentAppData != null) { HashMap<String, String> inputAppDataVals = parameters.getAppDataValues(); if (inputAppDataVals != null) { Map<String, String> appDataVals = new HashMap<String, String>(currentAppData.getValues()); for (Entry<String, String> currentAppDataValue : inputAppDataVals.entrySet()) { appDataVals.put(currentAppDataValue.getKey(), currentAppDataValue.getValue()); } currentAppData.setValues(appDataVals); mapper.flush(); } log.info("Deleting the AppDataDTO cache for gadDef " + applicationId + ", open social id: " + personId); cache.delete(CacheKeys.APPDATA_BY_GADGET_DEFINITION_ID_AND_UNDERSCORE_AND_PERSON_OPEN_SOCIAL_ID + applicationId + "_" + personId); } return null; } UpdateAppDataExecution(final AppDataMapper inMapper, final Cache inCache); @Override Integer execute(final PrincipalActionContext inActionContext); }
UpdateAppDataExecution implements ExecutionStrategy<PrincipalActionContext> { @Override public Integer execute(final PrincipalActionContext inActionContext) { UpdateAppDataRequest parameters = (UpdateAppDataRequest) inActionContext.getParams(); long applicationId = parameters.getApplicationId(); String personId = parameters.getOpenSocialId(); AppData outputAppData = null; AppData currentAppData = mapper.findOrCreateByPersonAndGadgetDefinitionIds(applicationId, personId); if (currentAppData != null) { HashMap<String, String> inputAppDataVals = parameters.getAppDataValues(); if (inputAppDataVals != null) { Map<String, String> appDataVals = new HashMap<String, String>(currentAppData.getValues()); for (Entry<String, String> currentAppDataValue : inputAppDataVals.entrySet()) { appDataVals.put(currentAppDataValue.getKey(), currentAppDataValue.getValue()); } currentAppData.setValues(appDataVals); mapper.flush(); } log.info("Deleting the AppDataDTO cache for gadDef " + applicationId + ", open social id: " + personId); cache.delete(CacheKeys.APPDATA_BY_GADGET_DEFINITION_ID_AND_UNDERSCORE_AND_PERSON_OPEN_SOCIAL_ID + applicationId + "_" + personId); } return null; } UpdateAppDataExecution(final AppDataMapper inMapper, final Cache inCache); @Override Integer execute(final PrincipalActionContext inActionContext);  }