Transfer event re-ordering:

- enter success/error/cancel state event fired before report events
- but, success/error/cancel events still fired after report events

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@22419 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
David Caruana
2010-09-10 17:44:28 +00:00
parent 691df52ef0
commit 2704bd37db
3 changed files with 32 additions and 30 deletions

View File

@@ -139,10 +139,12 @@ public class TransferEventProcessor
notifyObservers(); notifyObservers();
} }
public void writeReport(NodeRef nodeRef, TransferEventReport.ReportType reportType) public void writeReport(NodeRef nodeRef, TransferEventReport.ReportType reportType, TransferEvent.TransferState state)
{ {
setState(state);
TransferEventReport event = new TransferEventReport(); TransferEventReport event = new TransferEventReport();
event.setTransferState(currentState); event.setTransferState(state);
event.setNodeRef(nodeRef); event.setNodeRef(nodeRef);
event.setReportType(reportType); event.setReportType(reportType);
event.setMessage("report nodeRef:" + nodeRef + ", reportType :" + reportType ); event.setMessage("report nodeRef:" + nodeRef + ", reportType :" + reportType );

View File

@@ -270,14 +270,6 @@ public class TransferServiceCallbackTest extends TestCase
event = new TransferEventCommittingStatus(); event = new TransferEventCommittingStatus();
event.setTransferState(TransferState.COMMITTING); event.setTransferState(TransferState.COMMITTING);
expectedEvents.add(event); expectedEvents.add(event);
event = new TransferEventReport();
event.setTransferState(TransferState.COMMITTING);
expectedEvents.add(event);
event = new TransferEventReport();
event.setTransferState(TransferState.COMMITTING);
expectedEvents.add(event);
event = new TransferEventEndState(); event = new TransferEventEndState();
event.setTransferState(TransferState.COMMITTING); event.setTransferState(TransferState.COMMITTING);
@@ -287,6 +279,14 @@ public class TransferServiceCallbackTest extends TestCase
event.setTransferState(TransferState.SUCCESS); event.setTransferState(TransferState.SUCCESS);
expectedEvents.add(event); expectedEvents.add(event);
event = new TransferEventReport();
event.setTransferState(TransferState.SUCCESS);
expectedEvents.add(event);
event = new TransferEventReport();
event.setTransferState(TransferState.SUCCESS);
expectedEvents.add(event);
event = new TransferEventSuccess(); event = new TransferEventSuccess();
event.setTransferState(TransferState.SUCCESS); event.setTransferState(TransferState.SUCCESS);
expectedEvents.add(event); expectedEvents.add(event);
@@ -411,23 +411,23 @@ public class TransferServiceCallbackTest extends TestCase
event = new TransferEventCommittingStatus(); event = new TransferEventCommittingStatus();
event.setTransferState(TransferState.COMMITTING); event.setTransferState(TransferState.COMMITTING);
expectedEvents.add(event); expectedEvents.add(event);
event = new TransferEventReport();
event.setTransferState(TransferState.COMMITTING);
expectedEvents.add(event);
event = new TransferEventReport();
event.setTransferState(TransferState.COMMITTING);
expectedEvents.add(event);
event = new TransferEventEndState(); event = new TransferEventEndState();
event.setTransferState(TransferState.COMMITTING); event.setTransferState(TransferState.COMMITTING);
expectedEvents.add(event); expectedEvents.add(event);
event = new TransferEventEnterState(); event = new TransferEventEnterState();
event.setTransferState(TransferState.ERROR); event.setTransferState(TransferState.ERROR);
expectedEvents.add(event); expectedEvents.add(event);
event = new TransferEventReport();
event.setTransferState(TransferState.ERROR);
expectedEvents.add(event);
event = new TransferEventReport();
event.setTransferState(TransferState.ERROR);
expectedEvents.add(event);
event = new TransferEventError(); event = new TransferEventError();
event.setTransferState(TransferState.ERROR); event.setTransferState(TransferState.ERROR);
((TransferEventError)event).setException(error); ((TransferEventError)event).setException(error);
@@ -457,14 +457,6 @@ public class TransferServiceCallbackTest extends TestCase
event = new TransferEventEnterState(); event = new TransferEventEnterState();
event.setTransferState(TransferState.START); event.setTransferState(TransferState.START);
expectedEvents.add(event); expectedEvents.add(event);
event = new TransferEventReport();
event.setTransferState(TransferState.START);
expectedEvents.add(event);
event = new TransferEventReport();
event.setTransferState(TransferState.START);
expectedEvents.add(event);
event = new TransferEventEndState(); event = new TransferEventEndState();
event.setTransferState(TransferState.START); event.setTransferState(TransferState.START);
@@ -473,6 +465,14 @@ public class TransferServiceCallbackTest extends TestCase
event = new TransferEventEnterState(); event = new TransferEventEnterState();
event.setTransferState(TransferState.ERROR); event.setTransferState(TransferState.ERROR);
expectedEvents.add(event); expectedEvents.add(event);
event = new TransferEventReport();
event.setTransferState(TransferState.ERROR);
expectedEvents.add(event);
event = new TransferEventReport();
event.setTransferState(TransferState.ERROR);
expectedEvents.add(event);
event = new TransferEventError(); event = new TransferEventError();
event.setTransferState(TransferState.ERROR); event.setTransferState(TransferState.ERROR);

View File

@@ -776,14 +776,14 @@ public class TransferServiceImpl2 implements TransferService2
destinationReport = persistDestinationTransferReport(reportName, transfer, target); destinationReport = persistDestinationTransferReport(reportName, transfer, target);
if (destinationReport != null) if (destinationReport != null)
{ {
eventProcessor.writeReport(destinationReport, TransferEventReport.ReportType.DESTINATION); eventProcessor.writeReport(destinationReport, TransferEventReport.ReportType.DESTINATION, endEventImpl.getTransferState());
} }
logger.debug("now persist the client side transfer report"); logger.debug("now persist the client side transfer report");
sourceReport = persistTransferReport(reportName, transfer, target, definition, transferReportEvents, manifest, failureException); sourceReport = persistTransferReport(reportName, transfer, target, definition, transferReportEvents, manifest, failureException);
if (sourceReport != null) if (sourceReport != null)
{ {
eventProcessor.writeReport(sourceReport, TransferEventReport.ReportType.SOURCE); eventProcessor.writeReport(sourceReport, TransferEventReport.ReportType.SOURCE, endEventImpl.getTransferState());
} }
} }
catch(Exception e) catch(Exception e)