This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch 2_1_X
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/2_1_X by this push:
new 9d6f89d SYNCOPE-1390: Pull Realms: pull task with Unmatching Rules:
PROVISION shouldn't create propagation task (#86)
9d6f89d is described below
commit 9d6f89dfe67bf528d161ea3f6ac1c130434004a9
Author: Alexander Tsvetkov <[email protected]>
AuthorDate: Fri Nov 2 12:59:03 2018 +0300
SYNCOPE-1390: Pull Realms: pull task with Unmatching Rules: PROVISION
shouldn't create propagation task (#86)
---
.../java/pushpull/DefaultRealmPullResultHandler.java | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultRealmPullResultHandler.java
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultRealmPullResultHandler.java
index 1e1fdd2..82c507c 100644
---
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultRealmPullResultHandler.java
+++
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultRealmPullResultHandler.java
@@ -31,7 +31,6 @@ import org.apache.syncope.common.lib.types.AuditElements;
import org.apache.syncope.common.lib.types.AuditElements.Result;
import org.apache.syncope.common.lib.types.ClientExceptionType;
import org.apache.syncope.common.lib.types.MatchingRule;
-import org.apache.syncope.core.provisioning.api.PropagationByResource;
import org.apache.syncope.common.lib.types.PullMode;
import org.apache.syncope.common.lib.types.ResourceOperation;
import org.apache.syncope.common.lib.types.UnmatchingRule;
@@ -42,6 +41,7 @@ import
org.apache.syncope.core.persistence.api.dao.search.SearchCond;
import org.apache.syncope.core.persistence.api.entity.Realm;
import org.apache.syncope.core.persistence.api.entity.resource.OrgUnit;
import org.apache.syncope.core.persistence.api.entity.task.PullTask;
+import org.apache.syncope.core.provisioning.api.PropagationByResource;
import
org.apache.syncope.core.provisioning.api.propagation.PropagationException;
import
org.apache.syncope.core.provisioning.api.pushpull.IgnoreProvisionException;
import org.apache.syncope.core.provisioning.api.pushpull.ProvisioningReport;
@@ -160,7 +160,7 @@ public class DefaultRealmPullResultHandler
action.beforeAssign(profile, delta, realmTO);
}
- create(realmTO, delta,
UnmatchingRule.toEventName(UnmatchingRule.ASSIGN), result);
+ create(realmTO, delta, UnmatchingRule.ASSIGN, result);
}
return Collections.singletonList(result);
@@ -198,7 +198,7 @@ public class DefaultRealmPullResultHandler
action.beforeProvision(profile, delta, realmTO);
}
- create(realmTO, delta,
UnmatchingRule.toEventName(UnmatchingRule.PROVISION), result);
+ create(realmTO, delta, UnmatchingRule.PROVISION, result);
}
return Collections.singletonList(result);
@@ -225,7 +225,7 @@ public class DefaultRealmPullResultHandler
private void create(
final RealmTO realmTO,
final SyncDelta delta,
- final String operation,
+ final UnmatchingRule unmatchingRule,
final ProvisioningReport result)
throws JobExecutionException {
@@ -239,8 +239,10 @@ public class DefaultRealmPullResultHandler
for (String resource : realm.getResourceKeys()) {
propByRes.add(ResourceOperation.CREATE, resource);
}
- List<PropagationTaskTO> tasks =
propagationManager.createTasks(realm, propByRes, null);
- taskExecutor.execute(tasks, false);
+ if (unmatchingRule == UnmatchingRule.ASSIGN) {
+ List<PropagationTaskTO> tasks =
propagationManager.createTasks(realm, propByRes, null);
+ taskExecutor.execute(tasks, false);
+ }
RealmTO actual = binder.getRealmTO(realm, true);
@@ -271,7 +273,7 @@ public class DefaultRealmPullResultHandler
resultStatus = Result.FAILURE;
}
- finalize(operation, resultStatus, null, output, delta);
+ finalize(UnmatchingRule.toEventName(unmatchingRule), resultStatus,
null, output, delta);
}
private List<ProvisioningReport> update(final SyncDelta delta, final
List<String> keys, final boolean inLink)