Skip to content

Commit

Permalink
Bringing result and task to synchronization policy condition scripts.
Browse files Browse the repository at this point in the history
(cherry picked from commit 3ee7012)
  • Loading branch information
mederly committed Oct 10, 2016
1 parent 0cc540f commit 7853321
Showing 1 changed file with 11 additions and 4 deletions.
Expand Up @@ -26,6 +26,7 @@

import javax.xml.namespace.QName;

import com.evolveum.midpoint.model.impl.expr.ModelExpressionThreadLocalHolder;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.Validate;
import org.jetbrains.annotations.NotNull;
Expand Down Expand Up @@ -430,10 +431,16 @@ private Boolean evaluateSynchronizationPolicyCondition(ObjectSynchronizationType
String desc = "condition in object synchronization " + synchronizationPolicy.getName();
ExpressionVariables variables = Utils.getDefaultExpressionVariables(null, currentShadow, null,
resource, configuration, null);
PrismPropertyValue<Boolean> evaluateCondition = ExpressionUtil.evaluateCondition(variables,
conditionExpressionType, expressionFactory, desc, task, result);
return evaluateCondition.getValue();

try {
ModelExpressionThreadLocalHolder.pushCurrentTask(task);
ModelExpressionThreadLocalHolder.pushCurrentResult(result);
PrismPropertyValue<Boolean> evaluateCondition = ExpressionUtil.evaluateCondition(variables,
conditionExpressionType, expressionFactory, desc, task, result);
return evaluateCondition.getValue();
} finally {
ModelExpressionThreadLocalHolder.popCurrentResult();
ModelExpressionThreadLocalHolder.popCurrentTask();
}
}

private boolean isLogDebug(ResourceObjectShadowChangeDescription change) {
Expand Down

0 comments on commit 7853321

Please sign in to comment.