public static PolyString getResourceName(PrismObject<ShadowType> shadow) { PrismReference resourceRef = shadow.findReference(ShadowType.F_RESOURCE_REF); if (resourceRef == null) { return null; } return resourceRef.getTargetName(); }
public static String getResourceOid(PrismObject<ShadowType> shadow) { PrismReference resourceRef = shadow.findReference(ShadowType.F_RESOURCE_REF); if (resourceRef == null) { return null; } return resourceRef.getOid(); }
private <O extends ObjectType> List<PrismReferenceValue> getLinkRefs(PrismObject<O> object) { PrismReference ref = object.findReference(FocusType.F_LINK_REF); if (ref == null) { return new ArrayList<>(0); } else { return ref.getValues(); } }
List<PrismReferenceValue> getLinks() { if (links == null) { PrismReference linkRef = getFocus().findReference(FocusType.F_LINK_REF); if (linkRef == null) { links = new ArrayList<>(); } else { links = linkRef.getValues(); } } return links; }
List<PrismReferenceValue> getRefs() { if (parentOrgRefs == null) { PrismReference linkRef = getFocus().findReference(FocusType.F_PARENT_ORG_REF); if (linkRef == null) { parentOrgRefs = new ArrayList<>(); } else { parentOrgRefs = linkRef.getValues(); } } return parentOrgRefs; }
List<PrismReferenceValue> getRoleMembershipRefs() { if (roleMembershipRefs == null) { PrismReference linkRef = getFocus().findReference(FocusType.F_ROLE_MEMBERSHIP_REF); if (linkRef == null) { roleMembershipRefs = new ArrayList<>(); } else { roleMembershipRefs = linkRef.getValues(); } } return roleMembershipRefs; }
@Override public PrismObject<UserType> getOwner() { PrismReference ownerRef = taskPrism.findReference(TaskType.F_OWNER_REF); if (ownerRef == null) { return null; } return ownerRef.getValue().getObject(); }
protected <F extends FocusType> void assertLinks(PrismObject<F> focus, int expectedNumLinks) throws ObjectNotFoundException, SchemaException { PrismReference linkRef = focus.findReference(FocusType.F_LINK_REF); if (linkRef == null) { assert expectedNumLinks == 0 : "Expected "+expectedNumLinks+" but "+focus+" has no linkRef"; return; } assertEquals("Wrong number of links in " + focus, expectedNumLinks, linkRef.size()); }
private void distributeResourceObject(PrismObject<ShadowType> object, PrismObject<ResourceType> resource) { if (object == null) { return; } PrismReference resourceRef = object.findReference(ShadowType.F_RESOURCE_REF); if (resourceRef != null) { distributeResourceValues(resourceRef.getValues(), resource); } }
protected <F extends FocusType> void assertLinks(PrismObject<F> focus, int expectedNumLinks) throws ObjectNotFoundException, SchemaException { PrismReference linkRef = focus.findReference(FocusType.F_LINK_REF); if (linkRef == null) { assert expectedNumLinks == 0 : "Expected "+expectedNumLinks+" but "+focus+" has no linkRef"; return; } assertEquals("Wrong number of links in " + focus, expectedNumLinks, linkRef.size()); }
protected <F extends FocusType> void assertPersonaLinks(PrismObject<F> focus, int expectedNumLinks) throws ObjectNotFoundException, SchemaException { PrismReference linkRef = focus.findReference(FocusType.F_PERSONA_REF); if (linkRef == null) { assert expectedNumLinks == 0 : "Expected "+expectedNumLinks+" but "+focus+" has no personaRef"; return; } assertEquals("Wrong number of persona links in " + focus, expectedNumLinks, linkRef.size()); }
protected <F extends FocusType> void assertNotLinked(PrismObject<F> user, String accountOid) throws ObjectNotFoundException, SchemaException { PrismReference linkRef = user.findReference(FocusType.F_LINK_REF); if (linkRef == null) { return; } boolean found = false; for (PrismReferenceValue val: linkRef.getValues()) { if (val.getOid().equals(accountOid)) { found = true; } } assertFalse("User " + user + " IS linked to account " + accountOid + " but not expecting it", found); }
@SuppressWarnings("unchecked") public static PrismObject<ConnectorType> getConnectorIfPresent(PrismObject<ResourceType> resource) { PrismReference existingConnectorRef = resource.findReference(ResourceType.F_CONNECTOR_REF); if (existingConnectorRef == null || existingConnectorRef.isEmpty()) { return null; } return (PrismObject<ConnectorType>) existingConnectorRef.getValue().getObject(); }
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> void assertNoLinkedAccount(PrismObject<F> user) { PrismReference accountRef = user.findReference(UserType.F_LINK_REF); if (accountRef == null) { return; } assert accountRef.isEmpty() : "Expected that "+user+" has no linked account but it has "+accountRef.size()+" linked accounts: " + accountRef.getValues(); }
private void assertResolvedResourceRefs(PrismObject<ShadowType> shadow, String desc) { if (shadow == null) { return; } PrismReference resourceRef = shadow.findReference(ShadowType.F_RESOURCE_REF); if (resourceRef == null) { AssertJUnit.fail("No resourceRef in "+desc); } assertResolvedResourceRefs(resourceRef.getValues(), desc); }
private <T extends ObjectType> List<ReferenceDelta> createAddParentRefDelta(PrismObject<T> object) { PrismReference parentOrgRef = object.findReference(ObjectType.F_PARENT_ORG_REF); if (parentOrgRef == null || parentOrgRef.isEmpty()) { return new ArrayList<>(); } PrismObjectDefinition def = object.getDefinition(); ReferenceDelta delta = prismContext.deltaFactory().reference().createModificationAdd(ObjectType.F_PARENT_ORG_REF, def, parentOrgRef.getClonedValues()); return Collections.singletonList(delta); }
private PrismObject findObjectFromAccountRef(PrismObject<UserType> user) { for (PrismReferenceValue rval: user.findReference(UserType.F_ACCOUNT_REF).getValues()) { if (rval.getObject() != null) { return rval.getObject(); } } return null; }
protected <F extends FocusType> void removeLinks(PrismObject<F> focus) throws ObjectNotFoundException, SchemaException, ObjectAlreadyExistsException { PrismReference linkRef = focus.findReference(FocusType.F_LINK_REF); if (linkRef == null) { return; } OperationResult result = new OperationResult("removeLinks"); ReferenceDelta refDelta = linkRef.createDelta(); refDelta.addValuesToDelete(linkRef.getClonedValues()); repositoryService.modifyObject(focus.getCompileTimeClass(), focus.getOid(), MiscSchemaUtil.createCollection(refDelta), result); assertSuccess(result); }
public ShadowReferenceAsserter<? extends FocusAsserter<F,RA>> singleLink() { PrismReference linkRef = getObject().findReference(FocusType.F_LINK_REF); if (linkRef == null) { fail("Expected single link, but is no linkRef in "+desc()); return null; // not reached } assertEquals("Wrong number of links in " + desc(), 1, linkRef.size()); ShadowReferenceAsserter<FocusAsserter<F, RA>> asserter = new ShadowReferenceAsserter<>(linkRef.getAnyValue(), null, this, "link in "+desc()); copySetupTo(asserter); return asserter; }