private void cleanupCampaignsByNumber(int maxRecords, Task task, OperationResult parentResult) { OperationResult result = parentResult.createSubresult(OPERATION_CLEANUP_CAMPAIGNS_BY_NUMBER); LOGGER.info("Starting cleanup for closed certification campaigns, keeping {} ones.", maxRecords); int deleted = 0; Set<String> poisonedCampaigns = new HashSet<>(); try { for (;;) { ObjectQuery query = prismContext.queryFor(AccessCertificationCampaignType.class) .item(AccessCertificationCampaignType.F_STATE).eq(AccessCertificationCampaignStateType.CLOSED) .and().not().id(poisonedCampaigns.toArray(new String[0])) // hoping there are not many of these .desc(AccessCertificationCampaignType.F_END_TIMESTAMP) .offset(maxRecords) .maxSize(DELETE_BLOCK_SIZE) .build(); int delta = searchAndDeleteCampaigns(query, poisonedCampaigns, result, task); if (delta == 0) { LOGGER.info("Deleted {} campaigns.", deleted); return; } } } finally { result.computeStatusIfUnknown(); } }
@Test public void test1400QueryOrderByNameOrigLimit20() throws Exception { Session session = open(); try { ObjectQuery query = prismContext.queryFor(UserType.class).asc(UserType.F_NAME).maxSize(20).build(); String expected = "select\n" + " u.oid, u.fullObject, u.stringsCount, u.longsCount, u.datesCount, u.referencesCount, u.polysCount, u.booleansCount\n" + "from\n" + " RUser u\n" + "order by\n" + "u.nameCopy.orig asc"; String real = getInterpretedQuery2(session, UserType.class, query); assertEqualsIgnoreWhitespace(expected, real); } finally { close(session); } }
@Test public void test1410QueryOrderByNameOrigLimit20() throws Exception { Session session = open(); try { ObjectQuery query = prismContext.queryFor(RoleType.class).asc(RoleType.F_NAME).maxSize(20).build(); String expected = "select\n" + " r.oid, r.fullObject, r.stringsCount, r.longsCount, r.datesCount, r.referencesCount, r.polysCount, r.booleansCount\n" + "from\n" + " RRole r\n" + "order by\n" + "r.nameCopy.orig asc"; String real = getInterpretedQuery2(session, RoleType.class, query); assertEqualsIgnoreWhitespace(expected, real); } finally { close(session); } }
.desc(AccessCertificationCampaignType.F_END_TIMESTAMP) .offset(100) .maxSize(20) .build(); String real = getInterpretedQuery2(session, AccessCertificationCampaignType.class, query);
.item(AccessCertificationCaseType.F_OBJECT_REF).ref(userAdministrator.getOid()) .desc(AccessCertificationCaseType.F_TARGET_REF, PrismConstants.T_OBJECT_REFERENCE, ObjectType.F_NAME) .offset(2).maxSize(2) .build(); List<AccessCertificationCaseType> caseList = modelService.searchContainers(
.fullText("sollicitudin") .asc(UserType.F_FULL_NAME) .maxSize(100) .build(), distinct, 1);