private List<AccessCertificationCaseType> getCertificationCampaignNotRespondedCasesAsBeans(String campaignName) throws SchemaException, SecurityViolationException, ConfigurationException, ObjectNotFoundException, ExpressionEvaluationException, CommunicationException { Task task = taskManager.createTaskInstance(); ObjectQuery query; if (StringUtils.isEmpty(campaignName)) { //query = null; return new ArrayList<>(); } else { query = prismContext.queryFor(AccessCertificationCaseType.class) .item(PrismConstants.T_PARENT, F_NAME).eqPoly(campaignName, "").matchingOrig() .and().item(AccessCertificationCaseType.F_CURRENT_STAGE_OUTCOME).eq(SchemaConstants.MODEL_CERTIFICATION_OUTCOME_NO_RESPONSE) // TODO first by object/target type then by name (not supported by the repository as of now) .asc(AccessCertificationCaseType.F_OBJECT_REF, PrismConstants.T_OBJECT_REFERENCE, ObjectType.F_NAME) .asc(AccessCertificationCaseType.F_TARGET_REF, PrismConstants.T_OBJECT_REFERENCE, ObjectType.F_NAME) .build(); } Collection<SelectorOptions<GetOperationOptions>> options = SelectorOptions.createCollection(GetOperationOptions.createResolveNames()); return model.searchContainers(AccessCertificationCaseType.class, query, options, task, task.getResult()); }
@Test public void test0300CountObjectOrderByName() throws Exception { Session session = open(); try { ObjectQuery query = prismContext.queryFor(UserType.class) .item(F_NAME).eqPoly("cpt. Jack Sparrow", "cpt jack sparrow") .asc(F_NAME).build(); String real = getInterpretedQuery2(session, UserType.class, query, true); String expected = "select\n" + " count(u.oid)\n" + "from\n" + " RUser u\n" + "where\n" + " (\n" + " u.nameCopy.orig = :orig and\n" + " u.nameCopy.norm = :norm\n" + " )\n"; assertEqualsIgnoreWhitespace(expected, real); } finally { close(session); } }
.asc(F_NAME) .build();
.item(AssignmentType.F_ACTIVATION, ActivationType.F_ADMINISTRATIVE_STATUS) .eq(ActivationStatusType.ENABLED) .asc(F_NAME) .build();
@Test public void test210OrderByNameAndId() { ObjectQuery actual = getPrismContext().queryFor(UserType.class) .item(UserType.F_LOCALITY).eq("Caribbean") .asc(UserType.F_NAME) .desc(PrismConstants.T_ID) .build(); ObjectPaging paging = ObjectPagingImpl.createEmptyPaging(); paging.addOrderingInstruction(UserType.F_NAME, OrderDirection.ASCENDING); paging.addOrderingInstruction(ItemPath.create(PrismConstants.T_ID), OrderDirection.DESCENDING); ObjectQuery expected = ObjectQueryImpl.createObjectQuery( createEqual(UserType.F_LOCALITY, UserType.class, null, "Caribbean"), paging); compare(actual, expected); }
ObjectQuery query = prismContext.queryFor(UserType.class) .item(UserType.F_EMPLOYEE_TYPE).startsWith("e") .asc(UserType.F_NAME) .build();