static <O extends Objectable> void fillInModificationDeleteReference(ObjectDelta<O> objectDelta, ItemPath refPath, PrismReferenceValue... refValues) { ReferenceDelta refDelta = objectDelta.createReferenceModification(refPath); if (refValues != null) { refDelta.addValuesToDelete(refValues); objectDelta.addModification(refDelta); } }
public static <O extends Objectable> void fillInModificationAddReference(ObjectDelta<O> objectDelta, ItemPath refPath, PrismReferenceValue... refValues) { ReferenceDelta refDelta = objectDelta.createReferenceModification(refPath); if (refValues != null) { refDelta.addValuesToAdd(refValues); objectDelta.addModification(refDelta); } }
public static <O extends Objectable> void fillInModificationReplaceReference(ObjectDelta<O> objectDelta, ItemPath refPath, PrismReferenceValue... refValues) { ReferenceDelta refDelta = objectDelta.createReferenceModification(refPath); if (refValues != null) { refDelta.setValuesToReplace(refValues); objectDelta.addModification(refDelta); } }
/** * Convenience method for quick creation of object deltas that replace a single object property. This is used quite often * to justify a separate method. */ @Override public <O extends Objectable> ObjectDelta<O> createModificationDeleteReference(Class<O> type, String oid, QName propertyName, PrismReferenceValue... referenceValues) { ObjectDelta<O> objectDelta = create(type, ChangeType.MODIFY); objectDelta.setOid(oid); PrismObjectDefinition<O> objDef = prismContext.getSchemaRegistry().findObjectDefinitionByCompileTimeClass(type); PrismReferenceDefinition refDef = objDef.findReferenceDefinition(ItemName.fromQName(propertyName)); ReferenceDelta referenceDelta = objectDelta.createReferenceModification(ItemName.fromQName(propertyName), refDef); Collection<PrismReferenceValue> valuesToDelete = new ArrayList<>(referenceValues.length); for (PrismReferenceValue refVal: referenceValues) { valuesToDelete.add(refVal); } referenceDelta.addValuesToDelete(valuesToDelete); return objectDelta; }
/** * Convenience method for quick creation of object deltas that replace a single object property. This is used quite often * to justify a separate method. */ @Override public <O extends Objectable> ObjectDelta<O> createModificationAddReference(Class<O> type, String oid, QName propertyName, PrismReferenceValue... referenceValues) { ObjectDelta<O> objectDelta = create(type, ChangeType.MODIFY); objectDelta.setOid(oid); PrismObjectDefinition<O> objDef = prismContext.getSchemaRegistry().findObjectDefinitionByCompileTimeClass(type); PrismReferenceDefinition refDef = objDef.findReferenceDefinition(ItemName.fromQName(propertyName)); ReferenceDelta referenceDelta = objectDelta.createReferenceModification(ItemName.fromQName(propertyName), refDef); Collection<PrismReferenceValue> valuesToAdd = new ArrayList<>(referenceValues.length); for (PrismReferenceValue refVal: referenceValues) { valuesToAdd.add(refVal); } referenceDelta.addValuesToAdd(valuesToAdd); return objectDelta; }
/** * Convenience method for quick creation of object deltas that replace a single object property. This is used quite often * to justify a separate method. */ @Override public <O extends Objectable> ObjectDelta<O> createModificationAddReference(Class<O> type, String oid, QName propertyName, PrismObject<?>... referenceObjects) { ObjectDelta<O> objectDelta = create(type, ChangeType.MODIFY); objectDelta.setOid(oid); PrismObjectDefinition<O> objDef = prismContext.getSchemaRegistry().findObjectDefinitionByCompileTimeClass(type); PrismReferenceDefinition refDef = objDef.findReferenceDefinition(ItemName.fromQName(propertyName)); ReferenceDelta referenceDelta = objectDelta.createReferenceModification(ItemName.fromQName(propertyName), refDef); Collection<PrismReferenceValue> valuesToReplace = new ArrayList<>(referenceObjects.length); for (PrismObject<?> refObject: referenceObjects) { valuesToReplace.add(prismContext.itemFactory().createReferenceValue(refObject)); } referenceDelta.setValuesToReplace(valuesToReplace); return objectDelta; }