@Override public void notifyChange(ResourceObjectShadowChangeDescription change, Task task, OperationResult parentResult) { cache.invalidate(change.getResource(), change.getCurrentShadow()); }
private void validate(ResourceObjectShadowChangeDescription change) { Validate.notNull(change, "Resource object shadow change description must not be null."); Validate.isTrue(change.getCurrentShadow() != null || change.getObjectDelta() != null, "Object delta and current shadow are null. At least one must be provided."); Validate.notNull(change.getResource(), "Resource in change must not be null."); if (consistencyChecks) { if (change.getCurrentShadow() != null) { change.getCurrentShadow().checkConsistence(); ShadowUtil.checkConsistence(change.getCurrentShadow(), "current shadow in change description"); } if (change.getObjectDelta() != null) { change.getObjectDelta().checkConsistence(); } } }
ResourceType resource = change.getResource().asObjectable(); validateResourceInShadow(resourceShadow.asObjectable(), resource);
SynchronizationContext<F> syncCtx = loadSynchronizationContext(applicableShadow, currentShadow, change.getResource(), change.getSourceChannel(), configuration, task, subResult); syncCtx.setUnrelatedChange(change.isUnrelatedChange());
context.setOptions(options); ResourceType resource = change.getResource().asObjectable(); if (ModelExecuteOptions.isLimitPropagation(options)) { context.setTriggeredResource(resource);
assertNotNull("No resource", change.getResource()); assertNotNull("No parent result", parentResult);