private void link(final Realm realm, final boolean unlink, final ProvisioningReport result) { RealmTO realmTO = binder.getRealmTO(realm, true); if (unlink) { realmTO.getResources().remove(profile.getTask().getResource().getKey()); } else { realmTO.getResources().add(profile.getTask().getResource().getKey()); } update(realmTO, null, result); }
private void provision(final Realm realm, final ProvisioningReport result) { List<String> noPropResources = new ArrayList<>(realm.getResourceKeys()); noPropResources.remove(profile.getTask().getResource().getKey()); PropagationByResource propByRes = new PropagationByResource(); propByRes.add(ResourceOperation.CREATE, profile.getTask().getResource().getKey()); PropagationReporter reporter = taskExecutor.execute( propagationManager.createTasks(realm, propByRes, noPropResources), false); reportPropagation(result, reporter); }
private void deprovision(final Realm realm, final ConnectorObject beforeObj, final ProvisioningReport result) { List<String> noPropResources = new ArrayList<>(realm.getResourceKeys()); noPropResources.remove(profile.getTask().getResource().getKey()); PropagationByResource propByRes = new PropagationByResource(); propByRes.addAll(ResourceOperation.DELETE, realm.getResourceKeys()); List<PropagationTaskInfo> taskInfos = propagationManager.createTasks(realm, propByRes, noPropResources); if (!taskInfos.isEmpty()) { taskInfos.get(0).setBeforeObj(Optional.ofNullable(beforeObj)); PropagationReporter reporter = new DefaultPropagationReporter(); taskExecutor.execute(taskInfos.get(0), reporter); reportPropagation(result, reporter); } }
private void unassign(final Realm realm, final ConnectorObject beforeObj, final ProvisioningReport result) { RealmTO realmTO = binder.getRealmTO(realm, true); realmTO.getResources().remove(profile.getTask().getResource().getKey()); deprovision(update(realmTO, beforeObj, result), beforeObj, result); }
private void assign(final Realm realm, final ProvisioningReport result) { RealmTO realmTO = binder.getRealmTO(realm, true); realmTO.getResources().add(profile.getTask().getResource().getKey()); provision(update(realmTO, null, result), result); }
protected void update( final Any<?> any, final Boolean enable, final ConnectorObject beforeObj, final ProvisioningReport result) { boolean changepwd = any instanceof User; List<String> ownedResources = getAnyUtils().getAllResources(any).stream(). map(Entity::getKey).collect(Collectors.toList()); List<String> noPropResources = new ArrayList<>(ownedResources); noPropResources.remove(profile.getTask().getResource().getKey()); PropagationByResource propByRes = new PropagationByResource(); propByRes.add(ResourceOperation.UPDATE, profile.getTask().getResource().getKey()); propByRes.addOldConnObjectKey(profile.getTask().getResource().getKey(), beforeObj.getUid().getUidValue()); List<PropagationTaskInfo> taskInfos = propagationManager.getUpdateTasks( any.getType().getKind(), any.getKey(), changepwd, enable, propByRes, null, noPropResources); if (!taskInfos.isEmpty()) { taskInfos.get(0).setBeforeObj(Optional.of(beforeObj)); PropagationReporter reporter = new DefaultPropagationReporter(); taskExecutor.execute(taskInfos.get(0), reporter); reportPropagation(result, reporter); } }
protected void provision(final Any<?> any, final Boolean enable, final ProvisioningReport result) { AnyTO before = getAnyTO(any.getKey()); List<String> noPropResources = new ArrayList<>(before.getResources()); noPropResources.remove(profile.getTask().getResource().getKey()); PropagationByResource propByRes = new PropagationByResource(); propByRes.add(ResourceOperation.CREATE, profile.getTask().getResource().getKey()); List<PropagationTaskInfo> taskInfos = propagationManager.getCreateTasks( any.getType().getKind(), any.getKey(), enable, propByRes, before.getVirAttrs(), noPropResources); if (!taskInfos.isEmpty()) { taskInfos.get(0).setBeforeObj(Optional.ofNullable(null)); PropagationReporter reporter = new DefaultPropagationReporter(); taskExecutor.execute(taskInfos.get(0), reporter); reportPropagation(result, reporter); } }
protected void deprovision(final Any<?> any, final ConnectorObject beforeObj, final ProvisioningReport result) { AnyTO before = getAnyTO(any.getKey()); List<String> noPropResources = new ArrayList<>(before.getResources()); noPropResources.remove(profile.getTask().getResource().getKey()); PropagationByResource propByRes = new PropagationByResource(); propByRes.add(ResourceOperation.DELETE, profile.getTask().getResource().getKey()); propByRes.addOldConnObjectKey(profile.getTask().getResource().getKey(), beforeObj.getUid().getUidValue()); List<PropagationTaskInfo> taskInfos = propagationManager.getDeleteTasks( any.getType().getKind(), any.getKey(), propByRes, noPropResources); if (!taskInfos.isEmpty()) { taskInfos.get(0).setBeforeObj(Optional.of(beforeObj)); PropagationReporter reporter = new DefaultPropagationReporter(); taskExecutor.execute(taskInfos.get(0), reporter); reportPropagation(result, reporter); } }
@Override protected void provision(final Any<?> any, final Boolean enabled, final ProvisioningReport result) { AnyTO before = getAnyTO(any.getKey()); List<String> noPropResources = new ArrayList<>(before.getResources()); noPropResources.remove(profile.getTask().getResource().getKey()); PropagationByResource propByRes = new PropagationByResource(); propByRes.add(ResourceOperation.CREATE, profile.getTask().getResource().getKey()); PropagationReporter reporter = taskExecutor.execute(propagationManager.getUserCreateTasks( before.getKey(), null, enabled, propByRes, before.getVirAttrs(), noPropResources), false); reportPropagation(result, reporter); }
any = getAnyUtils().dao().authFind(anyKey); Provision provision = profile.getTask().getResource().getProvision(any.getType()).orElse(null); if (provision == null) { throw new JobExecutionException("No provision found on " + profile.getTask().getResource() + " for " + any.getType().getKey());
protected void link(final Any<?> any, final boolean unlink, final ProvisioningReport result) { AnyPatch patch = getAnyUtils().newAnyPatch(any.getKey()); patch.getResources().add(new StringPatchItem.Builder(). operation(unlink ? PatchOperation.DELETE : PatchOperation.ADD_REPLACE). value(profile.getTask().getResource().getKey()).build()); update(patch); result.setStatus(ProvisioningReport.Status.SUCCESS); }
protected void unassign(final Any<?> any, final ConnectorObject beforeObj, final ProvisioningReport result) { AnyPatch patch = getAnyUtils().newAnyPatch(any.getKey()); patch.getResources().add(new StringPatchItem.Builder(). operation(PatchOperation.DELETE). value(profile.getTask().getResource().getKey()).build()); update(patch); deprovision(any, beforeObj, result); }
LOG.debug("Executing push on {}", pushTask.getResource()); profile.getActions().addAll(actions); profile.setDryRun(dryRun); profile.setConflictResolutionAction(pushTask.getResource().getPushPolicy() == null ? ConflictResolutionAction.IGNORE : pushTask.getResource().getPushPolicy().getConflictResolutionAction()); if (pushTask.getResource().getOrgUnit() != null) { status.set("Pushing realms"); reportHandled(SyncopeConstants.REALM_ANYTYPE, realm.getName()); } catch (Exception e) { LOG.warn("Failure pushing '{}' on '{}'", realm, pushTask.getResource(), e); throw new JobExecutionException("While pushing " + realm + " on " + pushTask.getResource(), e); for (Provision provision : pushTask.getResource().getProvisions()) { if (provision.getMapping() != null) { status.set("Pushing " + provision.getAnyType().getKey()); Collections.<OrderByClause>emptyList(), provision.getAnyType().getKind()); doHandle(anys, handler, pushTask.getResource()); String result = createReport(profile.getResults(), pushTask.getResource(), dryRun); LOG.debug("Push result: {}", result); return result;
protected void assign(final Any<?> any, final Boolean enabled, final ProvisioningReport result) { AnyPatch patch = getAnyUtils().newAnyPatch(any.getKey()); patch.getResources().add(new StringPatchItem.Builder(). operation(PatchOperation.ADD_REPLACE). value(profile.getTask().getResource().getKey()).build()); update(patch); provision(any, enabled, result); }
doHandle(Arrays.asList(any), handler, pushTask.getResource());
result.setName(realm.getFullPath()); LOG.debug("Propagating Realm with key {} towards {}", realm.getKey(), profile.getTask().getResource()); OrgUnit orgUnit = profile.getTask().getResource().getOrgUnit(); Optional<? extends OrgUnitItem> connObjectKey = orgUnit.getConnObjectKeyItem(); Optional<String> connObjecKeyValue = mappingManager.getConnObjectKeyValue(realm, orgUnit); AuditElements.EventCategoryType.PUSH, REALM_TYPE.toLowerCase(), profile.getTask().getResource().getKey(), operation); boolean auditRequested = auditManager.auditRequested( AuditElements.EventCategoryType.PUSH, REALM_TYPE.toLowerCase(), profile.getTask().getResource().getKey(), operation); try { LOG.warn("Error pushing {} towards {}", realm, profile.getTask().getResource(), e); AuditElements.EventCategoryType.PUSH, REALM_TYPE.toLowerCase(), profile.getTask().getResource().getKey(), operation, resultStatus,
any.getType().getKind(), any.getKey(), profile.getTask().getResource()); AuditElements.EventCategoryType.PUSH, any.getType().getKind().name().toLowerCase(), profile.getTask().getResource().getKey(), operation); boolean auditRequested = auditManager.auditRequested( AuditElements.EventCategoryType.PUSH, any.getType().getKind().name().toLowerCase(), profile.getTask().getResource().getKey(), operation); try { LOG.warn("Error pushing {} towards {}", any, profile.getTask().getResource(), e); AuditElements.EventCategoryType.PUSH, any.getType().getKind().name().toLowerCase(), profile.getTask().getResource().getKey(), operation, resultStatus,