/** * Convenience method for quick creation of object deltas that replace a single object property. This is used quite often * to justify a separate method. */ @SafeVarargs public static <O extends Objectable, X> ShadowDiscriminatorObjectDelta<O> createShadowDiscriminatorModificationReplaceProperty(Class<O> type, String resourceOid, ShadowKindType kind, String intent, ItemPath propertyPath, PrismContext prismContext, X... propertyValues) { ShadowDiscriminatorObjectDelta<O> objectDelta = new ShadowDiscriminatorObjectDeltaImpl<>(type, ChangeType.MODIFY, prismContext); objectDelta.setDiscriminator(new ResourceShadowDiscriminator(resourceOid, kind, intent)); ObjectDeltaFactoryImpl.fillInModificationReplaceProperty(objectDelta, propertyPath, propertyValues); return objectDelta; } }
projectionContext.setResourceShadowDiscriminator(shadowDelta.getDiscriminator()); } else { if (!projectionDelta.isAdd() && projectionDelta.getOid() == null) {
ShadowDiscriminatorObjectDelta<ShadowType> accountDelta = RefineryObjectFactory.createShadowDiscriminatorModificationReplaceProperty(ShadowType.class, RESOURCE_DUMMY_OID, ShadowKindType.ACCOUNT, null, dummyResourceCtl.getAttributeFullnamePath(), prismContext, "Cpt. Jack Sparrow"); accountDelta.addModificationAddProperty( dummyResourceCtl.getAttributePath(DummyResourceContoller.DUMMY_ACCOUNT_ATTRIBUTE_WEAPON_NAME), "smell");
if (delta instanceof ShadowDiscriminatorObjectDelta) { discriminator = ((ShadowDiscriminatorObjectDelta) delta).getDiscriminator(); } else { String shadowOid = delta.getOid();