From c4a6b5c552f5d46ae984ff5795dd01aab4a22529 Mon Sep 17 00:00:00 2001 From: Radovan Semancik Date: Mon, 10 Oct 2016 11:59:21 +0200 Subject: [PATCH 1/2] Fixed setting explicitReferentialIntegrity in AD multi-domain test --- .../src/test/resources/ad-ldap-multidomain/resource-chimera.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/testing/conntest/src/test/resources/ad-ldap-multidomain/resource-chimera.xml b/testing/conntest/src/test/resources/ad-ldap-multidomain/resource-chimera.xml index aa6ae16c7f2..15b5fb38c88 100644 --- a/testing/conntest/src/test/resources/ad-ldap-multidomain/resource-chimera.xml +++ b/testing/conntest/src/test/resources/ad-ldap-multidomain/resource-chimera.xml @@ -228,6 +228,7 @@ ri:dn ri:memberOf ri:dn + false @@ -480,6 +481,7 @@ ri:dn ri:memberOf ri:dn + false From 3ee7012045bed66be2bd9e0235bd4db54600c26e Mon Sep 17 00:00:00 2001 From: Pavol Mederly Date: Mon, 10 Oct 2016 12:33:07 +0200 Subject: [PATCH 2/2] Bringing result and task to synchronization policy condition scripts. --- .../impl/sync/SynchronizationServiceImpl.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/SynchronizationServiceImpl.java b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/SynchronizationServiceImpl.java index ac134b4152e..5f04938610e 100644 --- a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/SynchronizationServiceImpl.java +++ b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/SynchronizationServiceImpl.java @@ -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; @@ -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 evaluateCondition = ExpressionUtil.evaluateCondition(variables, - conditionExpressionType, expressionFactory, desc, task, result); - return evaluateCondition.getValue(); - + try { + ModelExpressionThreadLocalHolder.pushCurrentTask(task); + ModelExpressionThreadLocalHolder.pushCurrentResult(result); + PrismPropertyValue evaluateCondition = ExpressionUtil.evaluateCondition(variables, + conditionExpressionType, expressionFactory, desc, task, result); + return evaluateCondition.getValue(); + } finally { + ModelExpressionThreadLocalHolder.popCurrentResult(); + ModelExpressionThreadLocalHolder.popCurrentTask(); + } } private boolean isLogDebug(ResourceObjectShadowChangeDescription change) {