public ItemValueRestriction(InterpretationContext context, T filter, JpaEntityDefinition baseEntityDefinition, Restriction parent) { super(context, filter, filter.getFullPath(), filter.getDefinition(), baseEntityDefinition, parent); }
private static <V extends PrismValue> V evaluateExpression(ExpressionVariables variables, PrismContext prismContext, ExpressionType expressionType, ObjectFilter filter, ExpressionFactory expressionFactory, String shortDesc, Task task, OperationResult parentResult) throws SchemaException, ObjectNotFoundException, ExpressionEvaluationException, CommunicationException, ConfigurationException, SecurityViolationException { // TODO refactor after new query engine is implemented ItemDefinition outputDefinition = null; if (filter instanceof ValueFilter) { outputDefinition = ((ValueFilter) filter).getDefinition(); } if (outputDefinition == null) { outputDefinition = prismContext.definitionFactory().createPropertyDefinition(ExpressionConstants.OUTPUT_ELEMENT_NAME, DOMUtil.XSD_STRING); } return (V) evaluateExpression(variables, outputDefinition, expressionType, expressionFactory, shortDesc, task, parentResult); // String expressionResult = // expressionHandler.evaluateExpression(currentShadow, valueExpression, // shortDesc, result); }
public static boolean hasAllDefinitions(ObjectFilter filter) { final MutableBoolean hasAllDefinitions = new MutableBoolean(true); Visitor visitor = f -> { if (f instanceof ValueFilter) { ItemDefinition definition = ((ValueFilter<?,?>) f).getDefinition(); if (definition == null) { hasAllDefinitions.setValue(false); } } }; filter.accept(visitor); return hasAllDefinitions.booleanValue(); }
QName propName = valueFilter.getDefinition().getName(); String icfName = icfNameMapper.convertAttributeNameToConnId(propName, getInterpreter() .getObjectClassDefinition(), "(attribute in the filter)"); } else { Attribute attr = AttributeBuilder.build(icfName, convertedValues); if (valueFilter.getDefinition().isSingleValue()) { return FilterBuilder.equalTo(attr); } else { QName propName = valueFilter.getDefinition().getName(); EqualFilter<T> eq = (EqualFilter<T>) objectFilter; List<PrismPropertyValue<T>> values = eq.getValues(); if (valueFilter.getDefinition().isSingleValue()) { return FilterBuilder.equalTo(attr); } else {
val.setParent(filter); XNodeImpl valNode = (XNodeImpl) xnodeSerializer.definition(filter.getDefinition()).serialize(val).getSubnode(); if (filter instanceof RefFilter) { // TODO shouldn't we do this in all cases? valNode.setExplicitTypeDeclaration(true);