public ObjectDelta<O> createAddDelta() { ObjectDelta<O> delta = createDelta(ChangeType.ADD); // TODO: clone? delta.setObjectToAdd(this); return delta; }
@Override public <O extends Objectable> ObjectDelta<O> createEmptyAddDelta(Class<O> type, String oid) throws SchemaException { ObjectDelta<O> objectDelta = this.createEmptyDelta(type, oid, ChangeType.ADD); PrismObjectDefinition<O> objDef = prismContext.getSchemaRegistry().findObjectDefinitionByCompileTimeClass(type); PrismObject<O> objectToAdd = objDef.instantiate(); objectDelta.setObjectToAdd(objectToAdd); return objectDelta; }
public static <T extends Objectable> ObjectDelta<T> diff(PrismObject<T> oldObject, PrismObject<T> newObject) { if (oldObject == null) { if (newObject == null) { return null; } PrismContext prismContext = getPrismContext(oldObject, newObject); if (prismContext == null) { throw new IllegalStateException("No prismContext in DiffUtil.diff!"); } ObjectDelta<T> objectDelta = prismContext.deltaFactory().object().create(newObject.getCompileTimeClass(), ChangeType.ADD); objectDelta.setOid(newObject.getOid()); objectDelta.setObjectToAdd(newObject); return objectDelta; } else { return oldObject.diff(newObject); } }
static <O extends Objectable> ObjectDelta<O> createAddDelta(PrismObject<O> objectToAdd) { ObjectDelta<O> objectDelta = objectToAdd.getPrismContext().deltaFactory().object().create(objectToAdd.getCompileTimeClass(), ChangeType.ADD); objectDelta.setOid(objectToAdd.getOid()); objectDelta.setObjectToAdd(objectToAdd); return objectDelta; }
@Override public <F extends FocusType> void handle(LensContext<F> context, SynchronizationSituation<F> situation, Map<QName, Object> parameters, Task task, OperationResult parentResult) throws SchemaException { if (context == null) { throw new UnsupportedOperationException("addFocus action is not supported with synchronize=false"); } PrismContext prismContext = context.getPrismContext(); LensFocusContext<F> focusContext = context.createFocusContext(); Class<F> focusClass = focusContext.getObjectTypeClass(); LOGGER.trace("addFocus action: add delta for {}", focusClass); PrismObjectDefinition<F> focusDefinition = prismContext.getSchemaRegistry().findObjectDefinitionByCompileTimeClass(focusClass); PrismObject<F> emptyFocus = focusDefinition.instantiate(); ObjectDelta<F> delta = emptyFocus.createAddDelta(); delta.setObjectToAdd(emptyFocus); focusContext.setPrimaryDelta(delta); }
private List<ApprovalRequest<T>> getApprovalRequests(ModelContext<?> modelContext, PcpAspectConfigurationType config, ObjectDelta<? extends ObjectType> change, Task taskFromModel, OperationResult result) { if (change.getChangeType() != ChangeType.ADD) { return null; } T objectType = (T) change.getObjectToAdd().asObjectable().clone(); if (objectType.getOid() == null) { String newOid = OidUtil.generateOid(); objectType.setOid(newOid); ((LensFocusContext<?>) modelContext.getFocusContext()).setOid(newOid); } change.setObjectToAdd(null); // make the change empty return Arrays.asList(createApprovalRequest(config, objectType, modelContext, taskFromModel, result)); }
delta.setObjectToAdd(shadowToAdd); } else { Collection<? extends ItemDelta> modifications = DeltaConvertor.toModifications(deltaType.getItemDelta(), prismContext.getSchemaRegistry().findObjectDefinitionByCompileTimeClass(ShadowType.class));
addDelta.setObjectToAdd(newAccount);
objectDelta.setObjectToAdd(currentShadow);
objectDelta.setObjectToAdd(objectToAddElement.asPrismObject());
shadowDelta.setObjectToAdd(shadowToAdd); shadowDelta.setOid(newShadowType.getOid()); change.setObjectDelta(shadowDelta);