public <O extends Objectable> ObjectFilter createObjectFilter(PrismObjectDefinition<O> objectDefinition, SearchFilterType filterType) throws SchemaException { ObjectQuery query = createObjectQueryInternal(objectDefinition, filterType, null); if (query == null) { return null; } else { return query.getFilter(); } }
public <O extends Objectable> ObjectFilter createObjectFilter(Class<O> clazz, SearchFilterType filterType) throws SchemaException { ObjectQuery query = createObjectQueryInternal(clazz, filterType, null); if (query == null) { return null; } else { return query.getFilter(); } }
protected boolean isFilterNone(ObjectQuery query, OperationResult result) { if (query != null && query.getFilter() != null && query.getFilter() instanceof NoneFilter) { LOGGER.trace("Security denied the search"); result.recordStatus(OperationResultStatus.NOT_APPLICABLE, "Denied"); return true; } return false; }
public static ObjectFilter createObjectFilter(FileReference strFilter, NinjaContext context, Class<? extends ObjectType> objectClass) throws IOException, SchemaException { ObjectQuery query = createObjectQuery(strFilter, context, objectClass); return query != null ? query.getFilter() : null; }
@Override public ObjectFilter buildFilter() { return build().getFilter(); }
@Override public ObjectFilter buildFilter() { return build().getFilter(); }
private ObjectQuery updateFilterWithAccountValues(ShadowType currentShadow, ResourceType resource, SystemConfigurationType configuration, ObjectQuery origQuery, String shortDesc, Task task, OperationResult result) throws SchemaException, ObjectNotFoundException, ExpressionEvaluationException, CommunicationException, ConfigurationException, SecurityViolationException { if (origQuery.getFilter() == null) { LOGGER.trace("No filter provided, skipping updating filter"); return origQuery; } return evaluateQueryExpressions(origQuery, currentShadow, resource, configuration, shortDesc, task, result); }
private Filter convertFilterToIcf(ObjectQuery query, ObjectClassComplexTypeDefinition objectClassDefinition) throws SchemaException { Filter filter = null; if (query != null && query.getFilter() != null) { FilterInterpreter interpreter = new FilterInterpreter(objectClassDefinition); LOGGER.trace("Start to convert filter: {}", query.getFilter().debugDump()); filter = interpreter.interpret(query.getFilter(), connIdNameMapper); if (LOGGER.isTraceEnabled()) { LOGGER.trace("ConnId filter: {}", ConnIdUtil.dump(filter)); } } return filter; }
private <O extends ObjectType> ObjectQuery preProcessQuerySecurity(Class<O> objectType, ObjectQuery origQuery, GetOperationOptions rootOptions, Task task, OperationResult result) throws SchemaException, ObjectNotFoundException, ExpressionEvaluationException, CommunicationException, ConfigurationException, SecurityViolationException { ObjectFilter origFilter = null; if (origQuery != null) { origFilter = origQuery.getFilter(); } AuthorizationPhaseType phase = null; if (GetOperationOptions.isExecutionPhase(rootOptions)) { phase = AuthorizationPhaseType.EXECUTION; } ObjectFilter secFilter = securityEnforcer.preProcessObjectFilter(ModelAuthorizationAction.AUTZ_ACTIONS_URLS_SEARCH, phase, objectType, null, origFilter, null, null, task, result); return updateObjectQuery(origQuery, secFilter); }
private ObjectQuery simplify(ObjectQuery query, OperationResult subResult) { ObjectFilter filter = query.getFilter(); filter = ObjectQueryUtil.simplify(filter, prismContext); if (filter instanceof NoneFilter) { subResult.recordSuccess(); return null; } else { query = replaceSimplifiedFilter(query, filter); } return query; }
@Override public <T extends ObjectType, O extends ObjectType> boolean canSearch(Class<T> resultType, Class<O> objectType, String objectOid, boolean includeSpecial, ObjectQuery query, Task task, OperationResult result) throws ObjectNotFoundException, CommunicationException, SchemaException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException { PrismObject<O> object = null; if (objectOid != null) { object = (PrismObject<O>) objectResolver.getObject(objectType, objectOid, null, task, result).asPrismObject(); } return securityEnforcer.canSearch(ModelAuthorizationAction.AUTZ_ACTIONS_URLS_SEARCH, null, resultType, object, includeSpecial, query.getFilter(), task, result); }
public static ObjectQuery evaluateQueryExpressions(ObjectQuery origQuery, ExpressionVariables variables, ExpressionFactory expressionFactory, PrismContext prismContext, String shortDesc, Task task, OperationResult result) throws SchemaException, ObjectNotFoundException, ExpressionEvaluationException, CommunicationException, ConfigurationException, SecurityViolationException { if (origQuery == null) { return null; } ObjectQuery query = origQuery.clone(); ObjectFilter evaluatedFilter = evaluateFilterExpressionsInternal(query.getFilter(), variables, expressionFactory, prismContext, shortDesc, task, result); query.setFilter(evaluatedFilter); return query; }
public void applyDefinition(final ObjectQuery query, OperationResult result) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, ExpressionEvaluationException { ResourceShadowDiscriminator coordinates = ObjectQueryUtil.getCoordinates(query.getFilter(), prismContext); ProvisioningContext ctx = ctxFactory.create(coordinates, null, result); ctx.assertDefinition(); applyDefinition(ctx, query); }
@Test public void test0332OwnerInOidEmptyTest() throws Exception { ObjectQuery query = prismContext.queryFor(ObjectType.class) .ownerId(new String[0]).build(); query.setFilter(ObjectQueryUtil.simplify(query.getFilter(), prismContext)); assertTrue("Wrongly reduced InOid filter: " + query.getFilter(), query.getFilter() instanceof NoneFilter); }
@Test public void test0333LongInOidEmptyTest() throws Exception { ObjectQuery query = prismContext.queryFor(ObjectType.class) .id(new long[0]).build(); query.setFilter(ObjectQueryUtil.simplify(query.getFilter(), prismContext)); assertTrue("Wrongly reduced InOid filter: " + query.getFilter(), query.getFilter() instanceof NoneFilter); }
@Test public void test0334LongOwnerInOidEmptyTest() throws Exception { ObjectQuery query = prismContext.queryFor(ObjectType.class) .ownerId(new long[0]).build(); query.setFilter(ObjectQueryUtil.simplify(query.getFilter(), prismContext)); assertTrue("Wrongly reduced InOid filter: " + query.getFilter(), query.getFilter() instanceof NoneFilter); }
@Test public void test0331InOidEmptyTest() throws Exception { ObjectQuery query = prismContext.queryFor(ObjectType.class) .id(new String[0]).build(); query.setFilter(ObjectQueryUtil.simplify(query.getFilter(), prismContext)); assertTrue("Wrongly reduced InOid filter: " + query.getFilter(), query.getFilter() instanceof NoneFilter); }
public SearchResultMetadata searchObjectsIterative(ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options, final ResultHandler<ShadowType> handler, final boolean readFromRepository, Task task, final OperationResult parentResult) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException { ResourceShadowDiscriminator coordinates = ObjectQueryUtil.getCoordinates(query != null ? query.getFilter() : null, prismContext); final ProvisioningContext ctx = ctxFactory.create(coordinates, task, parentResult); ctx.setGetOperationOptions(options); ctx.assertDefinition(); return searchObjectsIterative(ctx, query, options, handler, readFromRepository, parentResult); }
public QueryType createQueryType(ObjectQuery query) throws SchemaException { ObjectFilter filter = query.getFilter(); QueryType queryType = new QueryType(); if (filter != null) { queryType.setFilter(createSearchFilterType(filter)); } queryType.setPaging(PagingConvertor.createPagingType(query.getPaging())); return queryType; }