// impossible by NotificationManager to fetch required user information
notificationManager.createTasks(new WorkflowResult<Long>(userId, null, "delete"));
List<PropagationTask> tasks = propagationManager.getDeleteTaskIds(userId);
final UserTO userTO = new UserTO();
userTO.setId(userId);
propagationManager.execute(tasks, new PropagationHandler() {
@Override
public void handle(final String resourceName, final PropagationTaskExecStatus executionStatus,
final ConnectorObject before, final ConnectorObject after) {
final PropagationTO propagation = new PropagationTO();
propagation.setResourceName(resourceName);
propagation.setStatus(executionStatus);
if (before != null) {
propagation.setBefore(connObjectUtil.getConnObjectTO(before));
}
if (after != null) {
propagation.setAfter(connObjectUtil.getConnObjectTO(after));
}
userTO.addPropagationTO(propagation);
}
});
wfAdapter.delete(userId);
auditManager.audit(Category.user, UserSubCategory.delete, Result.success,
"Successfully deleted user: " + userTO.getUsername());
LOG.debug("User successfully deleted: {}", userId);
return userTO;
}