*/
@Override
public Serializable execute(final TaskHandlerActionContext<ActionContext> inActionContext)
{
Person ldapPerson = (Person) inActionContext.getActionContext().getParams();
UpdatePersonResponse response = personMapper.execute(ldapPerson);
// Queue async action to update cache if necessary
if (response.wasUserUpdated())
{
log.debug("Person " + ldapPerson.getAccountId() + " was updated - updating cache");
inActionContext.getUserActionRequests().add(
new UserActionRequest("cachePerson", null, response.getPersonId()));
}
if (response.wasDisplayNameUpdated())
{
log.debug("Person " + ldapPerson.getAccountId()
+ " display name was updated - updating display name everywhere");
inActionContext.getUserActionRequests().addAll(
personActivityCacheUpdater.getUpdateCacheRequests(null, response.getPersonId()));
}
return Boolean.TRUE;
}