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.",