delta2 = prismContext.deltaFactory().container().create(attribute2, (PrismContainerDefinition) propertyDefinition2); } else { delta2 = prismContext.deltaFactory().property().create(attribute2, (PrismPropertyDefinition) propertyDefinition2);
ContainerDelta<AccessCertificationCaseType> caseDelta = prismContext.deltaFactory().container().createDelta(F_CASE, AccessCertificationCampaignType.class); _case.setIteration(1);
ContainerDelta<ObjectPolicyConfigurationType> deleteDelta = prismContext.deltaFactory().container().createModificationDelete(SystemConfigurationType.F_DEFAULT_OBJECT_POLICY_CONFIGURATION, SystemConfigurationType.class, oldValue.clone()); ((Collection)modifications).add(deleteDelta); newFocusPolicyType.setType(objectType); newFocusPolicyType.setSubtype(subType); addDelta = prismContext.deltaFactory().container().createModificationAdd(SystemConfigurationType.F_DEFAULT_OBJECT_POLICY_CONFIGURATION, SystemConfigurationType.class, newFocusPolicyType); } else { PrismContainerValue<ObjectPolicyConfigurationType> newValue = oldValue.cloneComplex(CloneStrategy.REUSE); addDelta = prismContext.deltaFactory().container().createModificationAdd(SystemConfigurationType.F_DEFAULT_OBJECT_POLICY_CONFIGURATION, SystemConfigurationType.class, newValue); newFocusPolicyType = newValue.asContainerable();
List<ItemPath> pathsToRemove = new ArrayList<>(); for (Item<?,?> item: credentialsContainer.getValue().getItems()) { ContainerDelta<?> cdelta = prismContext.deltaFactory().container().create (item.getPath(), (PrismContainerDefinition)item.getDefinition()); cdelta.addValuesToAdd(((PrismContainer)item).getValue().clone());
if (pendingOperation.asPrismContainerValue().getId() == null) { ContainerDelta<PendingOperationType> cdelta = prismContext.deltaFactory().container().create( ShadowType.F_PENDING_OPERATION, containerDefinition); cdelta.addValuesToAdd(pendingOperation.asPrismContainerValue());
ContainerDelta<ShadowAssociationType> associationDelta = prismContext.deltaFactory().container().createDelta(ShadowType.F_ASSOCIATION, subjectShadowBefore.getDefinition()); PrismContainer<ShadowAssociationType> associationContainer = subjectShadowBefore.findContainer(ShadowType.F_ASSOCIATION); if (associationContainer == null || associationContainer.isEmpty()){
PrismObjectDefinition<F> focusDef = context.getFocusContext().getObjectDefinition(); ContainerDelta<AssignmentType> assignmentDelta = prismContext.deltaFactory().container() .createDelta(FocusType.F_ASSIGNMENT, focusDef); assignmentDelta.addValuesToDelete(assignmentValueToRemove); context.getFocusContext().swallowToSecondaryDelta(assignmentDelta);
.createModificationReplace(ObjectType.F_TRIGGER, AccessCertificationCampaignType.class, triggers); itemDeltaList.add(triggerDelta);
(task, result) -> { Collection<ItemDelta<?,?>> modifications = new ArrayList<>(); ContainerDelta<AssignmentType> assignmentDelta1 = prismContext.deltaFactory().container().createDelta(UserType.F_ASSIGNMENT, getUserDefinition()); PrismContainerValue<AssignmentType> cval = prismContext.itemFactory().createContainerValue(); assignmentDelta1.addValueToAdd(cval);
ContainerDelta<PendingOperationType> cdelta = prismContext.deltaFactory().container().createDelta(ShadowType.F_PENDING_OPERATION, shadow.getDefinition()); cdelta.addValuesToAdd(pendingOperation.asPrismContainerValue()); repoDeltas.add(cdelta);
ContainerDelta<AssignmentType> containerDelta2 = getPrismContext().deltaFactory().container().createDelta(UserType.F_ASSIGNMENT, getUserTypeDefinition()); containerDelta2.addValueToAdd(assignmentValue2);
Collection<? extends ItemDelta> modifications = prismContext.deltaFactory().container().createModificationReplaceContainerCollection(SystemConfigurationType.F_LOGGING, systemConfigurationTypeDefinition, logging.asPrismContainerValue().clone());
MetadataType metadataType = operationalDataManager.createCreateMetadata(context, now, task); ContainerDelta<MetadataType> metadataDelta = prismContext.deltaFactory().container() .createDelta(SchemaConstants.PATH_PASSWORD_METADATA, projectionContext.getObjectDefinition()); PrismContainerValue cval = metadataType.asPrismContainerValue(); cval.setOriginTypeRecursive(OriginType.OUTBOUND);
if (targetRef.getType().equals(RoleType.COMPLEX_TYPE)) { ContainerDelta<AssignmentType> assignmentDelta = prismContext.deltaFactory().container() .createDelta(UserType.F_ASSIGNMENT, getUserDefinition()); PrismContainerValue<AssignmentType> cval = prismContext.itemFactory().createContainerValue(); cval.setId(assignment.getId());
ContainerDelta<XmlSchemaType> schemaContainerDelta = prismContext.deltaFactory().container().createDelta( ResourceType.F_SCHEMA, ResourceType.class); PrismContainerValue<XmlSchemaType> cval = prismContext.itemFactory().createContainerValue();
ContainerDelta<ResourceAttributeDefinitionType> attributeDelta = prismContext.deltaFactory().container().create( ItemPath.create(UserType.F_ASSIGNMENT, assignmentId, AssignmentType.F_CONSTRUCTION, ConstructionType.F_ATTRIBUTE), attributeDef);
.findContainerDefinition(ShadowType.F_ASSOCIATION); ContainerDelta assocDelta = prismContext.deltaFactory().container().create( SchemaConstants.PATH_ASSOCIATION, associationDefinition);
ContainerDelta<ObjectPolicyConfigurationType> deleteDelta = prismContext.deltaFactory().container().createModificationDelete(SystemConfigurationType.F_DEFAULT_OBJECT_POLICY_CONFIGURATION, SystemConfigurationType.class, oldValue.clone()); ((Collection)modifications).add(deleteDelta); .createModificationAdd(SystemConfigurationType.F_DEFAULT_OBJECT_POLICY_CONFIGURATION, SystemConfigurationType.class, newFocusPolicyType);
void revokeAssignmentCase(AccessCertificationAssignmentCaseType assignmentCase, AccessCertificationCampaignType campaign, OperationResult caseResult, Task task) throws SchemaException, ObjectAlreadyExistsException, ObjectNotFoundException, ExpressionEvaluationException, CommunicationException, ConfigurationException, PolicyViolationException, SecurityViolationException { String objectOid = assignmentCase.getObjectRef().getOid(); Class<? extends Objectable> clazz = ObjectTypes.getObjectTypeFromTypeQName(assignmentCase.getObjectRef().getType()).getClassDefinition(); //noinspection unchecked PrismContainerValue<AssignmentType> cval = assignmentCase.getAssignment().asPrismContainerValue().clone(); ContainerDelta assignmentDelta; if (Boolean.TRUE.equals(assignmentCase.isIsInducement())) { assignmentDelta = prismContext.deltaFactory().container().createModificationDelete(AbstractRoleType.F_INDUCEMENT, clazz, cval); } else { assignmentDelta = prismContext.deltaFactory().container().createModificationDelete(FocusType.F_ASSIGNMENT, clazz, cval); } @SuppressWarnings({ "unchecked", "raw" }) ObjectDelta<? extends ObjectType> objectDelta = (ObjectDelta<? extends ObjectType>) prismContext.deltaFactory().object().createModifyDelta(objectOid, Collections.singletonList(assignmentDelta), clazz); LOGGER.info("Going to execute delta: {}", objectDelta.debugDump()); modelService.executeChanges(Collections.singletonList(objectDelta), null, task, caseResult); LOGGER.info("Case {} in {} ({} {} of {}) was successfully revoked", assignmentCase.asPrismContainerValue().getId(), ObjectTypeUtil.toShortString(campaign), Boolean.TRUE.equals(assignmentCase.isIsInducement()) ? "inducement":"assignment", cval.getId(), objectOid); } }
.createModificationAdd(SchemaConstants.PATH_CREDENTIALS_PASSWORD_HISTORY_ENTRY, UserType.class, entryType.clone()); context.getFocusContext().swallowToSecondaryDelta(addHistoryDelta);