Skip to content

Commit

Permalink
It compiles again!
Browse files Browse the repository at this point in the history
  • Loading branch information
semancik committed Mar 21, 2019
1 parent fac9c7d commit 94afe69
Show file tree
Hide file tree
Showing 33 changed files with 216 additions and 113 deletions.
Expand Up @@ -28,6 +28,7 @@
import com.evolveum.midpoint.schema.*;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.MiscSchemaUtil;
import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.CommonException;
Expand Down Expand Up @@ -518,7 +519,7 @@ private void updateRequestWithMidpointQuery(RepositoryQueryDiagRequest request,
request.setType(clazz);
ObjectQuery objectQuery = prismContext.getQueryConverter().createObjectQuery(clazz, queryType);
ObjectQuery queryWithExprEvaluated = ExpressionUtil.evaluateQueryExpressions(objectQuery, new ExpressionVariables(),
getExpressionFactory(), getPrismContext(), "evaluate query expressions", task, result);
MiscSchemaUtil.getExpressionProfile(), getExpressionFactory(), getPrismContext(), "evaluate query expressions", task, result);
request.setQuery(queryWithExprEvaluated);

Collection<SelectorOptions<GetOperationOptions>> options = distinct ? createCollection(createDistinct()) : null;
Expand Down
Expand Up @@ -158,7 +158,7 @@ protected List<V> transformSingleValue(ExpressionVariables variables, PlusMinusZ
if (populateAssignmentType != null) {
if (outputDefinition instanceof PrismContainerDefinition) {
additionalAttributeDeltas = PopulatorUtil.computePopulateItemDeltas(populateAssignmentType,
(PrismContainerDefinition<?>)outputDefinition, variables, expressionProfile, context, contextDescription, task, result);
(PrismContainerDefinition<?>)outputDefinition, variables, context, contextDescription, task, result);
} else {
LOGGER.warn("Search expression {} applied to non-container target, ignoring populate definition", contextDescription);
}
Expand Down Expand Up @@ -389,7 +389,7 @@ private <O extends ObjectType> String createOnDemand(Class<O> targetTypeClass, E
} else {

List<ItemDelta<V, D>> populateDeltas = PopulatorUtil.computePopulateItemDeltas(populateObject,
objectDefinition, variables, expressionProfile, params, contextDescription, task, result);
objectDefinition, variables, params, contextDescription, task, result);
ItemDeltaCollectionsUtil.applyTo(populateDeltas, newObject);

}
Expand Down
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014-2017 Evolveum
* Copyright (c) 2014-2019 Evolveum
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -29,6 +29,7 @@
import com.evolveum.midpoint.repo.common.expression.AbstractObjectResolvableExpressionEvaluatorFactory;
import com.evolveum.midpoint.repo.common.expression.ExpressionEvaluator;
import com.evolveum.midpoint.repo.common.expression.ExpressionFactory;
import com.evolveum.midpoint.schema.expression.ExpressionProfile;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.security.api.SecurityContextManager;
import com.evolveum.midpoint.task.api.Task;
Expand Down Expand Up @@ -71,8 +72,12 @@ public QName getElementName() {
* @see com.evolveum.midpoint.common.expression.ExpressionEvaluatorFactory#createEvaluator(javax.xml.bind.JAXBElement)
*/
@Override
public <V extends PrismValue,D extends ItemDefinition> ExpressionEvaluator<V,D> createEvaluator(Collection<JAXBElement<?>> evaluatorElements,
D outputDefinition, ExpressionFactory factory, String contextDescription, Task task, OperationResult result) throws SchemaException {
public <V extends PrismValue,D extends ItemDefinition> ExpressionEvaluator<V,D> createEvaluator(
Collection<JAXBElement<?>> evaluatorElements,
D outputDefinition,
ExpressionProfile expressionProfile,
ExpressionFactory factory,
String contextDescription, Task task, OperationResult result) throws SchemaException {

Validate.notNull(outputDefinition, "output definition must be specified for assignmentTargetSearch expression evaluator");

Expand All @@ -92,7 +97,7 @@ public <V extends PrismValue,D extends ItemDefinition> ExpressionEvaluator<V,D>
throw new SchemaException("assignment expression evaluator cannot handle elements of type " + evaluatorTypeObject.getClass().getName()+" in "+contextDescription);
}
AssignmentTargetSearchExpressionEvaluator expressionEvaluator = new AssignmentTargetSearchExpressionEvaluator((AssignmentTargetSearchExpressionEvaluatorType)evaluatorTypeObject,
(PrismContainerDefinition<AssignmentType>) outputDefinition, protector, getObjectResolver(), modelService, prismContext, securityContextManager, getLocalizationService());
(PrismContainerDefinition<AssignmentType>) outputDefinition, expressionProfile, protector, getObjectResolver(), modelService, prismContext, securityContextManager, getLocalizationService());
return (ExpressionEvaluator<V,D>) expressionEvaluator;
}

