public static ObjectQuery createResourceQuery(String resourceOid, PrismContext prismContext) throws SchemaException { Validate.notNull(resourceOid, "Resource where to search must not be null."); Validate.notNull(prismContext, "Prism context must not be null."); return prismContext.queryFactory().createQuery(createResourceFilter(resourceOid, prismContext)); }
/** * Ready-made implementation of createQuery - gets and parses objectQuery extension property. */ @NotNull protected ObjectQuery createQueryFromTask(H handler, TaskRunResult runResult, Task task, OperationResult opResult) throws SchemaException { ObjectQuery query = createQueryFromTaskIfExists(handler, runResult, task, opResult); return query != null ? query : prismContext.queryFactory().createQuery(); }
public static ObjectFilter createResourceAndObjectClassFilter(String resourceOid, QName objectClass, PrismContext prismContext) throws SchemaException { Validate.notNull(resourceOid, "Resource where to search must not be null."); Validate.notNull(objectClass, "Object class to search must not be null."); Validate.notNull(prismContext, "Prism context must not be null."); AndFilter and = prismContext.queryFactory().createAnd( createResourceFilter(resourceOid, prismContext), createObjectClassFilter(objectClass, prismContext)); return and; }
private <C extends Containerable> AndFilter parseAndFilter(MapXNodeImpl clauseXMap, PrismContainerDefinition<C> pcd, boolean preliminaryParsingOnly, ParsingContext pc) throws SchemaException { List<ObjectFilter> subfilters = parseLogicalFilter(clauseXMap, pcd, preliminaryParsingOnly, pc); if (preliminaryParsingOnly) { return null; } else { return prismContext.queryFactory().createAnd(subfilters); } }
private SearchProducerWorker createProducer(BlockingQueue<PrismObject> queue, OperationStatus operation, List<SearchProducerWorker> producers, ObjectTypes type, ObjectFilter filter) { ObjectQuery query = context.getPrismContext().queryFactory().createQuery(filter); return new SearchProducerWorker(context, options, queue, operation, producers, type, query); } }
private ObjectQuery updateObjectQuery(ObjectQuery origQuery, ObjectFilter updatedFilter) { if (origQuery != null) { origQuery.setFilter(updatedFilter); return origQuery; } else if (updatedFilter == null) { return null; } else { return getPrismContext().queryFactory().createQuery(updatedFilter); } }
public List<AccessCertificationCaseType> searchCases(String campaignOid, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options, OperationResult result) throws SchemaException { InOidFilter campaignFilter = prismContext.queryFactory().createOwnerHasOidIn(campaignOid); ObjectQuery newQuery = addFilter(query, campaignFilter); return repositoryService.searchContainers(AccessCertificationCaseType.class, newQuery, options, result); }
private RefFilter createResourceRefFilter(String oid) throws SchemaException { PrismContext prismContext = context.getPrismContext(); List<PrismReferenceValue> values = new ArrayList<>(); if (oid != null) { values.add(prismContext.itemFactory().createReferenceValue(oid, ResourceType.COMPLEX_TYPE)); } SchemaRegistry registry = prismContext.getSchemaRegistry(); PrismReferenceDefinition def = registry.findItemDefinitionByFullPath(ShadowType.class, PrismReferenceDefinition.class, ShadowType.F_RESOURCE_REF); return prismContext.queryFactory().createReferenceEqual(ShadowType.F_RESOURCE_REF, def, values); }
@Test(expectedExceptions = IllegalArgumentException.class) public void nullResult() throws Exception { ObjectPaging paging = prismContext.queryFactory().createPaging(0, Integer.MAX_VALUE, (ItemPath) null, null); ObjectQuery query = prismContext.queryFactory().createQuery(paging); controller.searchObjects(null, query, null, null, null); } }
List<AccessCertificationCaseType> getOpenCasesForReviewer(AccessCertificationCampaignType campaign, String reviewerOid, OperationResult result) throws SchemaException { // note: this is OK w.r.t. iterations, as we are looking for cases with non-closed work items here ObjectFilter filter = getReviewerAndEnabledFilter(reviewerOid); return searchCases(campaign.getOid(), prismContext.queryFactory().createQuery(filter), null, result); }
@Test(expectedExceptions = IllegalArgumentException.class) public void nullResult() throws Exception { ObjectPaging paging = prismContext.queryFactory().createPaging(0, Integer.MAX_VALUE, (ItemPath) null, null); controller.listResourceObjects("1", new QName("local name"), paging, null, null); } }
private ObjectPaging getOrCreatePaging() { checkRelationalValueSearchQuery(); if (relationalValueSearchQuery.getPaging() == null) { relationalValueSearchQuery.setPaging(prismContext.queryFactory().createPaging()); } return relationalValueSearchQuery.getPaging(); }
private void deleteByOid() throws SchemaException, IOException { QueryFactory queryFactory = context.getPrismContext().queryFactory(); InOidFilter filter = queryFactory.createInOid(options.getOid()); ObjectQuery query = queryFactory.createQuery(filter); deleteByFilter(query); }
@Override protected ObjectQuery createQuery(AbstractScannerResultHandler<ShadowType> handler, TaskRunResult runResult, Task task, OperationResult opResult) throws SchemaException { ObjectQuery query = getPrismContext().queryFactory().createQuery(); ObjectFilter filter = prismContext.queryFor(ShadowType.class) .exists(ShadowType.F_PENDING_OPERATION) .buildFilter(); query.setFilter(filter); return query; }
@Test public void test120AndEmpty() throws Exception { System.out.println("===[ test120AndEmpty ]==="); // GIVEN PrismContext prismContext = PrismTestUtil.getPrismContext(); // WHEN ObjectFilter filter = prismContext.queryFactory().createAnd(); System.out.println("Original filter:\n" + filter.debugDump()); // THEN ObjectFilter simplified = ObjectQueryUtil.simplify(filter, prismContext); System.out.println("Simplified filter:\n" + DebugUtil.debugDump(simplified)); assertTrue("Wrong simplified filter: " + simplified, simplified == null || simplified instanceof AllFilter); }
@Override protected ObjectQuery createQuery(PropagationResultHandler handler, TaskRunResult runResult, Task coordinatorTask, OperationResult opResult) { ObjectQuery query = prismContext.queryFactory().createQuery(); ObjectFilter filter = prismContext.queryFor(ShadowType.class) .item(ShadowType.F_RESOURCE_REF).ref(handler.getResource().getOid()) .and() .exists(ShadowType.F_PENDING_OPERATION) .buildFilter(); query.setFilter(filter); return query; }
private void executeFilter(ObjectFilter filter, int expectedNumberOfResults, Task task, OperationResult result) throws SchemaException, ObjectNotFoundException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException { ObjectQuery query = prismContext.queryFactory().createQuery(filter); SearchResultList<PrismObject<UserType>> objects = modelService.searchObjects(UserType.class, query, null, task, result); display("Found objects", objects); assertEquals("Wrong number of results (found: "+objects+")", expectedNumberOfResults, objects.size()); }
@Test public void test183SearchNullPagingOffset2Size3Desc() throws Exception { final String TEST_NAME = "test183SearchNullPagingOffset1Size3Desc"; displayTestTitle(TEST_NAME); ObjectPaging paging = prismContext.queryFactory().createPaging(2,3); paging.setOrdering(createAttributeOrdering(SchemaConstants.ICFS_NAME, OrderDirection.DESCENDING)); SearchResultMetadata searchMetadata = testSeachIterativePaging(TEST_NAME, null, paging, null, getSortedUsernames18xDesc(2,3)); assertApproxNumberOfAllResults(searchMetadata, getTest18xApproxNumberOfSearchResults()); }
@Test public void test180SearchNullPagingOffset0Size3() throws Exception { final String TEST_NAME = "test180SearchNullPagingSize5"; displayTestTitle(TEST_NAME); ObjectPaging paging = prismContext.queryFactory().createPaging(0,3); paging.setOrdering(createAttributeOrdering(SchemaConstants.ICFS_NAME)); SearchResultMetadata searchMetadata = testSeachIterativePaging(TEST_NAME, null, paging, null, getSortedUsernames18x(0,3)); assertApproxNumberOfAllResults(searchMetadata, getTest18xApproxNumberOfSearchResults()); }
@Test public void test182SearchNullPagingOffset1Size2() throws Exception { final String TEST_NAME = "test182SearchNullPagingOffset1Size2"; displayTestTitle(TEST_NAME); ObjectPaging paging = prismContext.queryFactory().createPaging(1,2); paging.setOrdering(createAttributeOrdering(SchemaConstants.ICFS_NAME)); SearchResultMetadata searchMetadata = testSeachIterativePaging(TEST_NAME, null, paging, null, getSortedUsernames18x(1,2)); assertApproxNumberOfAllResults(searchMetadata, getTest18xApproxNumberOfSearchResults()); }