public static List<String> referenceValueListToOidList(Collection<PrismReferenceValue> referenceValues) { List<String> oids = new ArrayList<>(referenceValues.size()); for (PrismReferenceValue referenceValue : referenceValues) { oids.add(referenceValue.getOid()); } return oids; }
private boolean hasProjection(List<ShadowType> mergedProjections, PrismReferenceValue leftLinkRef) { for (ShadowType projection: mergedProjections) { if (projection.getOid().equals(leftLinkRef.getOid())) { return true; } } return false; }
public List<String> getOids() { List<String> oids = new ArrayList<>(); for (PrismReferenceValue ref: getRefs()) { oids.add(ref.getOid()); } return oids; }
public List<String> getOids() { List<String> oids = new ArrayList<>(); for (PrismReferenceValue link: getLinks()) { oids.add(link.getOid()); } return oids; }
protected <F extends FocusType> String getLinkRefOid(PrismObject<F> focus, String resourceOid) throws ObjectNotFoundException, SchemaException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException { PrismReferenceValue linkRef = getLinkRef(focus, resourceOid); if (linkRef == null) { return null; } return linkRef.getOid(); }
public PrismReferenceValue findValueByOid(String oid) { for (PrismReferenceValue pval: getValues()) { if (oid.equals(pval.getOid())) { return pval; } } return null; }
protected void assertPrismRefValues(String contextDesc, Collection<PrismReferenceValue> real, String... expected) { List<String> refOids = new ArrayList<>(); for (PrismReferenceValue ref: real) { refOids.add(ref.getOid()); assertNotNull("Missing type in "+ref.getOid()+" in "+contextDesc, ref.getTargetType()); assertNotNull("Missing name in "+ref.getOid()+" in "+contextDesc, ref.getTargetName()); } PrismAsserts.assertSets("Wrong values in "+contextDesc, refOids, expected); }
private PrismReferenceValue getValue(String oid) { // We need to tolerate null OIDs here. Because of JAXB. for (PrismReferenceValue val: getValues()) { if (MiscUtil.equals(oid, val.getOid())) { return val; } } return null; }
public Element addAnnotation(QName qname, PrismReferenceValue value, Element parent) { Element annotation = createElement(qname); parent.appendChild(annotation); if (value != null) { annotation.setAttribute(ATTRIBUTE_OID_LOCAL_NAME, value.getOid()); DOMUtil.setQNameAttribute(annotation, ATTRIBUTE_REF_TYPE_LOCAL_NAME, value.getTargetType()); } return annotation; }
public static void assertRefEquivalent(String message, PrismReferenceValue expected, PrismReferenceValue actual) { if (expected == null && actual == null) { return; } if (expected == null || actual == null) { fail(message + ": expected=" + expected + ", actual=" + actual); } assertEquals(message+": wrong target oid", expected.getOid(), actual.getOid()); assertEquals(message+": wrong target type", expected.getTargetType(), actual.getTargetType()); }
protected <F extends FocusType> void assertLinked(PrismObject<F> focus, String projectionOid) throws ObjectNotFoundException, SchemaException { PrismReference linkRef = focus.findReference(FocusType.F_LINK_REF); assertNotNull("No linkRefs in "+focus, linkRef); boolean found = false; for (PrismReferenceValue val: linkRef.getValues()) { if (val.getOid().equals(projectionOid)) { found = true; } } assertTrue("Focus " + focus + " is not linked to shadow " + projectionOid, found); }
protected <F extends FocusType> String getSingleLinkOid(PrismObject<F> focus) { PrismReferenceValue accountRefValue = getSingleLinkRef(focus); assertNull("Unexpected object in linkRefValue", accountRefValue.getObject()); return accountRefValue.getOid(); }
protected <F extends FocusType> PrismReferenceValue getSingleLinkRef(PrismObject<F> focus) { F focusType = focus.asObjectable(); assertEquals("Unexpected number of linkRefs", 1, focusType.getLinkRef().size()); ObjectReferenceType linkRefType = focusType.getLinkRef().get(0); String accountOid = linkRefType.getOid(); assertFalse("No linkRef oid", StringUtils.isBlank(accountOid)); PrismReferenceValue accountRefValue = linkRefType.asReferenceValue(); assertEquals("OID mismatch in linkRefValue", accountOid, accountRefValue.getOid()); return accountRefValue; }
private static String getReferredObjectInformation(PrismReferenceValue ref) { if (ref.getObject() != null) { return ref.getObject().toString(); } else { return (ref.getTargetType() != null ? ref.getTargetType().getLocalPart()+":" : "") + (ref.getTargetName() != null ? ref.getTargetName() : ref.getOid()); } } }
public LinksAsserter<F,FA,RA> assertCount(int expectedCount) throws ObjectNotFoundException, SchemaException { int foundCount = 0; for (PrismReferenceValue link: linksAsserter.getLinks()) { PrismObject<ShadowType> linkTarget = linksAsserter.getLinkTarget(link.getOid()); if (matches(link, linkTarget)) { foundCount++; } } assertEquals("Wrong number of links for specified criteria in "+linksAsserter.desc(), expectedCount, foundCount); return linksAsserter; }
public ParentOrgRefsAsserter<O,OA,RA> assertCount(int expectedCount) throws ObjectNotFoundException, SchemaException { int foundCount = 0; for (PrismReferenceValue ref: refsAsserter.getRefs()) { PrismObject<OrgType> linkTarget = refsAsserter.getRefTarget(ref.getOid()); if (matches(ref, linkTarget)) { foundCount++; } } assertEquals("Wrong number of links for specified criteria in "+refsAsserter.desc(), expectedCount, foundCount); return refsAsserter; }
public static ROExtReference createReference(PrismReferenceValue jaxb) { ROExtReference repo = new ROExtReference(); repo.setValue(jaxb.getOid()); repo.setRelation(RUtil.qnameToString(jaxb.getRelation())); repo.setTargetType(ClassMapper.getHQLTypeForQName(jaxb.getTargetType())); return repo; } }
protected void assertAuditTarget(AuditEventRecord event, String oid, QName type, String name) { PrismReferenceValue target = event.getTarget(); assertNotNull("No target", target); assertEquals("Wrong OID", oid, target.getOid()); assertEquals("Wrong type", type, target.getTargetType()); assertEquals("Wrong name", name, PolyString.getOrig(target.getTargetName())); }
@Override public void validate(PrismPropertyDefinition<String> propDef, String name) throws Exception { assertNotNull("No definition for preferredLanguage in user", propDef); assertEquals("Wrong preferredLanguage displayName", "Language", propDef.getDisplayName()); PrismReferenceValue valueEnumerationRef = propDef.getValueEnumerationRef(); assertNotNull("No valueEnumerationRef for preferredLanguage", valueEnumerationRef); assertEquals("Wrong valueEnumerationRef OID for preferredLanguage", LOOKUP_LANGUAGES_OID, valueEnumerationRef.getOid()); assertTrue(name+" is readable", !propDef.canRead()); assertTrue(name+" is creatable", !propDef.canAdd()); assertTrue(name+" is modifiable", !propDef.canModify()); } });
@Override public void validate(PrismPropertyDefinition<String> propDef, String name) throws Exception { assertNotNull("No definition for preferredLanguage in user", propDef); assertEquals("Wrong preferredLanguage displayName", "Language", propDef.getDisplayName()); PrismReferenceValue valueEnumerationRef = propDef.getValueEnumerationRef(); assertNotNull("No valueEnumerationRef for preferredLanguage", valueEnumerationRef); assertEquals("Wrong valueEnumerationRef OID for preferredLanguage", LOOKUP_LANGUAGES_OID, valueEnumerationRef.getOid()); assertTrue(name+" of "+user+" is readable", !propDef.canRead()); assertTrue(name+" of "+user+" is creatable", !propDef.canAdd()); assertTrue(name+" of "+user+" is modifiable", !propDef.canModify()); } });