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 2015/11/10 19:04:01 UTC

[2/4] syncope git commit: [SYNCOPE-729] Not considering CREATE or UPDATE but only SEARCH during getObject

[SYNCOPE-729] Not considering CREATE or UPDATE but only SEARCH during getObject


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/c6e00812
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/c6e00812
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/c6e00812

Branch: refs/heads/master
Commit: c6e008125fb08e9b939acb73e233742ad0c3824f
Parents: 573a4e3
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Tue Nov 10 18:54:51 2015 +0100
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Tue Nov 10 18:54:51 2015 +0100

----------------------------------------------------------------------
 .../syncope/core/propagation/Connector.java     | 15 -------
 .../impl/AbstractPropagationTaskExecutor.java   |  3 +-
 .../propagation/impl/ConnectorFacadeProxy.java  | 41 ++------------------
 3 files changed, 5 insertions(+), 54 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/c6e00812/core/src/main/java/org/apache/syncope/core/propagation/Connector.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/syncope/core/propagation/Connector.java b/core/src/main/java/org/apache/syncope/core/propagation/Connector.java
index c182fe3..869d7d6 100644
--- a/core/src/main/java/org/apache/syncope/core/propagation/Connector.java
+++ b/core/src/main/java/org/apache/syncope/core/propagation/Connector.java
@@ -22,7 +22,6 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Set;
 import org.apache.syncope.common.types.PropagationMode;
-import org.apache.syncope.common.types.ResourceOperation;
 import org.apache.syncope.core.persistence.beans.AbstractMappingItem;
 import org.apache.syncope.core.persistence.beans.ConnInstance;
 import org.identityconnectors.framework.common.objects.Attribute;
@@ -119,20 +118,6 @@ public interface Connector {
     ConnectorObject getObject(ObjectClass objectClass, Uid uid, OperationOptions options);
 
     /**
-     * Get remote object used by the propagation manager in order to choose for a create (object doesn't exist) or an
-     * update (object exists).
-     *
-     * @param propagationMode propagation mode
-     * @param operationType resource operation type
-     * @param objectClass ConnId's object class
-     * @param uid ConnId's Uid
-     * @param options ConnId's OperationOptions
-     * @return ConnId's connector object for given uid
-     */
-    ConnectorObject getObject(PropagationMode propagationMode, ResourceOperation operationType, ObjectClass objectClass,
-            Uid uid, OperationOptions options);
-
-    /**
      * Search for remote objects.
      *
      * @param objectClass ConnId's object class

http://git-wip-us.apache.org/repos/asf/syncope/blob/c6e00812/core/src/main/java/org/apache/syncope/core/propagation/impl/AbstractPropagationTaskExecutor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/syncope/core/propagation/impl/AbstractPropagationTaskExecutor.java b/core/src/main/java/org/apache/syncope/core/propagation/impl/AbstractPropagationTaskExecutor.java
index ac31ec4..54b7084 100644
--- a/core/src/main/java/org/apache/syncope/core/propagation/impl/AbstractPropagationTaskExecutor.java
+++ b/core/src/main/java/org/apache/syncope/core/propagation/impl/AbstractPropagationTaskExecutor.java
@@ -491,8 +491,7 @@ public abstract class AbstractPropagationTaskExecutor implements PropagationTask
 
         ConnectorObject obj = null;
         try {
-            obj = connector.getObject(task.getPropagationMode(),
-                    task.getPropagationOperation(),
+            obj = connector.getObject(
                     new ObjectClass(task.getObjectClassName()),
                     new Uid(accountId),
                     connector.getOperationOptions(AttributableUtil.getInstance(task.getSubjectType()).

http://git-wip-us.apache.org/repos/asf/syncope/blob/c6e00812/core/src/main/java/org/apache/syncope/core/propagation/impl/ConnectorFacadeProxy.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/syncope/core/propagation/impl/ConnectorFacadeProxy.java b/core/src/main/java/org/apache/syncope/core/propagation/impl/ConnectorFacadeProxy.java
index 980a3df..fb3c872 100644
--- a/core/src/main/java/org/apache/syncope/core/propagation/impl/ConnectorFacadeProxy.java
+++ b/core/src/main/java/org/apache/syncope/core/propagation/impl/ConnectorFacadeProxy.java
@@ -30,7 +30,6 @@ import java.util.concurrent.TimeUnit;
 import org.apache.syncope.common.types.ConnConfProperty;
 import org.apache.syncope.common.types.ConnectorCapability;
 import org.apache.syncope.common.types.PropagationMode;
-import org.apache.syncope.common.types.ResourceOperation;
 import org.apache.syncope.core.connid.ConnPoolConfUtil;
 import org.apache.syncope.core.persistence.beans.AbstractMappingItem;
 import org.apache.syncope.core.persistence.beans.ConnInstance;
@@ -305,44 +304,10 @@ public class ConnectorFacadeProxy implements Connector {
 
     @Override
     public ConnectorObject getObject(final ObjectClass objectClass, final Uid uid, final OperationOptions options) {
-        return getObject(null, null, objectClass, uid, options);
-    }
-
-    @Override
-    public ConnectorObject getObject(final PropagationMode propagationMode, final ResourceOperation operationType,
-            final ObjectClass objectClass, final Uid uid, final OperationOptions options) {
-
         Future<ConnectorObject> future = null;
 
         if (activeConnInstance.getCapabilities().contains(ConnectorCapability.SEARCH)) {
-            if (operationType == null) {
-                future = asyncFacade.getObject(connector, objectClass, uid, options);
-            } else {
-                switch (operationType) {
-                    case CREATE:
-                        if (propagationMode == null || (propagationMode == PropagationMode.ONE_PHASE
-                                ? activeConnInstance.getCapabilities().
-                                contains(ConnectorCapability.ONE_PHASE_CREATE)
-                                : activeConnInstance.getCapabilities().
-                                contains(ConnectorCapability.TWO_PHASES_CREATE))) {
-
-                            future = asyncFacade.getObject(connector, objectClass, uid, options);
-                        }
-                        break;
-                    case UPDATE:
-                        if (propagationMode == null || (propagationMode == PropagationMode.ONE_PHASE
-                                ? activeConnInstance.getCapabilities().
-                                contains(ConnectorCapability.ONE_PHASE_UPDATE)
-                                : activeConnInstance.getCapabilities().
-                                contains(ConnectorCapability.TWO_PHASES_UPDATE))) {
-
-                            future = asyncFacade.getObject(connector, objectClass, uid, options);
-                        }
-                        break;
-                    default:
-                        future = asyncFacade.getObject(connector, objectClass, uid, options);
-                }
-            }
+            future = asyncFacade.getObject(connector, objectClass, uid, options);
         } else {
             LOG.info("Search was attempted, although the connector only has these capabilities: {}. No action.",
                     activeConnInstance.getCapabilities());
@@ -351,7 +316,9 @@ public class ConnectorFacadeProxy implements Connector {
         try {
             return future == null ? null : future.get(activeConnInstance.getConnRequestTimeout(), TimeUnit.SECONDS);
         } catch (java.util.concurrent.TimeoutException e) {
-            future.cancel(true);
+            if (future != null) {
+                future.cancel(true);
+            }
             throw new TimeoutException("Request timeout");
         } catch (Exception e) {
             LOG.error("Connector request execution failure", e);