You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2022/04/28 09:30:36 UTC
[syncope] branch master updated: [SYNCOPE-1465] Adding executor to SinglePullJobDelegate (#341)
This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/master by this push:
new 0e2f847ac6 [SYNCOPE-1465] Adding executor to SinglePullJobDelegate (#341)
0e2f847ac6 is described below
commit 0e2f847ac6bb975b8cbf4a00cf5c212b49b0282f
Author: Francesco Chicchiriccò <il...@users.noreply.github.com>
AuthorDate: Thu Apr 28 11:30:31 2022 +0200
[SYNCOPE-1465] Adding executor to SinglePullJobDelegate (#341)
---
.../org/apache/syncope/core/logic/ReconciliationLogic.java | 11 ++++++-----
.../core/persistence/jpa/dao/AbstractJPAJSONAnyDAO.java | 8 ++++----
.../provisioning/api/pushpull/SyncopeSinglePullExecutor.java | 3 ++-
.../provisioning/java/job/AbstractSchedTaskJobDelegate.java | 5 ++---
.../syncope/core/provisioning/java/job/DefaultJobManager.java | 2 +-
.../java/propagation/PriorityPropagationTaskExecutor.java | 2 +-
.../provisioning/java/pushpull/AbstractPullResultHandler.java | 5 ++---
.../java/pushpull/DefaultUserPullResultHandler.java | 3 +--
.../provisioning/java/pushpull/SinglePullJobDelegate.java | 4 +++-
.../syncope/core/workflow/java/AbstractWorkflowAdapter.java | 6 +-----
.../src/test/java/org/apache/syncope/fit/AbstractITCase.java | 2 +-
.../org/apache/syncope/fit/enduser/AbstractEnduserITCase.java | 2 +-
.../java/org/apache/syncope/fit/sra/AbstractSRAITCase.java | 4 ++--
.../sra/filters/BodyPropertyAddingGatewayFilterFactory.java | 2 +-
14 files changed, 28 insertions(+), 31 deletions(-)
diff --git a/core/idm/logic/src/main/java/org/apache/syncope/core/logic/ReconciliationLogic.java b/core/idm/logic/src/main/java/org/apache/syncope/core/logic/ReconciliationLogic.java
index 34fa534d45..1361304553 100644
--- a/core/idm/logic/src/main/java/org/apache/syncope/core/logic/ReconciliationLogic.java
+++ b/core/idm/logic/src/main/java/org/apache/syncope/core/logic/ReconciliationLogic.java
@@ -366,7 +366,7 @@ public class ReconciliationLogic extends AbstractTransactionalLogic<EntityTO> {
connectorManager.getConnector(provision.getResource()),
getAny(provision, anyKey),
pushTask,
- AuthContextUtils.getUsername()));
+ AuthContextUtils.getWho()));
if (!results.isEmpty() && results.get(0).getStatus() == ProvisioningReport.Status.FAILURE) {
sce.getElements().add(results.get(0).getMessage());
}
@@ -405,7 +405,7 @@ public class ReconciliationLogic extends AbstractTransactionalLogic<EntityTO> {
connectorManager.getConnector(provision.getResource()),
match.getAny(),
pushTask,
- AuthContextUtils.getUsername()));
+ AuthContextUtils.getWho()));
if (!results.isEmpty() && results.get(0).getStatus() == ProvisioningReport.Status.FAILURE) {
sce.getElements().add(results.get(0).getMessage());
}
@@ -415,7 +415,7 @@ public class ReconciliationLogic extends AbstractTransactionalLogic<EntityTO> {
connectorManager.getConnector(provision.getResource()),
match.getLinkedAccount(),
pushTask,
- AuthContextUtils.getUsername());
+ AuthContextUtils.getWho());
if (result.getStatus() == ProvisioningReport.Status.FAILURE) {
sce.getElements().add(result.getMessage());
} else {
@@ -457,7 +457,8 @@ public class ReconciliationLogic extends AbstractTransactionalLogic<EntityTO> {
connectorManager.getConnector(provision.getResource()),
reconFilterBuilder,
moreAttrsToGet,
- pullTask));
+ pullTask,
+ AuthContextUtils.getWho()));
if (!results.isEmpty() && results.get(0).getStatus() == ProvisioningReport.Status.FAILURE) {
sce.getElements().add(results.get(0).getMessage());
}
@@ -638,7 +639,7 @@ public class ReconciliationLogic extends AbstractTransactionalLogic<EntityTO> {
connector,
spec.getPropagationActions(),
pushTask,
- AuthContextUtils.getUsername());
+ AuthContextUtils.getWho());
} catch (Exception e) {
LOG.error("Could not push to stream", e);
SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.Reconciliation);
diff --git a/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractJPAJSONAnyDAO.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractJPAJSONAnyDAO.java
index a5c9e9f860..827729c1dc 100644
--- a/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractJPAJSONAnyDAO.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractJPAJSONAnyDAO.java
@@ -335,11 +335,11 @@ abstract class AbstractJPAJSONAnyDAO extends AbstractDAO<AbstractEntity> impleme
}
}
- // update sysInfo - as org.apache.syncope.core.persistence.jpa.entity.PlainAttrListener is not invoked
+ // update sysInfo
OffsetDateTime now = OffsetDateTime.now();
- String username = AuthContextUtils.getUsername();
- LOG.debug("Set last change date '{}' and modifier '{}' for '{}'", now, username, any);
- any.setLastModifier(username);
+ String who = AuthContextUtils.getWho();
+ LOG.debug("Set last change date '{}' and modifier '{}' for '{}'", now, who, any);
+ any.setLastModifier(who);
any.setLastChangeDate(now);
}
}
diff --git a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/SyncopeSinglePullExecutor.java b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/SyncopeSinglePullExecutor.java
index bedefd4ee4..4de8e3b303 100644
--- a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/SyncopeSinglePullExecutor.java
+++ b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/SyncopeSinglePullExecutor.java
@@ -34,5 +34,6 @@ public interface SyncopeSinglePullExecutor {
Connector connector,
ReconFilterBuilder reconFilterBuilder,
Set<String> moreAttrsToGet,
- PullTaskTO pullTaskTO) throws JobExecutionException;
+ PullTaskTO pullTaskTO,
+ String executor) throws JobExecutionException;
}
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/AbstractSchedTaskJobDelegate.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/AbstractSchedTaskJobDelegate.java
index 41c7899b3e..7c6c25d24a 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/AbstractSchedTaskJobDelegate.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/AbstractSchedTaskJobDelegate.java
@@ -32,7 +32,6 @@ import org.apache.syncope.core.persistence.api.entity.task.TaskExec;
import org.apache.syncope.core.provisioning.api.AuditManager;
import org.apache.syncope.core.provisioning.api.job.SchedTaskJobDelegate;
import org.apache.syncope.core.provisioning.api.notification.NotificationManager;
-import org.apache.syncope.core.spring.security.AuthContextUtils;
import org.apache.syncope.core.spring.security.SecurityProperties;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
@@ -148,7 +147,7 @@ public abstract class AbstractSchedTaskJobDelegate implements SchedTaskJobDelega
status.set("Done");
notificationManager.createTasks(
- AuthContextUtils.getWho(),
+ executor,
AuditElements.EventCategoryType.TASK,
this.getClass().getSimpleName(),
null,
@@ -158,7 +157,7 @@ public abstract class AbstractSchedTaskJobDelegate implements SchedTaskJobDelega
execution);
auditManager.audit(
- AuthContextUtils.getWho(),
+ executor,
AuditElements.EventCategoryType.TASK,
task.getClass().getSimpleName(),
null,
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/DefaultJobManager.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/DefaultJobManager.java
index ab3c1ce97a..abbae849c8 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/DefaultJobManager.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/DefaultJobManager.java
@@ -254,7 +254,7 @@ public class DefaultJobManager implements JobManager, SyncopeCoreLoader {
jobMap);
}
- protected static Map<String, Object> createJobMapForExecutionContext(final String executor) {
+ protected Map<String, Object> createJobMapForExecutionContext(final String executor) {
Map<String, Object> jobMap = new HashMap<>();
jobMap.put(JobManager.DOMAIN_KEY, AuthContextUtils.getDomain());
jobMap.put(JobManager.EXECUTOR_KEY, executor);
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PriorityPropagationTaskExecutor.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PriorityPropagationTaskExecutor.java
index f1d1218bda..76fc6e7564 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PriorityPropagationTaskExecutor.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PriorityPropagationTaskExecutor.java
@@ -71,7 +71,7 @@ public class PriorityPropagationTaskExecutor extends AbstractPropagationTaskExec
* @return new {@link PropagationTaskCallable} instance for usage with
* {@link java.util.concurrent.CompletionService}
*/
- protected static PropagationTaskCallable newPropagationTaskCallable(
+ protected PropagationTaskCallable newPropagationTaskCallable(
final PropagationTaskInfo taskInfo, final PropagationReporter reporter, final String executor) {
PropagationTaskCallable callable = (PropagationTaskCallable) ApplicationContextProvider.getBeanFactory().
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractPullResultHandler.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractPullResultHandler.java
index 6d9f610cc1..81284f88d7 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractPullResultHandler.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractPullResultHandler.java
@@ -67,7 +67,6 @@ import org.apache.syncope.core.provisioning.api.cache.VirAttrCacheKey;
import org.apache.syncope.core.provisioning.api.pushpull.SyncopePullExecutor;
import org.apache.syncope.core.provisioning.api.pushpull.SyncopePullResultHandler;
import org.apache.syncope.core.provisioning.java.utils.ConnObjectUtils;
-import org.apache.syncope.core.spring.security.AuthContextUtils;
import org.identityconnectors.framework.common.objects.Attribute;
import org.identityconnectors.framework.common.objects.SyncDelta;
import org.identityconnectors.framework.common.objects.SyncDeltaType;
@@ -931,7 +930,7 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
}
notificationManager.createTasks(
- AuthContextUtils.getWho(),
+ profile.getExecutor(),
AuditElements.EventCategoryType.PULL,
anyTypeKind.name().toLowerCase(),
profile.getTask().getResource().getKey(),
@@ -943,7 +942,7 @@ public abstract class AbstractPullResultHandler extends AbstractSyncopeResultHan
furtherInput);
auditManager.audit(
- AuthContextUtils.getWho(),
+ profile.getExecutor(),
AuditElements.EventCategoryType.PULL,
anyTypeKind.name().toLowerCase(),
profile.getTask().getResource().getKey(),
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPullResultHandler.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPullResultHandler.java
index 4c6f99598e..215c797194 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPullResultHandler.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPullResultHandler.java
@@ -57,7 +57,6 @@ import org.apache.syncope.core.provisioning.api.WorkflowResult;
import org.apache.syncope.core.provisioning.api.propagation.PropagationException;
import org.apache.syncope.common.lib.to.ProvisioningReport;
import org.apache.syncope.core.provisioning.api.pushpull.PullActions;
-import org.apache.syncope.core.spring.security.AuthContextUtils;
import org.identityconnectors.framework.common.objects.SyncDelta;
import org.apache.syncope.core.provisioning.api.pushpull.UserPullResultHandler;
import org.identityconnectors.framework.common.objects.AttributeUtil;
@@ -270,7 +269,7 @@ public class DefaultUserPullResultHandler extends AbstractPullResultHandler impl
propByLinkedAccount,
null),
false,
- AuthContextUtils.getUsername());
+ profile.getExecutor());
for (PullActions action : profile.getActions()) {
action.after(profile, delta, before, report);
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/SinglePullJobDelegate.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/SinglePullJobDelegate.java
index 12086e606f..3e5adfefaf 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/SinglePullJobDelegate.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/SinglePullJobDelegate.java
@@ -67,7 +67,8 @@ public class SinglePullJobDelegate extends PullJobDelegate implements SyncopeSin
final Connector connector,
final ReconFilterBuilder reconFilterBuilder,
final Set<String> moreAttrsToGet,
- final PullTaskTO pullTaskTO) throws JobExecutionException {
+ final PullTaskTO pullTaskTO,
+ final String executor) throws JobExecutionException {
LOG.debug("Executing pull on {}", provision.getResource());
@@ -122,6 +123,7 @@ public class SinglePullJobDelegate extends PullJobDelegate implements SyncopeSin
profile.setDryRun(false);
profile.setConflictResolutionAction(ConflictResolutionAction.FIRSTMATCH);
profile.getActions().addAll(actions);
+ profile.setExecutor(executor);
for (PullActions action : actions) {
action.beforeAll(profile);
diff --git a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractWorkflowAdapter.java b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractWorkflowAdapter.java
index 9c2c60b198..3f87fb39bd 100644
--- a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractWorkflowAdapter.java
+++ b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractWorkflowAdapter.java
@@ -19,15 +19,11 @@
package org.apache.syncope.core.workflow.java;
import java.time.OffsetDateTime;
-import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.core.persistence.api.entity.Any;
-import org.apache.syncope.core.spring.security.AuthContextUtils;
public abstract class AbstractWorkflowAdapter {
- protected void metadata(final Any<?> any, final String username, final String context) {
- String who = username
- + AuthContextUtils.getDelegatedBy().map(d -> " [delegated by " + d + "]").orElse(StringUtils.EMPTY);
+ protected void metadata(final Any<?> any, final String who, final String context) {
OffsetDateTime now = OffsetDateTime.now();
if (any.getCreationDate() == null) {
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
index 661fbe07d0..45e615508d 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
@@ -385,7 +385,7 @@ public abstract class AbstractITCase {
@BeforeAll
public static void securitySetup() {
- try ( InputStream propStream = AbstractITCase.class.getResourceAsStream("/core.properties")) {
+ try (InputStream propStream = AbstractITCase.class.getResourceAsStream("/core.properties")) {
Properties props = new Properties();
props.load(propStream);
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/AbstractEnduserITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/AbstractEnduserITCase.java
index c59a24df8a..1603e91ffd 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/AbstractEnduserITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/AbstractEnduserITCase.java
@@ -144,7 +144,7 @@ public abstract class AbstractEnduserITCase extends AbstractUIITCase {
ctx.register(SyncopeWebApplication.class);
String springActiveProfiles = null;
- try ( InputStream propStream = AbstractConsoleITCase.class.getResourceAsStream("/test.properties")) {
+ try (InputStream propStream = AbstractConsoleITCase.class.getResourceAsStream("/test.properties")) {
Properties props = new Properties();
props.load(propStream);
diff --git a/fit/wa-reference/src/test/java/org/apache/syncope/fit/sra/AbstractSRAITCase.java b/fit/wa-reference/src/test/java/org/apache/syncope/fit/sra/AbstractSRAITCase.java
index 072df29f4d..8701978bc0 100644
--- a/fit/wa-reference/src/test/java/org/apache/syncope/fit/sra/AbstractSRAITCase.java
+++ b/fit/wa-reference/src/test/java/org/apache/syncope/fit/sra/AbstractSRAITCase.java
@@ -145,7 +145,7 @@ public abstract class AbstractSRAITCase extends AbstractITCase {
throws IOException, InterruptedException, TimeoutException {
Properties props = new Properties();
- try ( InputStream propStream = AbstractSRAITCase.class.getResourceAsStream("/test.properties")) {
+ try (InputStream propStream = AbstractSRAITCase.class.getResourceAsStream("/test.properties")) {
props.load(propStream);
} catch (Exception e) {
fail("Could not load /test.properties", e);
@@ -190,7 +190,7 @@ public abstract class AbstractSRAITCase extends AbstractITCase {
await().atMost(120, TimeUnit.SECONDS).pollInterval(3, TimeUnit.SECONDS).until(() -> {
boolean connected = false;
- try ( Socket socket = new Socket()) {
+ try (Socket socket = new Socket()) {
socket.connect(new InetSocketAddress("0.0.0.0", PORT));
connected = socket.isConnected();
} catch (ConnectException e) {
diff --git a/sra/src/test/java/org/apache/syncope/sra/filters/BodyPropertyAddingGatewayFilterFactory.java b/sra/src/test/java/org/apache/syncope/sra/filters/BodyPropertyAddingGatewayFilterFactory.java
index b537b26a8a..695f018c3a 100644
--- a/sra/src/test/java/org/apache/syncope/sra/filters/BodyPropertyAddingGatewayFilterFactory.java
+++ b/sra/src/test/java/org/apache/syncope/sra/filters/BodyPropertyAddingGatewayFilterFactory.java
@@ -126,7 +126,7 @@ public class BodyPropertyAddingGatewayFilterFactory extends CustomGatewayFilterF
}
if (compressed) {
- try ( ByteArrayOutputStream baos = new ByteArrayOutputStream(output.length); GZIPOutputStream gzipos =
+ try (ByteArrayOutputStream baos = new ByteArrayOutputStream(output.length); GZIPOutputStream gzipos =
new GZIPOutputStream(baos)) {
gzipos.write(output);