Expand Down
Expand Up @@ -38,6 +38,7 @@
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.schema.constants.ExpressionConstants;
import com.evolveum.midpoint.schema.expression.ExpressionProfile;
import com.evolveum.midpoint.schema.expression.TypedValue;
import com.evolveum.midpoint.schema.internals.InternalsConfig;
import com.evolveum.midpoint.schema.util.ObjectQueryUtil;
Expand All @@ -62,10 +63,10 @@ public class AssociationTargetSearchExpressionEvaluator
private static final Trace LOGGER = TraceManager.getTrace(AssociationTargetSearchExpressionEvaluator.class);

public AssociationTargetSearchExpressionEvaluator(SearchObjectExpressionEvaluatorType expressionEvaluatorType,
PrismContainerDefinition<ShadowAssociationType> outputDefinition, Protector protector, ObjectResolver objectResolver,
PrismContainerDefinition<ShadowAssociationType> outputDefinition, ExpressionProfile expressionProfile, Protector protector, ObjectResolver objectResolver,
ModelService modelService, PrismContext prismContext, SecurityContextManager securityContextManager,
LocalizationService localizationService) {
super(expressionEvaluatorType, outputDefinition, protector, objectResolver, modelService, prismContext,
super(expressionEvaluatorType, outputDefinition, expressionProfile, protector, objectResolver, modelService, prismContext,
securityContextManager, localizationService);
}

Expand Down
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014-2017 Evolveum
* Copyright (c) 2014-2019 Evolveum
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -29,6 +29,7 @@
import com.evolveum.midpoint.repo.common.expression.AbstractObjectResolvableExpressionEvaluatorFactory;
import com.evolveum.midpoint.repo.common.expression.ExpressionEvaluator;
import com.evolveum.midpoint.repo.common.expression.ExpressionFactory;
import com.evolveum.midpoint.schema.expression.ExpressionProfile;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.security.api.SecurityContextManager;
import com.evolveum.midpoint.task.api.Task;
Expand Down Expand Up @@ -70,8 +71,12 @@ public QName getElementName() {
* @see com.evolveum.midpoint.common.expression.ExpressionEvaluatorFactory#createEvaluator(javax.xml.bind.JAXBElement)
*/
@Override
public <V extends PrismValue,D extends ItemDefinition> ExpressionEvaluator<V,D> createEvaluator(Collection<JAXBElement<?>> evaluatorElements,
D outputDefinition, ExpressionFactory factory, String contextDescription, Task task, OperationResult result) throws SchemaException {
public <V extends PrismValue,D extends ItemDefinition> ExpressionEvaluator<V,D> createEvaluator(
Collection<JAXBElement<?>> evaluatorElements,
D outputDefinition,
ExpressionProfile expressionProfile,
ExpressionFactory factory,
String contextDescription, Task task, OperationResult result) throws SchemaException {

Validate.notNull(outputDefinition, "output definition must be specified for associationTargetSearch expression evaluator");

Expand All @@ -91,7 +96,7 @@ public <V extends PrismValue,D extends ItemDefinition> ExpressionEvaluator<V,D>
throw new SchemaException("Association expression evaluator cannot handle elements of type " + evaluatorTypeObject.getClass().getName()+" in "+contextDescription);
}
AssociationTargetSearchExpressionEvaluator evaluator = new AssociationTargetSearchExpressionEvaluator((SearchObjectExpressionEvaluatorType)evaluatorTypeObject,
(PrismContainerDefinition<ShadowAssociationType>) outputDefinition, protector, getObjectResolver(), modelService, prismContext, securityContextManager, getLocalizationService());
(PrismContainerDefinition<ShadowAssociationType>) outputDefinition, expressionProfile, protector, getObjectResolver(), modelService, prismContext, securityContextManager, getLocalizationService());
return (ExpressionEvaluator<V,D>) evaluator;
}

Expand Down
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2010-2017 Evolveum
* Copyright (c) 2010-2019 Evolveum
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -32,6 +32,7 @@
import com.evolveum.midpoint.repo.common.expression.AbstractAutowiredExpressionEvaluatorFactory;
import com.evolveum.midpoint.repo.common.expression.ExpressionEvaluator;
import com.evolveum.midpoint.repo.common.expression.ExpressionFactory;
import com.evolveum.midpoint.schema.expression.ExpressionProfile;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
Expand Down Expand Up @@ -73,8 +74,12 @@ public QName getElementName() {
* @see com.evolveum.midpoint.common.expression.ExpressionEvaluatorFactory#createEvaluator(javax.xml.bind.JAXBElement, com.evolveum.midpoint.prism.PrismContext)
*/
@Override
public <V extends PrismValue,D extends ItemDefinition> ExpressionEvaluator<V,D> createEvaluator(Collection<JAXBElement<?>> evaluatorElements,
D outputDefinition, ExpressionFactory factory, String contextDescription, Task task, OperationResult result)
public <V extends PrismValue,D extends ItemDefinition> ExpressionEvaluator<V,D> createEvaluator(
Collection<JAXBElement<?>> evaluatorElements,
D outputDefinition,
ExpressionProfile expressionProfile,
ExpressionFactory factory,
String contextDescription, Task task, OperationResult result)
throws SchemaException, ObjectNotFoundException {

Validate.notNull(outputDefinition, "output definition must be specified for 'generate' expression evaluator");
Expand Down
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2010-2017 Evolveum
* Copyright (c) 2010-2019 Evolveum
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -36,6 +36,7 @@
import com.evolveum.midpoint.repo.common.expression.ExpressionUtil;
import com.evolveum.midpoint.repo.common.expression.ExpressionVariables;
import com.evolveum.midpoint.schema.SchemaConstantsGenerated;
import com.evolveum.midpoint.schema.expression.ExpressionProfile;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.MiscSchemaUtil;
import com.evolveum.midpoint.task.api.Task;
Expand Down Expand Up @@ -111,6 +112,8 @@ public PrismValueDeltaSetTriple<V> evaluate(ExpressionEvaluationContext context)
throw new ObjectNotFoundException("No functions defined in referenced function library: " + functionLibraryType);
}

// TODO: this has to be determined from the library archetype
ExpressionProfile expressionProfile = MiscSchemaUtil.getExpressionProfile();

String functionName = functionEvaluatorType.getName();

Expand Down Expand Up @@ -154,7 +157,7 @@ public PrismValueDeltaSetTriple<V> evaluate(ExpressionEvaluationContext context)
try {
variableResult.addArbitraryObjectAsParam("valueExpression", valueExpression);
D variableOutputDefinition = determineVariableOutputDefinition(functionToExecute, param.getName(), context);
ExpressionUtil.evaluateExpression(originVariables, variableOutputDefinition, valueExpression, context.getExpressionFactory(), "resolve variable", task, variableResult);
ExpressionUtil.evaluateExpression(originVariables, variableOutputDefinition, valueExpression, expressionProfile, context.getExpressionFactory(), "resolve variable", task, variableResult);
variableResult.recordSuccess();
} catch (SchemaException | ExpressionEvaluationException | ObjectNotFoundException | CommunicationException
| ConfigurationException | SecurityViolationException e) {
Expand Down
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2010-2017 Evolveum
* Copyright (c) 2010-2019 Evolveum
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -31,6 +31,7 @@
import com.evolveum.midpoint.repo.common.expression.AbstractObjectResolvableExpressionEvaluatorFactory;
import com.evolveum.midpoint.repo.common.expression.ExpressionEvaluator;
import com.evolveum.midpoint.repo.common.expression.ExpressionFactory;
import com.evolveum.midpoint.schema.expression.ExpressionProfile;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectFactory;
Expand Down Expand Up @@ -61,8 +62,12 @@ public QName getElementName() {
* @see com.evolveum.midpoint.common.expression.ExpressionEvaluatorFactory#createEvaluator(javax.xml.bind.JAXBElement, com.evolveum.midpoint.prism.ItemDefinition, com.evolveum.midpoint.prism.PrismContext)
*/
@Override
public <V extends PrismValue, D extends ItemDefinition> ExpressionEvaluator<V,D> createEvaluator(Collection<JAXBElement<?>> evaluatorElements,
D outputDefinition, ExpressionFactory factory, String contextDescription, Task task, OperationResult result) throws SchemaException {
public <V extends PrismValue, D extends ItemDefinition> ExpressionEvaluator<V,D> createEvaluator(
Collection<JAXBElement<?>> evaluatorElements,
D outputDefinition,
ExpressionProfile expressionProfile,
ExpressionFactory factory,
String contextDescription, Task task, OperationResult result) throws SchemaException {

Validate.notNull(outputDefinition, "output definition must be specified for path expression evaluator");

Expand Down
Expand Up @@ -28,6 +28,7 @@
import com.evolveum.midpoint.prism.delta.ItemDelta;
import com.evolveum.midpoint.repo.common.ObjectResolver;
import com.evolveum.midpoint.repo.common.expression.ExpressionEvaluationContext;
import com.evolveum.midpoint.schema.expression.ExpressionProfile;
import com.evolveum.midpoint.security.api.SecurityContextManager;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
Expand All @@ -42,10 +43,10 @@ public class ReferenceSearchExpressionEvaluator
private static final Trace LOGGER = TraceManager.getTrace(ReferenceSearchExpressionEvaluator.class);

public ReferenceSearchExpressionEvaluator(ReferenceSearchExpressionEvaluatorType expressionEvaluatorType,
PrismReferenceDefinition outputDefinition, Protector protector, ObjectResolver objectResolver,
PrismReferenceDefinition outputDefinition, ExpressionProfile expressionProfile, Protector protector, ObjectResolver objectResolver,
ModelService modelService, PrismContext prismContext, SecurityContextManager securityContextManager,
LocalizationService localizationService) {
super(expressionEvaluatorType, outputDefinition, protector, objectResolver, modelService, prismContext, securityContextManager,
super(expressionEvaluatorType, outputDefinition, expressionProfile, protector, objectResolver, modelService, prismContext, securityContextManager,
localizationService);
}

Expand Down
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014-2017 Evolveum
* Copyright (c) 2014-2019 Evolveum
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -29,6 +29,7 @@
import com.evolveum.midpoint.repo.common.expression.AbstractObjectResolvableExpressionEvaluatorFactory;
import com.evolveum.midpoint.repo.common.expression.ExpressionEvaluator;
import com.evolveum.midpoint.repo.common.expression.ExpressionFactory;
import com.evolveum.midpoint.schema.expression.ExpressionProfile;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.security.api.SecurityContextManager;
import com.evolveum.midpoint.task.api.Task;
Expand Down Expand Up @@ -69,8 +70,12 @@ public QName getElementName() {
* @see com.evolveum.midpoint.common.expression.ExpressionEvaluatorFactory#createEvaluator(javax.xml.bind.JAXBElement)
*/
@Override
public <V extends PrismValue,D extends ItemDefinition> ExpressionEvaluator<V,D> createEvaluator(Collection<JAXBElement<?>> evaluatorElements,
D outputDefinition, ExpressionFactory factory, String contextDescription, Task task, OperationResult result) throws SchemaException {
public <V extends PrismValue,D extends ItemDefinition> ExpressionEvaluator<V,D> createEvaluator(
Collection<JAXBElement<?>> evaluatorElements,
D outputDefinition,
ExpressionProfile expressionProfile,
ExpressionFactory factory,
String contextDescription, Task task, OperationResult result) throws SchemaException {

Validate.notNull(outputDefinition, "output definition must be specified for referenceSearch expression evaluator");

Expand All @@ -90,7 +95,7 @@ public <V extends PrismValue,D extends ItemDefinition> ExpressionEvaluator<V,D>
throw new SchemaException("reference search expression evaluator cannot handle elements of type " + evaluatorTypeObject.getClass().getName()+" in "+contextDescription);
}
ReferenceSearchExpressionEvaluator expressionEvaluator = new ReferenceSearchExpressionEvaluator((ReferenceSearchExpressionEvaluatorType)evaluatorTypeObject,
(PrismReferenceDefinition) outputDefinition, protector, getObjectResolver(), modelService, prismContext, securityContextManager, getLocalizationService());
(PrismReferenceDefinition) outputDefinition, expressionProfile, protector, getObjectResolver(), modelService, prismContext, securityContextManager, getLocalizationService());
return (ExpressionEvaluator<V,D>) expressionEvaluator;
}

Expand Down

0 comments on commit 94afe69

Please sign in to comment.