@SuppressWarnings("unchecked") private ResourceObjectShadowChangeDescription createResourceShadowChangeDescription( Change change, ResourceType resourceType, String channel) { ResourceObjectShadowChangeDescription shadowChangeDescription = new ResourceObjectShadowChangeDescription(); shadowChangeDescription.setObjectDelta(change.getObjectDelta()); shadowChangeDescription.setResource(resourceType.asPrismObject()); shadowChangeDescription.setOldShadow(change.getOldShadow()); shadowChangeDescription.setCurrentShadow(change.getCurrentShadow()); if (null == channel) { shadowChangeDescription .setSourceChannel(QNameUtil.qNameToUri(SchemaConstants.CHANGE_CHANNEL_LIVE_SYNC)); } else { shadowChangeDescription.setSourceChannel(channel); } return shadowChangeDescription; }
private void reactShadowGone(PrismObject<ShadowType> shadow, PrismObject<ResourceType> resource, Task task, OperationResult result) { try { provisioningService.applyDefinition(shadow, task, result); ResourceObjectShadowChangeDescription change = new ResourceObjectShadowChangeDescription(); change.setSourceChannel(QNameUtil.qNameToUri(SchemaConstants.CHANGE_CHANNEL_RECON)); change.setResource(resource); ObjectDelta<ShadowType> shadowDelta = shadow.getPrismContext().deltaFactory().object() .createDeleteDelta(ShadowType.class, shadow.getOid() ); change.setObjectDelta(shadowDelta); // Need to also set current shadow. This will get reflected in "old" object in lens context change.setCurrentShadow(shadow); ModelImplUtils.clearRequestee(task); changeNotificationDispatcher.notifyChange(change, task, result); } catch (SchemaException | ObjectNotFoundException | CommunicationException | ConfigurationException | ExpressionEvaluationException e) { processShadowReconError(e, shadow, result); } }
change.setResource(ctx.getResource().asPrismObject()); change.setSourceChannel(QNameUtil.qNameToUri(SchemaConstants.CHANGE_CHANNEL_DISCOVERY)); change.setObjectDelta(repositoryShadow.createDeleteDelta()); change.setOldShadow(repositoryShadow);
shadowDelta.setObjectToAdd(shadowToAdd); shadowDelta.setOid(newShadowType.getOid()); change.setObjectDelta(shadowDelta);
ObjectDelta<ShadowType> syncDelta = prismContext.deltaFactory().object() .createDeleteDelta(ShadowType.class, accountShadowJackDummyOid); change.setObjectDelta(syncDelta);
ObjectDelta<ShadowType> syncDelta = prismContext.deltaFactory().object() .createDeleteDelta(ShadowType.class, accountShadowJackDummyOid); change.setObjectDelta(syncDelta);