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 2017/08/19 13:20:41 UTC
syncope git commit: [SYNCOPE-938] Empowering defult methods
Repository: syncope
Updated Branches:
refs/heads/master ea6559c85 -> 5a1a1f061
[SYNCOPE-938] Empowering defult methods
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/5a1a1f06
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/5a1a1f06
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/5a1a1f06
Branch: refs/heads/master
Commit: 5a1a1f06164bb43d641c2cce9dd7dc954ac475f3
Parents: ea6559c
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Sat Aug 19 15:20:33 2017 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Sat Aug 19 15:20:33 2017 +0200
----------------------------------------------------------------------
.../init/ClassPathScanImplementationLookup.java | 2 +-
.../core/provisioning/api/LogicActions.java | 24 +++-
.../provisioning/api/data/ItemTransformer.java | 14 ++-
.../api/propagation/PropagationActions.java | 12 +-
.../api/pushpull/ProvisioningActions.java | 8 +-
.../provisioning/api/pushpull/PullActions.java | 71 +++++++----
.../provisioning/api/pushpull/PushActions.java | 70 ++++++++---
.../pushpull/ReconciliationFilterBuilder.java | 7 +-
.../provisioning/java/DefaultLogicActions.java | 57 ---------
.../java/data/DefaultItemTransformer.java | 47 -------
.../java/data/JEXLItemTransformerImpl.java | 14 +--
.../DBPasswordPropagationActions.java | 7 +-
.../propagation/DefaultPropagationActions.java | 45 -------
.../LDAPMembershipPropagationActions.java | 5 +-
.../LDAPPasswordPropagationActions.java | 7 +-
.../java/pushpull/DBPasswordPullActions.java | 3 +-
.../java/pushpull/DefaultPullActions.java | 125 -------------------
.../java/pushpull/DefaultPushActions.java | 100 ---------------
.../DefaultReconciliationFilterBuilder.java | 38 ------
.../java/pushpull/LDAPPasswordPullActions.java | 3 +-
.../java/pushpull/SchedulingPullActions.java | 3 +-
.../core/provisioning/api/SAML2IdPActions.java | 16 ++-
.../java/DefaultSAML2IdPActions.java | 48 -------
.../core/reference/DoubleValueLogicActions.java | 4 +-
.../core/reference/ITImplementationLookup.java | 4 -
.../core/reference/PrefixItemTransformer.java | 8 +-
.../fit/core/reference/TestPullActions.java | 4 +-
.../TestReconciliationFilterBuilder.java | 4 +-
28 files changed, 193 insertions(+), 557 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/logic/src/main/java/org/apache/syncope/core/logic/init/ClassPathScanImplementationLookup.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/init/ClassPathScanImplementationLookup.java b/core/logic/src/main/java/org/apache/syncope/core/logic/init/ClassPathScanImplementationLookup.java
index 2bc1eca..ebe1e5d 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/init/ClassPathScanImplementationLookup.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/init/ClassPathScanImplementationLookup.java
@@ -99,7 +99,7 @@ public class ClassPathScanImplementationLookup implements ImplementationLookup {
public void load() {
classNames = new EnumMap<>(Type.class);
for (Type type : Type.values()) {
- classNames.put(type, new HashSet<String>());
+ classNames.put(type, new HashSet<>());
}
jwtSSOProviderClasses = new HashSet<>();
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/LogicActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/LogicActions.java b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/LogicActions.java
index f70d7f1..2c152c6 100644
--- a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/LogicActions.java
+++ b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/LogicActions.java
@@ -26,15 +26,27 @@ import org.apache.syncope.common.lib.to.AnyTO;
*/
public interface LogicActions {
- <A extends AnyTO> A beforeCreate(A input);
+ default <A extends AnyTO> A beforeCreate(A input) {
+ return input;
+ }
- <A extends AnyTO> A afterCreate(A input);
+ default <A extends AnyTO> A afterCreate(A input) {
+ return input;
+ }
- <P extends AnyPatch> P beforeUpdate(P input);
+ default <P extends AnyPatch> P beforeUpdate(P input) {
+ return input;
+ }
- <A extends AnyTO> A afterUpdate(A input);
+ default <A extends AnyTO> A afterUpdate(A input) {
+ return input;
+ }
- <A extends AnyTO> A beforeDelete(A input);
+ default <A extends AnyTO> A beforeDelete(A input) {
+ return input;
+ }
- <A extends AnyTO> A afterDelete(A input);
+ default <A extends AnyTO> A afterDelete(A input) {
+ return input;
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/data/ItemTransformer.java
----------------------------------------------------------------------
diff --git a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/data/ItemTransformer.java b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/data/ItemTransformer.java
index 1ec16c3..4962d8f 100644
--- a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/data/ItemTransformer.java
+++ b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/data/ItemTransformer.java
@@ -40,10 +40,13 @@ public interface ItemTransformer {
* @param values original values
* @return transformed values
*/
- List<PlainAttrValue> beforePropagation(
+ default List<PlainAttrValue> beforePropagation(
Item item,
Entity entity,
- List<PlainAttrValue> values);
+ List<PlainAttrValue> values) {
+
+ return values;
+ }
/**
* Invoked while reading attribute values from external resource during pull.
@@ -53,8 +56,11 @@ public interface ItemTransformer {
* @param values original values
* @return transformed values
*/
- List<Object> beforePull(
+ default List<Object> beforePull(
Item item,
EntityTO entityTO,
- List<Object> values);
+ List<Object> values) {
+
+ return values;
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/propagation/PropagationActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/propagation/PropagationActions.java b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/propagation/PropagationActions.java
index cb6d643..d21edea 100644
--- a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/propagation/PropagationActions.java
+++ b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/propagation/PropagationActions.java
@@ -24,9 +24,15 @@ import org.identityconnectors.framework.common.objects.ConnectorObject;
public interface PropagationActions {
- void before(PropagationTask task, ConnectorObject beforeObj);
+ default void before(PropagationTask task, ConnectorObject beforeObj) {
+ // do nothing
+ }
- void onError(PropagationTask task, TaskExec execution, Exception error);
+ default void onError(PropagationTask task, TaskExec execution, Exception error) {
+ // do nothing
+ }
- void after(PropagationTask task, TaskExec execution, ConnectorObject afterObj);
+ default void after(PropagationTask task, TaskExec execution, ConnectorObject afterObj) {
+ // do nothing
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/ProvisioningActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/ProvisioningActions.java b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/ProvisioningActions.java
index 1470ac1..ff3a3e4 100644
--- a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/ProvisioningActions.java
+++ b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/ProvisioningActions.java
@@ -28,7 +28,9 @@ public interface ProvisioningActions {
* @param profile provisioning profile
* @throws JobExecutionException in case of generic failure
*/
- void beforeAll(final ProvisioningProfile<?, ?> profile) throws JobExecutionException;
+ default void beforeAll(final ProvisioningProfile<?, ?> profile) throws JobExecutionException {
+ // do nothing
+ }
/**
* Action to be executed after the provisioning (push / pull) task completion.
@@ -36,5 +38,7 @@ public interface ProvisioningActions {
* @param profile provisioning profile
* @throws JobExecutionException in case of generic failure
*/
- void afterAll(final ProvisioningProfile<?, ?> profile) throws JobExecutionException;
+ default void afterAll(final ProvisioningProfile<?, ?> profile) throws JobExecutionException {
+ // do nothing
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/PullActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/PullActions.java b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/PullActions.java
index b2907c4..2732ce7 100644
--- a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/PullActions.java
+++ b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/PullActions.java
@@ -41,10 +41,13 @@ public interface PullActions extends ProvisioningActions {
* @return pull information, possibly altered.
* @throws JobExecutionException in case of generic failure
*/
- SyncDelta beforeProvision(
+ default SyncDelta beforeProvision(
ProvisioningProfile<?, ?> profile,
SyncDelta delta,
- EntityTO entity) throws JobExecutionException;
+ EntityTO entity) throws JobExecutionException {
+
+ return delta;
+ }
/**
* Action to be executed before creating (and linking to the resource) a pulled entity locally.
@@ -57,10 +60,13 @@ public interface PullActions extends ProvisioningActions {
* @return pull information, possibly altered.
* @throws JobExecutionException in case of generic failure
*/
- SyncDelta beforeAssign(
+ default SyncDelta beforeAssign(
ProvisioningProfile<?, ?> profile,
SyncDelta delta,
- EntityTO entity) throws JobExecutionException;
+ EntityTO entity) throws JobExecutionException {
+
+ return delta;
+ }
/**
* Action to be executed before unlinking resource from the pulled entity and de-provisioning.
@@ -73,10 +79,13 @@ public interface PullActions extends ProvisioningActions {
* @return pull information, possibly altered.
* @throws JobExecutionException in case of generic failure
*/
- SyncDelta beforeUnassign(
+ default SyncDelta beforeUnassign(
ProvisioningProfile<?, ?> profile,
SyncDelta delta,
- EntityTO entity) throws JobExecutionException;
+ EntityTO entity) throws JobExecutionException {
+
+ return delta;
+ }
/**
* Action to be executed before de-provisioning action only.
@@ -89,10 +98,13 @@ public interface PullActions extends ProvisioningActions {
* @return pull information, possibly altered.
* @throws JobExecutionException in case of generic failure
*/
- SyncDelta beforeDeprovision(
+ default SyncDelta beforeDeprovision(
ProvisioningProfile<?, ?> profile,
SyncDelta delta,
- EntityTO entity) throws JobExecutionException;
+ EntityTO entity) throws JobExecutionException {
+
+ return delta;
+ }
/**
* Action to be executed before unlinking resource from the pulled entity.
@@ -105,10 +117,13 @@ public interface PullActions extends ProvisioningActions {
* @return pull information, possibly altered.
* @throws JobExecutionException in case of generic failure
*/
- SyncDelta beforeUnlink(
+ default SyncDelta beforeUnlink(
ProvisioningProfile<?, ?> profile,
SyncDelta delta,
- EntityTO entity) throws JobExecutionException;
+ EntityTO entity) throws JobExecutionException {
+
+ return delta;
+ }
/**
* Action to be executed before linking resource to the pulled entity.
@@ -121,10 +136,13 @@ public interface PullActions extends ProvisioningActions {
* @return pull information, possibly altered.
* @throws JobExecutionException in case of generic failure
*/
- SyncDelta beforeLink(
+ default SyncDelta beforeLink(
ProvisioningProfile<?, ?> profile,
SyncDelta delta,
- EntityTO entity) throws JobExecutionException;
+ EntityTO entity) throws JobExecutionException {
+
+ return delta;
+ }
/**
* Action to be executed before to update a pulled entity locally.
@@ -139,12 +157,14 @@ public interface PullActions extends ProvisioningActions {
* @return pull information used for logging and to be passed to the 'after' method.
* @throws JobExecutionException in case of generic failure.
*/
- <P extends AnyPatch> SyncDelta beforeUpdate(
+ default <P extends AnyPatch> SyncDelta beforeUpdate(
ProvisioningProfile<?, ?> profile,
SyncDelta delta,
EntityTO entityTO,
- P anyPatch)
- throws JobExecutionException;
+ P anyPatch) throws JobExecutionException {
+
+ return delta;
+ }
/**
* Action to be executed before to delete a pulled entity locally.
@@ -155,10 +175,13 @@ public interface PullActions extends ProvisioningActions {
* @return pull information used for logging and to be passed to the 'after' method.
* @throws JobExecutionException in case of generic failure
*/
- SyncDelta beforeDelete(
+ default SyncDelta beforeDelete(
ProvisioningProfile<?, ?> profile,
SyncDelta delta,
- EntityTO entity) throws JobExecutionException;
+ EntityTO entity) throws JobExecutionException {
+
+ return delta;
+ }
/**
* Action to be executed after each local entity pull.
@@ -170,11 +193,14 @@ public interface PullActions extends ProvisioningActions {
* @param result global pull results at the current pull step
* @throws JobExecutionException in case of generic failure
*/
- void after(
+ default void after(
ProvisioningProfile<?, ?> profile,
SyncDelta delta,
EntityTO entity,
- ProvisioningReport result) throws JobExecutionException;
+ ProvisioningReport result) throws JobExecutionException {
+
+ // do nothing
+ }
/**
* Action to be executed in case an exception is thrown during pull.
@@ -186,8 +212,11 @@ public interface PullActions extends ProvisioningActions {
* @return an instance of the given exception type is that is to be thrown; {@code NULL} otherwise
* @throws JobExecutionException in case of generic failure
*/
- IgnoreProvisionException onError(
+ default IgnoreProvisionException onError(
ProvisioningProfile<?, ?> profile,
SyncDelta delta,
- Exception e) throws JobExecutionException;
+ Exception e) throws JobExecutionException {
+
+ return null;
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/PushActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/PushActions.java b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/PushActions.java
index 592c18b..1642b0e 100644
--- a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/PushActions.java
+++ b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/PushActions.java
@@ -35,9 +35,12 @@ public interface PushActions extends ProvisioningActions {
* @return entity.
* @throws JobExecutionException in case of generic failure
*/
- Entity beforeAssign(
+ default Entity beforeAssign(
ProvisioningProfile<?, ?> profile,
- Entity entity) throws JobExecutionException;
+ Entity entity) throws JobExecutionException {
+
+ return entity;
+ }
/**
* Action to be executed before to provision a pushed entity to the resource.
@@ -47,9 +50,12 @@ public interface PushActions extends ProvisioningActions {
* @return entity.
* @throws JobExecutionException in case of generic failure
*/
- Entity beforeProvision(
+ default Entity beforeProvision(
ProvisioningProfile<?, ?> profile,
- Entity entity) throws JobExecutionException;
+ Entity entity) throws JobExecutionException {
+
+ return entity;
+ }
/**
* Action to be executed before to update a pushed entity on the resource.
@@ -59,9 +65,12 @@ public interface PushActions extends ProvisioningActions {
* @return entity.
* @throws JobExecutionException in case of generic failure
*/
- Entity beforeUpdate(
+ default Entity beforeUpdate(
ProvisioningProfile<?, ?> profile,
- Entity entity) throws JobExecutionException;
+ Entity entity) throws JobExecutionException {
+
+ return entity;
+ }
/**
* Action to be executed before to link a pushed entity to the resource.
@@ -71,9 +80,12 @@ public interface PushActions extends ProvisioningActions {
* @return entity.
* @throws JobExecutionException in case of generic failure
*/
- Entity beforeLink(
+ default Entity beforeLink(
ProvisioningProfile<?, ?> profile,
- Entity entity) throws JobExecutionException;
+ Entity entity) throws JobExecutionException {
+
+ return entity;
+ }
/**
* Action to be executed before to unlink a pushed entity from the resource.
@@ -83,9 +95,12 @@ public interface PushActions extends ProvisioningActions {
* @return entity.
* @throws JobExecutionException in case of generic failure
*/
- Entity beforeUnlink(
+ default Entity beforeUnlink(
ProvisioningProfile<?, ?> profile,
- Entity entity) throws JobExecutionException;
+ Entity entity) throws JobExecutionException {
+
+ return entity;
+ }
/**
* Action to be executed before to unassign a pushed entity from the resource.
@@ -95,9 +110,12 @@ public interface PushActions extends ProvisioningActions {
* @return entity.
* @throws JobExecutionException in case of generic failure
*/
- Entity beforeUnassign(
+ default Entity beforeUnassign(
ProvisioningProfile<?, ?> profile,
- Entity entity) throws JobExecutionException;
+ Entity entity) throws JobExecutionException {
+
+ return entity;
+ }
/**
* Action to be executed before to unassign a pushed entity from the resource.
@@ -107,9 +125,12 @@ public interface PushActions extends ProvisioningActions {
* @return entity.
* @throws JobExecutionException in case of generic failure
*/
- Entity beforeDeprovision(
+ default Entity beforeDeprovision(
ProvisioningProfile<?, ?> profile,
- Entity entity) throws JobExecutionException;
+ Entity entity) throws JobExecutionException {
+
+ return entity;
+ }
/**
* Action to be executed before delete a pushed entity locally and from the resource.
@@ -119,9 +140,12 @@ public interface PushActions extends ProvisioningActions {
* @return entity.
* @throws JobExecutionException in case of generic failure
*/
- Entity beforeDelete(
+ default Entity beforeDelete(
ProvisioningProfile<?, ?> profile,
- Entity entity) throws JobExecutionException;
+ Entity entity) throws JobExecutionException {
+
+ return entity;
+ }
/**
* Action to be executed after entity push goes on error.
@@ -132,11 +156,14 @@ public interface PushActions extends ProvisioningActions {
* @param error error being reported
* @throws JobExecutionException in case of generic failure
*/
- void onError(
+ default void onError(
ProvisioningProfile<?, ?> profile,
Entity entity,
ProvisioningReport result,
- Exception error) throws JobExecutionException;
+ Exception error) throws JobExecutionException {
+
+ // do nothing
+ }
/**
* Action to be executed after each local entity push.
@@ -146,8 +173,11 @@ public interface PushActions extends ProvisioningActions {
* @param result operation result.
* @throws JobExecutionException in case of generic failure
*/
- void after(
+ default void after(
ProvisioningProfile<?, ?> profile,
Entity entity,
- ProvisioningReport result) throws JobExecutionException;
+ ProvisioningReport result) throws JobExecutionException {
+
+ // do nothing
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/ReconciliationFilterBuilder.java
----------------------------------------------------------------------
diff --git a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/ReconciliationFilterBuilder.java b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/ReconciliationFilterBuilder.java
index 579e5ca..73dc332 100644
--- a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/ReconciliationFilterBuilder.java
+++ b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/ReconciliationFilterBuilder.java
@@ -19,6 +19,7 @@
package org.apache.syncope.core.provisioning.api.pushpull;
import org.identityconnectors.framework.common.objects.filter.Filter;
+import org.identityconnectors.framework.impl.api.local.operations.FilteredResultsHandler;
/**
* Interface to be implemented for performing filtered reconciliation of a
@@ -26,5 +27,9 @@ import org.identityconnectors.framework.common.objects.filter.Filter;
*/
public interface ReconciliationFilterBuilder {
- Filter build();
+ static final FilteredResultsHandler.PassThroughFilter PASS_THROUGH = new FilteredResultsHandler.PassThroughFilter();
+
+ default Filter build() {
+ return PASS_THROUGH;
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultLogicActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultLogicActions.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultLogicActions.java
deleted file mode 100644
index 7052c70..0000000
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultLogicActions.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.core.provisioning.java;
-
-import org.apache.syncope.common.lib.patch.AnyPatch;
-import org.apache.syncope.common.lib.to.AnyTO;
-import org.apache.syncope.core.provisioning.api.LogicActions;
-
-public class DefaultLogicActions implements LogicActions {
-
- @Override
- public <A extends AnyTO> A beforeCreate(final A input) {
- return input;
- }
-
- @Override
- public <A extends AnyTO> A afterCreate(final A input) {
- return input;
- }
-
- @Override
- public <P extends AnyPatch> P beforeUpdate(final P input) {
- return input;
- }
-
- @Override
- public <A extends AnyTO> A afterUpdate(final A input) {
- return input;
- }
-
- @Override
- public <A extends AnyTO> A beforeDelete(final A input) {
- return input;
- }
-
- @Override
- public <A extends AnyTO> A afterDelete(final A input) {
- return input;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/DefaultItemTransformer.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/DefaultItemTransformer.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/DefaultItemTransformer.java
deleted file mode 100644
index 230962a..0000000
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/DefaultItemTransformer.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.core.provisioning.java.data;
-
-import java.util.List;
-import org.apache.syncope.common.lib.to.EntityTO;
-import org.apache.syncope.core.persistence.api.entity.Entity;
-import org.apache.syncope.core.persistence.api.entity.PlainAttrValue;
-import org.apache.syncope.core.persistence.api.entity.resource.Item;
-import org.apache.syncope.core.provisioning.api.data.ItemTransformer;
-import org.springframework.transaction.annotation.Transactional;
-
-/**
- * Default (empty) implementation of {@link ItemTransformer}.
- */
-@Transactional(readOnly = true)
-public class DefaultItemTransformer implements ItemTransformer {
-
- @Override
- public List<PlainAttrValue> beforePropagation(
- final Item item, final Entity entity, final List<PlainAttrValue> values) {
-
- return values;
- }
-
- @Override
- public List<Object> beforePull(final Item item, final EntityTO entityTO, final List<Object> values) {
- return values;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java
index ae31618..91b4742 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java
@@ -32,7 +32,7 @@ import org.apache.syncope.core.persistence.api.entity.resource.Item;
import org.apache.syncope.core.provisioning.java.jexl.JexlUtils;
import org.apache.syncope.core.provisioning.api.data.JEXLItemTransformer;
-public class JEXLItemTransformerImpl extends DefaultItemTransformer implements JEXLItemTransformer {
+public class JEXLItemTransformerImpl implements JEXLItemTransformer {
private String propagationJEXL;
@@ -55,7 +55,7 @@ public class JEXLItemTransformerImpl extends DefaultItemTransformer implements J
final List<PlainAttrValue> values) {
if (StringUtils.isNotBlank(propagationJEXL) && values != null) {
- for (PlainAttrValue value : values) {
+ values.forEach(value -> {
JexlContext jexlContext = new MapContext();
if (entity != null) {
JexlUtils.addFieldsToContext(entity, jexlContext);
@@ -67,12 +67,12 @@ public class JEXLItemTransformerImpl extends DefaultItemTransformer implements J
jexlContext.set("value", value.getValueAsString());
value.setStringValue(JexlUtils.evaluate(propagationJEXL, jexlContext));
- }
+ });
return values;
}
- return super.beforePropagation(item, entity, values);
+ return values;
}
@Override
@@ -83,7 +83,7 @@ public class JEXLItemTransformerImpl extends DefaultItemTransformer implements J
if (StringUtils.isNotBlank(pullJEXL) && values != null) {
List<Object> newValues = new ArrayList<>(values.size());
- for (Object value : values) {
+ values.forEach(value -> {
JexlContext jexlContext = new MapContext();
jexlContext.set("value", value);
if (entityTO instanceof AnyTO) {
@@ -91,12 +91,12 @@ public class JEXLItemTransformerImpl extends DefaultItemTransformer implements J
} else {
newValues.add(JexlUtils.evaluate(pullJEXL, jexlContext));
}
- }
+ });
return newValues;
}
- return super.beforePull(item, entityTO, values);
+ return values;
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DBPasswordPropagationActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DBPasswordPropagationActions.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DBPasswordPropagationActions.java
index 88489aa..7d81f11 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DBPasswordPropagationActions.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DBPasswordPropagationActions.java
@@ -29,6 +29,7 @@ import org.apache.syncope.core.persistence.api.dao.UserDAO;
import org.apache.syncope.core.persistence.api.entity.ConnInstance;
import org.apache.syncope.core.persistence.api.entity.task.PropagationTask;
import org.apache.syncope.core.persistence.api.entity.user.User;
+import org.apache.syncope.core.provisioning.api.propagation.PropagationActions;
import org.apache.syncope.core.provisioning.api.propagation.PropagationTaskExecutor;
import org.identityconnectors.common.security.GuardedString;
import org.identityconnectors.framework.common.objects.Attribute;
@@ -44,7 +45,7 @@ import org.springframework.transaction.annotation.Transactional;
* added a password. The CipherAlgorithm associated with the password must match the password
* cipher algorithm property of the DB Connector.
*/
-public class DBPasswordPropagationActions extends DefaultPropagationActions {
+public class DBPasswordPropagationActions implements PropagationActions {
private static final String CLEARTEXT = "CLEARTEXT";
@@ -54,8 +55,6 @@ public class DBPasswordPropagationActions extends DefaultPropagationActions {
@Transactional(readOnly = true)
@Override
public void before(final PropagationTask task, final ConnectorObject beforeObj) {
- super.before(task, beforeObj);
-
if (AnyTypeKind.USER == task.getAnyTypeKind()) {
User user = userDAO.find(task.getEntityKey());
@@ -93,7 +92,7 @@ public class DBPasswordPropagationActions extends DefaultPropagationActions {
@Override
public boolean evaluate(final ConnConfProperty property) {
return "cipherAlgorithm".equals(property.getSchema().getName())
- && property.getValues() != null && !property.getValues().isEmpty();
+ && property.getValues() != null && !property.getValues().isEmpty();
}
});
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DefaultPropagationActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DefaultPropagationActions.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DefaultPropagationActions.java
deleted file mode 100644
index 157fdc1..0000000
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DefaultPropagationActions.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.core.provisioning.java.propagation;
-
-import org.apache.syncope.core.persistence.api.entity.task.PropagationTask;
-import org.apache.syncope.core.persistence.api.entity.task.TaskExec;
-import org.apache.syncope.core.provisioning.api.propagation.PropagationActions;
-import org.identityconnectors.framework.common.objects.ConnectorObject;
-
-/**
- * Default (empty) implementation of {@link PropagationActions}.
- */
-public abstract class DefaultPropagationActions implements PropagationActions {
-
- @Override
- public void before(final PropagationTask task, final ConnectorObject beforeObj) {
- // do nothing
- }
-
- @Override
- public void onError(final PropagationTask task, final TaskExec execution, final Exception error) {
- // do nothing
- }
-
- @Override
- public void after(final PropagationTask task, final TaskExec execution, final ConnectorObject afterObj) {
- // do nothing
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPMembershipPropagationActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPMembershipPropagationActions.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPMembershipPropagationActions.java
index c392db2..b3d05f4 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPMembershipPropagationActions.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPMembershipPropagationActions.java
@@ -34,6 +34,7 @@ import org.apache.syncope.core.provisioning.java.jexl.JexlUtils;
import org.apache.syncope.core.persistence.api.dao.AnyTypeDAO;
import org.apache.syncope.core.persistence.api.dao.GroupDAO;
import org.apache.syncope.core.persistence.api.entity.resource.Provision;
+import org.apache.syncope.core.provisioning.api.propagation.PropagationActions;
import org.identityconnectors.framework.common.objects.Attribute;
import org.identityconnectors.framework.common.objects.AttributeBuilder;
import org.identityconnectors.framework.common.objects.AttributeUtil;
@@ -49,7 +50,7 @@ import org.springframework.transaction.annotation.Transactional;
*
* @see org.apache.syncope.core.provisioning.java.pushpull.LDAPMembershipPullActions
*/
-public class LDAPMembershipPropagationActions extends DefaultPropagationActions {
+public class LDAPMembershipPropagationActions implements PropagationActions {
protected static final Logger LOG = LoggerFactory.getLogger(LDAPMembershipPropagationActions.class);
@@ -74,8 +75,6 @@ public class LDAPMembershipPropagationActions extends DefaultPropagationActions
@Transactional(readOnly = true)
@Override
public void before(final PropagationTask task, final ConnectorObject beforeObj) {
- super.before(task, beforeObj);
-
Provision provision = task.getResource().getProvision(anyTypeDAO.findGroup());
if (AnyTypeKind.USER == task.getAnyTypeKind()
&& provision != null && provision.getMapping() != null
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPPasswordPropagationActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPPasswordPropagationActions.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPPasswordPropagationActions.java
index 5d5c5b1..5dcdf98 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPPasswordPropagationActions.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPPasswordPropagationActions.java
@@ -29,6 +29,7 @@ import org.apache.syncope.core.persistence.api.dao.UserDAO;
import org.apache.syncope.core.persistence.api.entity.ConnInstance;
import org.apache.syncope.core.persistence.api.entity.task.PropagationTask;
import org.apache.syncope.core.persistence.api.entity.user.User;
+import org.apache.syncope.core.provisioning.api.propagation.PropagationActions;
import org.apache.syncope.core.provisioning.api.propagation.PropagationTaskExecutor;
import org.identityconnectors.common.security.GuardedString;
import org.identityconnectors.framework.common.objects.Attribute;
@@ -46,7 +47,7 @@ import org.springframework.transaction.annotation.Transactional;
* added a password. The CipherAlgorithm associated with the password must match the password
* hash algorithm property of the LDAP Connector.
*/
-public class LDAPPasswordPropagationActions extends DefaultPropagationActions {
+public class LDAPPasswordPropagationActions implements PropagationActions {
private static final String CLEARTEXT = "CLEARTEXT";
@@ -56,8 +57,6 @@ public class LDAPPasswordPropagationActions extends DefaultPropagationActions {
@Transactional(readOnly = true)
@Override
public void before(final PropagationTask task, final ConnectorObject beforeObj) {
- super.before(task, beforeObj);
-
if (AnyTypeKind.USER == task.getAnyTypeKind()) {
User user = userDAO.find(task.getEntityKey());
@@ -99,7 +98,7 @@ public class LDAPPasswordPropagationActions extends DefaultPropagationActions {
@Override
public boolean evaluate(final ConnConfProperty property) {
return "passwordHashAlgorithm".equals(property.getSchema().getName())
- && property.getValues() != null && !property.getValues().isEmpty();
+ && property.getValues() != null && !property.getValues().isEmpty();
}
});
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DBPasswordPullActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DBPasswordPullActions.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DBPasswordPullActions.java
index d5b2093..36b33f7 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DBPasswordPullActions.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DBPasswordPullActions.java
@@ -33,6 +33,7 @@ import org.apache.syncope.core.persistence.api.entity.user.User;
import org.apache.syncope.core.provisioning.api.Connector;
import org.apache.syncope.core.provisioning.api.pushpull.ProvisioningProfile;
import org.apache.syncope.core.provisioning.api.pushpull.ProvisioningReport;
+import org.apache.syncope.core.provisioning.api.pushpull.PullActions;
import org.identityconnectors.framework.common.objects.SyncDelta;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
@@ -45,7 +46,7 @@ import org.springframework.transaction.annotation.Transactional;
* import passwords from a Database backend, where the passwords are hashed according to the password cipher algorithm
* property of the (DB) Connector and HEX-encoded.
*/
-public class DBPasswordPullActions extends DefaultPullActions {
+public class DBPasswordPullActions implements PullActions {
private static final Logger LOG = LoggerFactory.getLogger(DBPasswordPullActions.class);
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultPullActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultPullActions.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultPullActions.java
deleted file mode 100644
index 9344835..0000000
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultPullActions.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.core.provisioning.java.pushpull;
-
-import org.apache.syncope.common.lib.patch.AnyPatch;
-import org.apache.syncope.common.lib.to.EntityTO;
-import org.apache.syncope.core.provisioning.api.pushpull.IgnoreProvisionException;
-import org.apache.syncope.core.provisioning.api.pushpull.ProvisioningProfile;
-import org.apache.syncope.core.provisioning.api.pushpull.ProvisioningReport;
-import org.identityconnectors.framework.common.objects.SyncDelta;
-import org.quartz.JobExecutionException;
-import org.apache.syncope.core.provisioning.api.pushpull.PullActions;
-
-/**
- * Default (empty) implementation of {@link PullActions}.
- */
-public abstract class DefaultPullActions implements PullActions {
-
- @Override
- public void beforeAll(final ProvisioningProfile<?, ?> profile) throws JobExecutionException {
- }
-
- @Override
- public <P extends AnyPatch> SyncDelta beforeUpdate(
- final ProvisioningProfile<?, ?> profile,
- final SyncDelta delta,
- final EntityTO entityTO,
- final P anyMod) throws JobExecutionException {
-
- return delta;
- }
-
- @Override
- public SyncDelta beforeDelete(
- final ProvisioningProfile<?, ?> profile, final SyncDelta delta, final EntityTO entity)
- throws JobExecutionException {
-
- return delta;
- }
-
- @Override
- public SyncDelta beforeAssign(
- final ProvisioningProfile<?, ?> profile, final SyncDelta delta, final EntityTO entity)
- throws JobExecutionException {
-
- return delta;
- }
-
- @Override
- public SyncDelta beforeProvision(
- final ProvisioningProfile<?, ?> profile, final SyncDelta delta, final EntityTO entity)
- throws JobExecutionException {
-
- return delta;
- }
-
- @Override
- public SyncDelta beforeLink(
- final ProvisioningProfile<?, ?> profile, final SyncDelta delta, final EntityTO entity)
- throws JobExecutionException {
-
- return delta;
- }
-
- @Override
- public SyncDelta beforeUnassign(
- final ProvisioningProfile<?, ?> profile, final SyncDelta delta, final EntityTO entity)
- throws JobExecutionException {
-
- return delta;
- }
-
- @Override
- public SyncDelta beforeDeprovision(
- final ProvisioningProfile<?, ?> profile, final SyncDelta delta, final EntityTO entity)
- throws JobExecutionException {
-
- return delta;
- }
-
- @Override
- public SyncDelta beforeUnlink(
- final ProvisioningProfile<?, ?> profile, final SyncDelta delta, final EntityTO entity)
- throws JobExecutionException {
-
- return delta;
- }
-
- @Override
- public void after(
- final ProvisioningProfile<?, ?> profile, final SyncDelta delta, final EntityTO entity,
- final ProvisioningReport result)
- throws JobExecutionException {
- }
-
- @Override
- public IgnoreProvisionException onError(
- final ProvisioningProfile<?, ?> profile,
- final SyncDelta delta,
- final Exception e) throws JobExecutionException {
-
- return null;
- }
-
- @Override
- public void afterAll(final ProvisioningProfile<?, ?> profile)
- throws JobExecutionException {
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultPushActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultPushActions.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultPushActions.java
deleted file mode 100644
index eea4980..0000000
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultPushActions.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.core.provisioning.java.pushpull;
-
-import org.apache.syncope.core.persistence.api.entity.Entity;
-import org.apache.syncope.core.provisioning.api.pushpull.PushActions;
-import org.apache.syncope.core.provisioning.api.pushpull.ProvisioningProfile;
-import org.apache.syncope.core.provisioning.api.pushpull.ProvisioningReport;
-import org.quartz.JobExecutionException;
-
-/**
- * Default (empty) implementation of PushActions.
- */
-public abstract class DefaultPushActions implements PushActions {
-
- @Override
- public void beforeAll(final ProvisioningProfile<?, ?> profile) throws JobExecutionException {
- }
-
- @Override
- public Entity beforeAssign(final ProvisioningProfile<?, ?> profile, final Entity entity)
- throws JobExecutionException {
-
- return entity;
- }
-
- @Override
- public Entity beforeProvision(final ProvisioningProfile<?, ?> profile, final Entity entity)
- throws JobExecutionException {
-
- return entity;
- }
-
- @Override
- public Entity beforeLink(final ProvisioningProfile<?, ?> profile, final Entity entity)
- throws JobExecutionException {
-
- return entity;
- }
-
- @Override
- public Entity beforeUnassign(final ProvisioningProfile<?, ?> profile, final Entity entity)
- throws JobExecutionException {
-
- return entity;
- }
-
- @Override
- public Entity beforeDeprovision(final ProvisioningProfile<?, ?> profile, final Entity entity)
- throws JobExecutionException {
-
- return entity;
- }
-
- @Override
- public Entity beforeUnlink(final ProvisioningProfile<?, ?> profile, final Entity entity)
- throws JobExecutionException {
-
- return entity;
- }
-
- @Override
- public void onError(
- final ProvisioningProfile<?, ?> profile, final Entity entity, final ProvisioningReport result,
- final Exception error) throws JobExecutionException {
-
- // do nothing
- }
-
- @Override
- public void after(
- final ProvisioningProfile<?, ?> profile, final Entity entity, final ProvisioningReport result)
- throws JobExecutionException {
-
- // do nothing
- }
-
- @Override
- public void afterAll(final ProvisioningProfile<?, ?> profile)
- throws JobExecutionException {
-
- // do nothing
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultReconciliationFilterBuilder.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultReconciliationFilterBuilder.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultReconciliationFilterBuilder.java
deleted file mode 100644
index c46c0fb..0000000
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultReconciliationFilterBuilder.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.core.provisioning.java.pushpull;
-
-import static org.identityconnectors.framework.impl.api.local.operations.FilteredResultsHandler.PassThroughFilter;
-
-import org.identityconnectors.framework.common.objects.filter.Filter;
-import org.apache.syncope.core.provisioning.api.pushpull.ReconciliationFilterBuilder;
-
-/**
- * Default (pass-through) implementation of {@link ReconciliationFilterBuilder}.
- */
-public abstract class DefaultReconciliationFilterBuilder implements ReconciliationFilterBuilder {
-
- private static final PassThroughFilter PASS_THROUGH = new PassThroughFilter();
-
- @Override
- public Filter build() {
- return PASS_THROUGH;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPPasswordPullActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPPasswordPullActions.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPPasswordPullActions.java
index f11a20e..8a9f1da 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPPasswordPullActions.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPPasswordPullActions.java
@@ -28,6 +28,7 @@ import org.apache.syncope.core.persistence.api.dao.UserDAO;
import org.apache.syncope.core.persistence.api.entity.user.User;
import org.apache.syncope.core.provisioning.api.pushpull.ProvisioningProfile;
import org.apache.syncope.core.provisioning.api.pushpull.ProvisioningReport;
+import org.apache.syncope.core.provisioning.api.pushpull.PullActions;
import org.identityconnectors.framework.common.objects.SyncDelta;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
@@ -41,7 +42,7 @@ import org.springframework.transaction.annotation.Transactional;
* A {@link org.apache.syncope.core.provisioning.api.pushpull.PullActions} implementation which allows the ability to
* import passwords from an LDAP backend that are hashed.
*/
-public class LDAPPasswordPullActions extends DefaultPullActions {
+public class LDAPPasswordPullActions implements PullActions {
protected static final Logger LOG = LoggerFactory.getLogger(LDAPPasswordPullActions.class);
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/SchedulingPullActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/SchedulingPullActions.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/SchedulingPullActions.java
index 841b226..5daa7e0 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/SchedulingPullActions.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/SchedulingPullActions.java
@@ -22,6 +22,7 @@ import java.util.Map;
import java.util.UUID;
import org.apache.syncope.core.provisioning.api.job.JobManager;
import org.apache.syncope.core.provisioning.api.job.JobNamer;
+import org.apache.syncope.core.provisioning.api.pushpull.PullActions;
import org.apache.syncope.core.spring.ApplicationContextProvider;
import org.apache.syncope.core.spring.security.AuthContextUtils;
import org.quartz.Job;
@@ -40,7 +41,7 @@ import org.springframework.scheduling.quartz.SchedulerFactoryBean;
*
* @see LDAPMembershipPullActions for a concrete example
*/
-public abstract class SchedulingPullActions extends DefaultPullActions {
+public abstract class SchedulingPullActions implements PullActions {
@Autowired
protected SchedulerFactoryBean scheduler;
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/ext/saml2sp/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/SAML2IdPActions.java
----------------------------------------------------------------------
diff --git a/ext/saml2sp/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/SAML2IdPActions.java b/ext/saml2sp/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/SAML2IdPActions.java
index 6f23804..d8ec455 100644
--- a/ext/saml2sp/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/SAML2IdPActions.java
+++ b/ext/saml2sp/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/SAML2IdPActions.java
@@ -24,11 +24,19 @@ import org.apache.syncope.common.lib.to.UserTO;
public interface SAML2IdPActions {
- UserTO beforeCreate(UserTO input, SAML2LoginResponseTO loginResponse);
+ default UserTO beforeCreate(UserTO input, SAML2LoginResponseTO loginResponse) {
+ return input;
+ }
- UserTO afterCreate(UserTO input, SAML2LoginResponseTO loginResponse);
+ default UserTO afterCreate(UserTO input, SAML2LoginResponseTO loginResponse) {
+ return input;
+ }
- UserPatch beforeUpdate(UserPatch input, SAML2LoginResponseTO loginResponse);
+ default UserPatch beforeUpdate(UserPatch input, SAML2LoginResponseTO loginResponse) {
+ return input;
+ }
- UserTO afterUpdate(UserTO input, SAML2LoginResponseTO loginResponse);
+ default UserTO afterUpdate(UserTO input, SAML2LoginResponseTO loginResponse) {
+ return input;
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/ext/saml2sp/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultSAML2IdPActions.java
----------------------------------------------------------------------
diff --git a/ext/saml2sp/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultSAML2IdPActions.java b/ext/saml2sp/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultSAML2IdPActions.java
deleted file mode 100644
index ba5fc40..0000000
--- a/ext/saml2sp/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultSAML2IdPActions.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.core.provisioning.java;
-
-import org.apache.syncope.common.lib.patch.UserPatch;
-import org.apache.syncope.common.lib.to.SAML2LoginResponseTO;
-import org.apache.syncope.common.lib.to.UserTO;
-import org.apache.syncope.core.provisioning.api.SAML2IdPActions;
-
-public class DefaultSAML2IdPActions implements SAML2IdPActions {
-
- @Override
- public UserTO beforeCreate(final UserTO input, final SAML2LoginResponseTO loginResponse) {
- return input;
- }
-
- @Override
- public UserTO afterCreate(final UserTO input, final SAML2LoginResponseTO loginResponse) {
- return input;
- }
-
- @Override
- public UserPatch beforeUpdate(final UserPatch input, final SAML2LoginResponseTO loginResponse) {
- return input;
- }
-
- @Override
- public UserTO afterUpdate(final UserTO input, final SAML2LoginResponseTO loginResponse) {
- return input;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/DoubleValueLogicActions.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/DoubleValueLogicActions.java b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/DoubleValueLogicActions.java
index 2ae268e..6c79367 100644
--- a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/DoubleValueLogicActions.java
+++ b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/DoubleValueLogicActions.java
@@ -24,12 +24,12 @@ import org.apache.syncope.common.lib.patch.AnyPatch;
import org.apache.syncope.common.lib.patch.AttrPatch;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.AttrTO;
-import org.apache.syncope.core.provisioning.java.DefaultLogicActions;
+import org.apache.syncope.core.provisioning.api.LogicActions;
/**
* Class for integration tests: transform (by making it double) any attribute value for defined schema.
*/
-public class DoubleValueLogicActions extends DefaultLogicActions {
+public class DoubleValueLogicActions implements LogicActions {
private static final String NAME = "makeItDouble";
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/ITImplementationLookup.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/ITImplementationLookup.java b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/ITImplementationLookup.java
index 4209734..32b3357 100644
--- a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/ITImplementationLookup.java
+++ b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/ITImplementationLookup.java
@@ -52,8 +52,6 @@ import org.apache.syncope.core.persistence.jpa.attrvalue.validation.BasicValidat
import org.apache.syncope.core.persistence.jpa.attrvalue.validation.EmailAddressValidator;
import org.apache.syncope.core.persistence.jpa.dao.DefaultAccountRule;
import org.apache.syncope.core.persistence.jpa.dao.DefaultPasswordRule;
-import org.apache.syncope.core.provisioning.java.DefaultLogicActions;
-import org.apache.syncope.core.provisioning.java.data.DefaultItemTransformer;
import org.apache.syncope.core.provisioning.java.propagation.DBPasswordPropagationActions;
import org.apache.syncope.core.provisioning.java.propagation.LDAPMembershipPropagationActions;
import org.apache.syncope.core.provisioning.java.propagation.LDAPPasswordPropagationActions;
@@ -100,7 +98,6 @@ public class ITImplementationLookup implements ImplementationLookup {
classNames = new HashSet<>();
classNames.add(PrefixItemTransformer.class.getName());
- classNames.add(DefaultItemTransformer.class.getName());
put(Type.ITEM_TRANSFORMER, classNames);
classNames = new HashSet<>();
@@ -113,7 +110,6 @@ public class ITImplementationLookup implements ImplementationLookup {
classNames = new HashSet<>();
classNames.add(DoubleValueLogicActions.class.getName());
- classNames.add(DefaultLogicActions.class.getName());
put(Type.LOGIC_ACTIONS, classNames);
classNames = new HashSet<>();
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/PrefixItemTransformer.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/PrefixItemTransformer.java b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/PrefixItemTransformer.java
index 80a386e..07f7968 100644
--- a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/PrefixItemTransformer.java
+++ b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/PrefixItemTransformer.java
@@ -25,9 +25,9 @@ import org.apache.syncope.common.lib.to.EntityTO;
import org.apache.syncope.core.persistence.api.entity.Entity;
import org.apache.syncope.core.persistence.api.entity.PlainAttrValue;
import org.apache.syncope.core.persistence.api.entity.resource.Item;
-import org.apache.syncope.core.provisioning.java.data.DefaultItemTransformer;
+import org.apache.syncope.core.provisioning.api.data.ItemTransformer;
-public class PrefixItemTransformer extends DefaultItemTransformer {
+public class PrefixItemTransformer implements ItemTransformer {
public static final String PREFIX = "PREFIX_";
@@ -38,7 +38,7 @@ public class PrefixItemTransformer extends DefaultItemTransformer {
final List<PlainAttrValue> values) {
if (values == null || values.isEmpty() || values.get(0).getStringValue() == null) {
- return super.beforePropagation(item, entity, values);
+ return values;
} else {
String value = values.get(0).getStringValue();
values.get(0).setStringValue(PREFIX + value);
@@ -54,7 +54,7 @@ public class PrefixItemTransformer extends DefaultItemTransformer {
final List<Object> values) {
if (values == null || values.isEmpty() || values.get(0) == null) {
- return super.beforePull(item, entityTO, values);
+ return values;
} else {
List<Object> newValues = new ArrayList<>(values);
newValues.set(0, StringUtils.substringAfter(values.get(0).toString(), PREFIX));
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestPullActions.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestPullActions.java b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestPullActions.java
index 72fa798..fb48c9b 100644
--- a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestPullActions.java
+++ b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestPullActions.java
@@ -28,14 +28,14 @@ import org.apache.syncope.common.lib.to.UserTO;
import org.apache.syncope.common.lib.types.PatchOperation;
import org.apache.syncope.core.provisioning.api.pushpull.IgnoreProvisionException;
import org.apache.syncope.core.provisioning.api.pushpull.ProvisioningProfile;
-import org.apache.syncope.core.provisioning.java.pushpull.DefaultPullActions;
+import org.apache.syncope.core.provisioning.api.pushpull.PullActions;
import org.identityconnectors.framework.common.objects.SyncDelta;
import org.quartz.JobExecutionException;
/**
* Test pull action.
*/
-public class TestPullActions extends DefaultPullActions {
+public class TestPullActions implements PullActions {
private int counter;
http://git-wip-us.apache.org/repos/asf/syncope/blob/5a1a1f06/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestReconciliationFilterBuilder.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestReconciliationFilterBuilder.java b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestReconciliationFilterBuilder.java
index 05beee2..2c392ec 100644
--- a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestReconciliationFilterBuilder.java
+++ b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestReconciliationFilterBuilder.java
@@ -18,12 +18,12 @@
*/
package org.apache.syncope.fit.core.reference;
-import org.apache.syncope.core.provisioning.java.pushpull.DefaultReconciliationFilterBuilder;
+import org.apache.syncope.core.provisioning.api.pushpull.ReconciliationFilterBuilder;
import org.identityconnectors.framework.common.objects.AttributeBuilder;
import org.identityconnectors.framework.common.objects.filter.Filter;
import org.identityconnectors.framework.common.objects.filter.FilterBuilder;
-public class TestReconciliationFilterBuilder extends DefaultReconciliationFilterBuilder {
+public class TestReconciliationFilterBuilder implements ReconciliationFilterBuilder {
private static final Filter EQUALS = FilterBuilder.equalTo(AttributeBuilder.build("SURNAME", "Rossi"));