Fixes to replication job status handling:

- success, error and cancelled states now correctly reported
- source and target reports now correctly provided for each of above

Changes:
- deprecated TransferService interface, replaced by TransferService2
  - introduces new sync transfer methods
  - new TransferServiceImpl2 class, old TransferServiceImpl delegates to new class
- sync transfer now returns TransferEndEvent
- sync transfer now raises TransferFailureException
- success, error and cancelled events are now end events (raised after report events)
- transfer client handling refactored to support cancel and errors appropriately
  - converted to event loop with polling of server status for all states
  - cancel request may now end with success or error (depending on when cancel requested)
  - extract transfer errors from server
  - only raise exception for errors (cancelled now returns)
  - source and destination reports written for all states
- Added TransferEndEvent interface for end events - reports attached to end event
- replication service fixed to record source and dest reports in error case
- action service fixed to record cancelled state

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@22390 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
David Caruana
2010-09-10 14:00:05 +00:00
parent 82955f3ae2
commit 35b2b7a122
25 changed files with 2176 additions and 1492 deletions

View File

@@ -23,11 +23,8 @@ import java.util.List;
import org.alfresco.service.cmr.action.ActionService;
import org.alfresco.service.cmr.action.scheduled.ScheduledPersistedAction;
import org.alfresco.service.cmr.action.scheduled.ScheduledPersistedActionService;
import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.replication.ReplicationDefinition;
import org.alfresco.service.cmr.replication.ReplicationService;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.transfer.TransferService;
import org.alfresco.util.GUID;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -40,9 +37,6 @@ public class ReplicationServiceImpl implements ReplicationService, ReplicationDe
private static final Log log = LogFactory.getLog(ReplicationServiceImpl.class);
private ActionService actionService;
private DictionaryService dictionaryService;
private TransferService transferService;
private NodeService nodeService;
private ScheduledPersistedActionService scheduledPersistedActionService;
private ReplicationDefinitionPersisterImpl replicationDefinitionPersister;
@@ -56,24 +50,6 @@ public class ReplicationServiceImpl implements ReplicationService, ReplicationDe
this.replicationDefinitionPersister = replicationDefinitionPersister;
}
/**
* Injects the TransferService bean
* @param transferService
*/
public void setTransferService(TransferService transferService)
{
this.transferService = transferService;
}
/**
* Injects the NodeService bean.
* @param nodeService
*/
public void setNodeService(NodeService nodeService)
{
this.nodeService = nodeService;
}
/**
* Injects the ActionService bean.
* @param actionService
@@ -83,15 +59,6 @@ public class ReplicationServiceImpl implements ReplicationService, ReplicationDe
this.actionService = actionService;
}
/**
* Injects the DictionaryService bean.
* @param dictionaryService
*/
public void setDictionaryService(DictionaryService dictionaryService)
{
this.dictionaryService = dictionaryService;
}
/**
* Injects the Scheduled Persisted Action Service bean
* @param scheduledPersistedActionService