public static void assertAndFilter(ObjectFilter filter, int conditions) { assertTrue("Wrong filter class: " + filter.getClass(), filter instanceof AndFilter); assertEquals("Wrong number of filter conditions", conditions, ((AndFilter) filter).getConditions().size()); }
if (!((AndFilter)origFilter).contains(additionalFilter)) { ((AndFilter)origFilter).addCondition(additionalFilter);
private ObjectFilter simplify(OrFilter filter) { if (filter == null) { return null; } OrFilter simplified = OrFilterImpl.createOr(); // step 1 - simplify conjunctions for (ObjectFilter condition : filter.getConditions()) { AndFilter conjunction = (AndFilter) condition; if (conjunction.getConditions().size() == 1) { simplified.addCondition(conjunction.getLastCondition()); } else { simplified.addCondition(conjunction); } } // step 2 - simplify disjunction if (simplified.getConditions().size() == 0) { return null; } else if (simplified.getConditions().size() == 1) { return simplified.getLastCondition(); } else { return simplified; } }
List<ObjectFilter> conditions = ((AndFilter)filter).getConditions(); AndFilter simplifiedFilter = ((AndFilter)filter).cloneEmpty(); for (ObjectFilter subfilter: conditions) { if (subfilter instanceof NoneFilter) { simplifiedFilter.addCondition(simplifiedSubfilter); if (simplifiedFilter.isEmpty()) { return FilterCreationUtil.createAll(prismContext); } else if (simplifiedFilter.getConditions().size() == 1) { return simplifiedFilter.getConditions().iterator().next(); } else { return simplifiedFilter;
private OrFilter appendAtomicFilter(ObjectFilter subfilter, boolean negated, LogicalSymbol logicalSymbol) { if (negated) { subfilter = NotFilterImpl.createNot(subfilter); } OrFilter updatedFilter = currentFilter.clone(); if (logicalSymbol == null || logicalSymbol == LogicalSymbol.OR) { updatedFilter.addCondition(AndFilterImpl.createAnd(subfilter)); } else if (logicalSymbol == LogicalSymbol.AND) { ((AndFilter) updatedFilter.getLastCondition()).addCondition(subfilter); } else { throw new IllegalStateException("Unknown logical symbol: " + logicalSymbol); } return updatedFilter; }
private MapXNodeImpl serializeAndFilter(AndFilter filter, PrismSerializer<RootXNode> xnodeSerilizer) throws SchemaException{ return createFilter(CLAUSE_AND, serializeNaryLogicalSubfilters(filter.getConditions(), xnodeSerilizer)); }
private List<PrismReferenceValue> getRoleOidsFromFilter(ObjectFilter origFilter) { if (origFilter == null) { return null; } if (origFilter instanceof RefFilter) { ItemPath path = ((RefFilter)origFilter).getPath(); if (path.equivalent(SchemaConstants.PATH_ROLE_MEMBERSHIP_REF)) { return ((RefFilter)origFilter).getValues(); } } if (origFilter instanceof AndFilter) { for (ObjectFilter condition: ((AndFilter)origFilter).getConditions()) { List<PrismReferenceValue> refs = getRoleOidsFromFilter(condition); if (refs != null && !refs.isEmpty()) { return refs; } } } return null; }
for (ObjectFilter condition : ((AndFilter) filter).getConditions()) { factorOutFilter(filterComponents, condition, extractors, paths, true);
@Override public Condition interpret() throws QueryException { validateFilter(); AndCondition conjunction = getContext().getHibernateQuery().createAnd(); updateJunction(filter.getConditions(), conjunction); return conjunction; }
return createSingleDisplayableValueCollection(getRoleSelectionSpecEq((EqualFilter)filter)); } else if (filter instanceof AndFilter) { for (ObjectFilter subfilter: ((AndFilter)filter).getConditions()) { if (subfilter instanceof EqualFilter<?>) { RoleSelectionSpecEntry roleTypeDval = getRoleSelectionSpecEq((EqualFilter)subfilter);
List<? extends ObjectFilter> conditions = ((AndFilter) filter).getConditions(); List<ObjectFilter> attributeFilter = createAttributeQueryInternal(conditions); if (attributeFilter.size() > 1) {
if (attrFilter != null) { AndFilter filter = (AndFilter) query.getFilter(); filter.getConditions().add(attrFilter);
if (attrFilter != null) { AndFilter filter = (AndFilter) query.getFilter(); filter.getConditions().add(attrFilter);