@Test public void test365RefTwoWay() throws Exception { final String TEST_NAME = "test365RefTwoWay"; displayTestTitle(TEST_NAME); PrismReferenceValue reference3 = getPrismContext().itemFactory().createReferenceValue("oid3", ResourceType.COMPLEX_TYPE).relation(new QName("test")); PrismReferenceValue reference4 = getPrismContext().itemFactory().createReferenceValue("oid4", ResourceType.COMPLEX_TYPE).relation(new QName("test")); ObjectQuery q = getPrismContext().queryFor(ShadowType.class) .item(ShadowType.F_RESOURCE_REF).ref("oid1") .or().item(ShadowType.F_RESOURCE_REF).ref("oid2", ResourceType.COMPLEX_TYPE) .or().item(ShadowType.F_RESOURCE_REF).ref(reference3, reference4) .build(); checkQueryRoundtripFile(ShadowType.class, q, TEST_NAME); }
/** * Returns numbers of assignees with the given relation name. */ private int getNumberOfAssigneesExceptMyself(AbstractRoleType target, String selfOid, QName relation, OperationResult result) throws SchemaException { if (target.getOid() == null) { return 0; } S_AtomicFilterExit q = prismContext.queryFor(FocusType.class) .item(FocusType.F_ASSIGNMENT, AssignmentType.F_TARGET_REF).ref( prismContext.itemFactory().createReferenceValue(target.getOid()).relation(relation)); if (selfOid != null) { q = q.and().not().id(selfOid); } ObjectQuery query = q.build(); return repositoryService.countObjects(FocusType.class, query, null, result); }
.isChildOf(itemFactory().createReferenceValue("some oid").relation(SchemaConstants.ORG_MANAGER)) .build();
.isDirectChildOf(itemFactory().createReferenceValue("some oid").relation(SchemaConstants.ORG_MANAGER)) .build();
.isChildOf(itemFactory().createReferenceValue("some oid").relation(SchemaConstants.ORG_DEFAULT)) .build();
.isDirectChildOf(itemFactory().createReferenceValue("some oid").relation(SchemaConstants.ORG_DEFAULT)) .build();
PrismReferenceValue employeeOwner = getPrismContext().itemFactory().createReferenceValue(roleEmployeeOid, RoleType.COMPLEX_TYPE).relation(SchemaConstants.ORG_OWNER); executeChanges(prismContext.deltaFor(UserType.class) .item(UserType.F_ASSIGNMENT).add(ObjectTypeUtil.createAssignmentTo(employeeOwner, prismContext))