private Realm update(final RealmTO realmTO, final ConnectorObject beforeObj, final ProvisioningReport result) { Realm realm = realmDAO.findByFullPath(realmTO.getFullPath()); PropagationByResource propByRes = binder.update(realm, realmTO); realm = realmDAO.save(realm); List<PropagationTaskInfo> taskInfos = propagationManager.createTasks(realm, propByRes, null); if (!taskInfos.isEmpty()) { taskInfos.get(0).setBeforeObj(Optional.ofNullable(beforeObj)); PropagationReporter reporter = new DefaultPropagationReporter(); taskExecutor.execute(taskInfos.get(0), reporter); reportPropagation(result, reporter); } return realm; }
@PreAuthorize("hasRole('" + StandardEntitlement.REALM_UPDATE + "')") public ProvisioningResult<RealmTO> update(final RealmTO realmTO) { Realm realm = realmDAO.findByFullPath(realmTO.getFullPath()); if (realm == null) { LOG.error("Could not find realm '" + realmTO.getFullPath() + "'"); throw new NotFoundException(realmTO.getFullPath()); } PropagationByResource propByRes = binder.update(realm, realmTO); realm = realmDAO.save(realm); List<PropagationTaskInfo> taskInfos = propagationManager.createTasks(realm, propByRes, null); PropagationReporter propagationReporter = taskExecutor.execute(taskInfos, false); ProvisioningResult<RealmTO> result = new ProvisioningResult<>(); result.setEntity(binder.getRealmTO(realm, true)); result.getPropagationStatuses().addAll(propagationReporter.getStatuses()); return result; }
Realm realm = realmDAO.save(binder.create(parent, realmTO));
realm = realmDAO.save(realm); RealmTO updated = binder.getRealmTO(realm, true);
if (unlink) { realm.getResources().remove(profile.getTask().getResource()); realmTO = binder.getRealmTO(realmDAO.save(realm), true); } else { realmTO = binder.getRealmTO(realm, true);
Realm realm = realmDAO.save(binder.create(profile.getTask().getDestinatioRealm(), realmTO));