protected PrismReference ref(List<ObjectReferenceType> orts) { PrismReference rv = prismContext.itemFactory().createReference(new QName("dummy")); orts.forEach(ort -> { try { rv.add(ort.asReferenceValue().clone()); } catch (SchemaException e) { throw new IllegalStateException(e); } }); return rv; }
private SceneDeltaItemImpl createSceneDeltaItem(ReferenceDelta delta, SceneImpl owningScene, VisualizationContext context, Task task, OperationResult result) throws SchemaException { SceneDeltaItemImpl di = createSceneDeltaItemCommon(delta, owningScene); di.setOldValues(toSceneItemValuesRef(delta.getEstimatedOldValues(), context, task, result)); PrismReference reference = prismContext.itemFactory().createReference(delta.getElementName()); try { if (delta.getEstimatedOldValues() != null) { reference.addAll(CloneUtil.cloneCollectionMembers(delta.getEstimatedOldValues())); } delta.applyToMatchingPath(reference, ParameterizedEquivalenceStrategy.DEFAULT_FOR_DELTA_APPLICATION); } catch (SchemaException e) { throw new SystemException("Couldn't visualize reference delta: " + delta + ": " + e.getMessage(), e); } computeAddedDeletedUnchangedRef(di, delta.getEstimatedOldValues(), reference.getValues(), context, task, result); di.setNewValues(toSceneItemValuesRef(reference.getValues(), context, task, result)); return di; }
ref1Def.setTargetTypeName(ACCOUNT_TYPE_QNAME); PrismReference ref1a = prismContext.itemFactory().createReference(REF_QNAME, ref1Def); PrismReferenceValue val11 = new PrismReferenceValueImpl("oid1"); val11.setTargetType(ACCOUNT_TYPE_QNAME); assertFalse(ref1a.add(val12)); PrismReference ref1b = prismContext.itemFactory().createReference(REF_QNAME, ref1Def); PrismReferenceValue val13 = new PrismReferenceValueImpl("oid1"); PrismReference ref2a = prismContext.itemFactory().createReference(REF_QNAME, ref2Def); PrismReferenceValue val21 = new PrismReferenceValueImpl("oid1"); val21.setTargetType(ACCOUNT_TYPE_QNAME); assertFalse(ref2a.add(val22)); PrismReference ref2b = prismContext.itemFactory().createReference(REF_QNAME, ref2Def); PrismReferenceValue val23 = new PrismReferenceValueImpl("oid1");