You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by fm...@apache.org on 2013/01/23 14:22:00 UTC

svn commit: r1437379 - in /syncope/branches/1_0_X/core/src/main/java/org/apache/syncope/core/propagation: AsyncConnectorFacade.java ConnectorFacadeProxy.java

Author: fmartelli
Date: Wed Jan 23 13:22:00 2013
New Revision: 1437379

URL: http://svn.apache.org/viewvc?rev=1437379&view=rev
Log:
SYNCOPE-279 - sync and getAllObjects mustn't be executed asynchronously

Modified:
    syncope/branches/1_0_X/core/src/main/java/org/apache/syncope/core/propagation/AsyncConnectorFacade.java
    syncope/branches/1_0_X/core/src/main/java/org/apache/syncope/core/propagation/ConnectorFacadeProxy.java

Modified: syncope/branches/1_0_X/core/src/main/java/org/apache/syncope/core/propagation/AsyncConnectorFacade.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_0_X/core/src/main/java/org/apache/syncope/core/propagation/AsyncConnectorFacade.java?rev=1437379&r1=1437378&r2=1437379&view=diff
==============================================================================
--- syncope/branches/1_0_X/core/src/main/java/org/apache/syncope/core/propagation/AsyncConnectorFacade.java (original)
+++ syncope/branches/1_0_X/core/src/main/java/org/apache/syncope/core/propagation/AsyncConnectorFacade.java Wed Jan 23 13:22:00 2013
@@ -30,11 +30,7 @@ import org.identityconnectors.framework.
 import org.identityconnectors.framework.common.objects.ObjectClassInfo;
 import org.identityconnectors.framework.common.objects.OperationOptions;
 import org.identityconnectors.framework.common.objects.OperationalAttributes;
-import org.identityconnectors.framework.common.objects.ResultsHandler;
 import org.identityconnectors.framework.common.objects.Schema;
-import org.identityconnectors.framework.common.objects.SyncDeltaBuilder;
-import org.identityconnectors.framework.common.objects.SyncDeltaType;
-import org.identityconnectors.framework.common.objects.SyncResultsHandler;
 import org.identityconnectors.framework.common.objects.SyncToken;
 import org.identityconnectors.framework.common.objects.Uid;
 import org.slf4j.Logger;
@@ -86,17 +82,6 @@ public class AsyncConnectorFacade {
     }
 
     @Async
-    public Future<SyncResultsHandler> sync(
-            final ConnectorFacade connector,
-            final SyncToken token,
-            final SyncResultsHandler handler,
-            final OperationOptions options) {
-
-        connector.sync(ObjectClass.ACCOUNT, token, handler, options);
-        return new AsyncResult<SyncResultsHandler>(handler);
-    }
-
-    @Async
     public Future<SyncToken> getLatestSyncToken(
             final ConnectorFacade connector) {
 
@@ -114,30 +99,6 @@ public class AsyncConnectorFacade {
     }
 
     @Async
-    public Future<SyncResultsHandler> getAllObjects(
-            final ConnectorFacade connector,
-            final ObjectClass objectClass,
-            final SyncResultsHandler handler,
-            final OperationOptions options) {
-
-        connector.search(objectClass, null, new ResultsHandler() {
-
-            @Override
-            public boolean handle(final ConnectorObject obj) {
-                final SyncDeltaBuilder bld = new SyncDeltaBuilder();
-                bld.setObject(obj);
-                bld.setUid(obj.getUid());
-                bld.setDeltaType(SyncDeltaType.CREATE_OR_UPDATE);
-                bld.setToken(new SyncToken(""));
-
-                return handler.handle(bld.build());
-            }
-        }, options);
-
-        return new AsyncResult<SyncResultsHandler>(handler);
-    }
-
-    @Async
     public Future<Attribute> getObjectAttribute(
             final ConnectorFacade connector,
             final ObjectClass objectClass,

Modified: syncope/branches/1_0_X/core/src/main/java/org/apache/syncope/core/propagation/ConnectorFacadeProxy.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_0_X/core/src/main/java/org/apache/syncope/core/propagation/ConnectorFacadeProxy.java?rev=1437379&r1=1437378&r2=1437379&view=diff
==============================================================================
--- syncope/branches/1_0_X/core/src/main/java/org/apache/syncope/core/propagation/ConnectorFacadeProxy.java (original)
+++ syncope/branches/1_0_X/core/src/main/java/org/apache/syncope/core/propagation/ConnectorFacadeProxy.java Wed Jan 23 13:22:00 2013
@@ -53,6 +53,9 @@ import org.identityconnectors.framework.
 import org.identityconnectors.framework.common.objects.OperationOptions;
 import org.identityconnectors.framework.common.objects.OperationOptionsBuilder;
 import org.identityconnectors.framework.common.objects.OperationalAttributes;
+import org.identityconnectors.framework.common.objects.ResultsHandler;
+import org.identityconnectors.framework.common.objects.SyncDeltaBuilder;
+import org.identityconnectors.framework.common.objects.SyncDeltaType;
 import org.identityconnectors.framework.common.objects.SyncResultsHandler;
 import org.identityconnectors.framework.common.objects.SyncToken;
 import org.identityconnectors.framework.common.objects.Uid;
@@ -320,21 +323,7 @@ public class ConnectorFacadeProxy {
     public void sync(final SyncToken token, final SyncResultsHandler handler, final OperationOptions options) {
 
         if (activeConnInstance.getCapabilities().contains(ConnectorCapability.SYNC)) {
-            final Future<SyncResultsHandler> future =
-                    asyncFacade.sync(connector, token, handler, options);
-
-            try {
-                // no timeout
-                future.get();
-            } catch (Exception e) {
-                LOG.error("Connector request execution failure", e);
-                if (e.getCause() instanceof RuntimeException) {
-                    throw (RuntimeException) e.getCause();
-                } else {
-                    throw new IllegalArgumentException(e.getCause());
-                }
-            }
-
+            connector.sync(ObjectClass.ACCOUNT, token, handler, options);
         } else {
             LOG.info("Sync was attempted, although the connector only has these capabilities: {}. No action.",
                     activeConnInstance.getCapabilities());
@@ -459,19 +448,19 @@ public class ConnectorFacadeProxy {
             final OperationOptions options) {
 
         if (activeConnInstance.getCapabilities().contains(ConnectorCapability.SEARCH)) {
-            final Future<SyncResultsHandler> future = asyncFacade.getAllObjects(connector, objectClass, handler, options);
+            connector.search(objectClass, null, new ResultsHandler() {
 
-            try {
-                // no timeout
-                future.get();
-            } catch (Exception e) {
-                LOG.error("Connector request execution failure", e);
-                if (e.getCause() instanceof RuntimeException) {
-                    throw (RuntimeException) e.getCause();
-                } else {
-                    throw new IllegalArgumentException(e.getCause());
+                @Override
+                public boolean handle(final ConnectorObject obj) {
+                    final SyncDeltaBuilder bld = new SyncDeltaBuilder();
+                    bld.setObject(obj);
+                    bld.setUid(obj.getUid());
+                    bld.setDeltaType(SyncDeltaType.CREATE_OR_UPDATE);
+                    bld.setToken(new SyncToken(""));
+
+                    return handler.handle(bld.build());
                 }
-            }
+            }, options);
 
         } else {
             LOG.info("Search was attempted, although the connector only has these capabilities: {}. No action.",