From commits-return-11855-archive-asf-public=cust-asf.ponee.io@syncope.apache.org Mon Aug 13 15:36:15 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id CF65F18067A for ; Mon, 13 Aug 2018 15:36:14 +0200 (CEST) Received: (qmail 19192 invoked by uid 500); 13 Aug 2018 13:36:13 -0000 Mailing-List: contact commits-help@syncope.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@syncope.apache.org Delivered-To: mailing list commits@syncope.apache.org Received: (qmail 19174 invoked by uid 99); 13 Aug 2018 13:36:13 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Aug 2018 13:36:13 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 85C0ADFFF2; Mon, 13 Aug 2018 13:36:13 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: ilgrosso@apache.org To: commits@syncope.apache.org Date: Mon, 13 Aug 2018 13:36:14 -0000 Message-Id: <7096f8b62ed04be5b78631d00f890310@git.apache.org> In-Reply-To: <6533f18ffab0437bb5c4efde7d306d29@git.apache.org> References: <6533f18ffab0437bb5c4efde7d306d29@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [2/3] syncope git commit: [SYNCOPE-1354] Taking always enable into account when creating Propagation Tasks upon Push [SYNCOPE-1354] Taking always enable into account when creating Propagation Tasks upon Push Project: http://git-wip-us.apache.org/repos/asf/syncope/repo Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/fa27b90c Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/fa27b90c Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/fa27b90c Branch: refs/heads/master Commit: fa27b90c5d180d27fcea60020ca55f729dab2b9e Parents: 7edc502 Author: Francesco Chicchiriccò Authored: Mon Aug 13 15:13:03 2018 +0200 Committer: Francesco Chicchiriccò Committed: Mon Aug 13 15:13:12 2018 +0200 ---------------------------------------------------------------------- .../api/propagation/PropagationManager.java | 2 ++ .../DefaultAnyObjectProvisioningManager.java | 1 + .../java/DefaultGroupProvisioningManager.java | 2 ++ .../propagation/PropagationManagerImpl.java | 3 ++- .../pushpull/AbstractPushResultHandler.java | 22 ++++++++++++-------- .../camel/producer/CreateProducer.java | 2 ++ 6 files changed, 22 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/syncope/blob/fa27b90c/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/propagation/PropagationManager.java ---------------------------------------------------------------------- diff --git a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/propagation/PropagationManager.java b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/propagation/PropagationManager.java index 6994a47..00c311b 100644 --- a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/propagation/PropagationManager.java +++ b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/propagation/PropagationManager.java @@ -36,6 +36,7 @@ public interface PropagationManager { * * @param kind any object type kind * @param key any object key + * @param enable whether any object should be enabled or not * @param propByRes operation to be performed per resource * @param vAttrs virtual attributes to be set * @param noPropResourceKeys external resources performing not to be considered for propagation @@ -44,6 +45,7 @@ public interface PropagationManager { List getCreateTasks( AnyTypeKind kind, String key, + Boolean enable, PropagationByResource propByRes, Collection vAttrs, Collection noPropResourceKeys); http://git-wip-us.apache.org/repos/asf/syncope/blob/fa27b90c/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java ---------------------------------------------------------------------- diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java index bffc136..29447d5 100644 --- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java +++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java @@ -78,6 +78,7 @@ public class DefaultAnyObjectProvisioningManager implements AnyObjectProvisionin List tasks = propagationManager.getCreateTasks( AnyTypeKind.ANY_OBJECT, created.getResult(), + null, created.getPropByRes(), anyObjectTO.getVirAttrs(), excludedResources); http://git-wip-us.apache.org/repos/asf/syncope/blob/fa27b90c/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java ---------------------------------------------------------------------- diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java index 98aab4d..5ca7d23 100644 --- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java +++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java @@ -74,6 +74,7 @@ public class DefaultGroupProvisioningManager implements GroupProvisioningManager List tasks = propagationManager.getCreateTasks( AnyTypeKind.GROUP, created.getResult(), + null, created.getPropByRes(), groupTO.getVirAttrs(), Collections.emptySet()); @@ -99,6 +100,7 @@ public class DefaultGroupProvisioningManager implements GroupProvisioningManager List tasks = propagationManager.getCreateTasks( AnyTypeKind.GROUP, created.getResult(), + null, created.getPropByRes(), groupTO.getVirAttrs(), excludedResources); http://git-wip-us.apache.org/repos/asf/syncope/blob/fa27b90c/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PropagationManagerImpl.java ---------------------------------------------------------------------- diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PropagationManagerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PropagationManagerImpl.java index 7f4e06c..deac6a4 100644 --- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PropagationManagerImpl.java +++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PropagationManagerImpl.java @@ -136,11 +136,12 @@ public class PropagationManagerImpl implements PropagationManager { public List getCreateTasks( final AnyTypeKind kind, final String key, + final Boolean enable, final PropagationByResource propByRes, final Collection vAttrs, final Collection noPropResourceKeys) { - return getCreateTasks(dao(kind).authFind(key), null, null, propByRes, vAttrs, noPropResourceKeys); + return getCreateTasks(dao(kind).authFind(key), null, enable, propByRes, vAttrs, noPropResourceKeys); } @Override http://git-wip-us.apache.org/repos/asf/syncope/blob/fa27b90c/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractPushResultHandler.java ---------------------------------------------------------------------- diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractPushResultHandler.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractPushResultHandler.java index 4d42271..1053c02 100644 --- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractPushResultHandler.java +++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractPushResultHandler.java @@ -90,7 +90,12 @@ public abstract class AbstractPushResultHandler extends AbstractSyncopeResultHan } } - protected void update(final Any any, final ConnectorObject beforeObj, final ProvisioningReport result) { + protected void update( + final Any any, + final Boolean enable, + final ConnectorObject beforeObj, + final ProvisioningReport result) { + boolean changepwd = any instanceof User; List ownedResources = getAnyUtils().getAllResources(any).stream(). map(Entity::getKey).collect(Collectors.toList()); @@ -106,7 +111,7 @@ public abstract class AbstractPushResultHandler extends AbstractSyncopeResultHan any.getType().getKind(), any.getKey(), changepwd, - null, + enable, propByRes, null, noPropResources), @@ -133,7 +138,7 @@ public abstract class AbstractPushResultHandler extends AbstractSyncopeResultHan reportPropagation(result, reporter); } - protected void provision(final Any any, final Boolean enabled, final ProvisioningReport result) { + protected void provision(final Any any, final Boolean enable, final ProvisioningReport result) { AnyTO before = getAnyTO(any.getKey()); List noPropResources = new ArrayList<>(before.getResources()); @@ -145,6 +150,7 @@ public abstract class AbstractPushResultHandler extends AbstractSyncopeResultHan PropagationReporter reporter = taskExecutor.execute(propagationManager.getCreateTasks( any.getType().getKind(), any.getKey(), + enable, propByRes, before.getVirAttrs(), noPropResources), @@ -260,14 +266,12 @@ public abstract class AbstractPushResultHandler extends AbstractSyncopeResultHan Object output = null; Result resultStatus = null; - Boolean enabled = any instanceof User && profile.getTask().isSyncStatus() + Boolean enable = any instanceof User && profile.getTask().isSyncStatus() ? ((User) any).isSuspended() ? Boolean.FALSE : Boolean.TRUE : null; - Boolean status = profile.getTask().isSyncStatus() ? enabled : null; - if (profile.isDryRun()) { if (beforeObj == null) { result.setOperation(toResourceOperation(profile.getTask().getUnmatchingRule())); @@ -304,7 +308,7 @@ public abstract class AbstractPushResultHandler extends AbstractSyncopeResultHan LOG.debug("PushTask not configured for create"); result.setStatus(ProvisioningReport.Status.IGNORE); } else { - assign(any, status, result); + assign(any, enable, result); } break; @@ -317,7 +321,7 @@ public abstract class AbstractPushResultHandler extends AbstractSyncopeResultHan LOG.debug("PushTask not configured for create"); result.setStatus(ProvisioningReport.Status.IGNORE); } else { - provision(any, status, result); + provision(any, enable, result); } break; @@ -354,7 +358,7 @@ public abstract class AbstractPushResultHandler extends AbstractSyncopeResultHan LOG.debug("PushTask not configured for update"); result.setStatus(ProvisioningReport.Status.IGNORE); } else { - update(any, beforeObj, result); + update(any, enable, beforeObj, result); } break; http://git-wip-us.apache.org/repos/asf/syncope/blob/fa27b90c/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/CreateProducer.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/CreateProducer.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/CreateProducer.java index c18f7a0..27ab612 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/CreateProducer.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/CreateProducer.java @@ -76,6 +76,7 @@ public class CreateProducer extends AbstractProducer { List tasks = getPropagationManager().getCreateTasks( AnyTypeKind.GROUP, created.getResult(), + null, created.getPropByRes(), ((AnyTO) actual).getVirAttrs(), excludedResources); @@ -86,6 +87,7 @@ public class CreateProducer extends AbstractProducer { List tasks = getPropagationManager().getCreateTasks( actual instanceof AnyObjectTO ? AnyTypeKind.ANY_OBJECT : AnyTypeKind.GROUP, created.getResult(), + null, created.getPropByRes(), ((AnyTO) actual).getVirAttrs(), excludedResources);