diff --git a/source/java/org/alfresco/repo/transfer/TransferEventProcessor.java b/source/java/org/alfresco/repo/transfer/TransferEventProcessor.java index c670d76ba2..d0001fc851 100644 --- a/source/java/org/alfresco/repo/transfer/TransferEventProcessor.java +++ b/source/java/org/alfresco/repo/transfer/TransferEventProcessor.java @@ -139,10 +139,12 @@ public class TransferEventProcessor 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(); - event.setTransferState(currentState); + event.setTransferState(state); event.setNodeRef(nodeRef); event.setReportType(reportType); event.setMessage("report nodeRef:" + nodeRef + ", reportType :" + reportType ); diff --git a/source/java/org/alfresco/repo/transfer/TransferServiceCallbackTest.java b/source/java/org/alfresco/repo/transfer/TransferServiceCallbackTest.java index c7e36c9bab..bd8d0f0728 100644 --- a/source/java/org/alfresco/repo/transfer/TransferServiceCallbackTest.java +++ b/source/java/org/alfresco/repo/transfer/TransferServiceCallbackTest.java @@ -270,14 +270,6 @@ public class TransferServiceCallbackTest extends TestCase event = new TransferEventCommittingStatus(); event.setTransferState(TransferState.COMMITTING); 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.setTransferState(TransferState.COMMITTING); @@ -287,6 +279,14 @@ public class TransferServiceCallbackTest extends TestCase event.setTransferState(TransferState.SUCCESS); 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.setTransferState(TransferState.SUCCESS); expectedEvents.add(event); @@ -411,23 +411,23 @@ public class TransferServiceCallbackTest extends TestCase event = new TransferEventCommittingStatus(); event.setTransferState(TransferState.COMMITTING); 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.setTransferState(TransferState.COMMITTING); expectedEvents.add(event); - + event = new TransferEventEnterState(); event.setTransferState(TransferState.ERROR); 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.setTransferState(TransferState.ERROR); ((TransferEventError)event).setException(error); @@ -457,14 +457,6 @@ public class TransferServiceCallbackTest extends TestCase event = new TransferEventEnterState(); event.setTransferState(TransferState.START); 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.setTransferState(TransferState.START); @@ -473,6 +465,14 @@ public class TransferServiceCallbackTest extends TestCase event = new TransferEventEnterState(); event.setTransferState(TransferState.ERROR); 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.setTransferState(TransferState.ERROR); diff --git a/source/java/org/alfresco/repo/transfer/TransferServiceImpl2.java b/source/java/org/alfresco/repo/transfer/TransferServiceImpl2.java index 3dcf253899..52260b6fae 100644 --- a/source/java/org/alfresco/repo/transfer/TransferServiceImpl2.java +++ b/source/java/org/alfresco/repo/transfer/TransferServiceImpl2.java @@ -776,14 +776,14 @@ public class TransferServiceImpl2 implements TransferService2 destinationReport = persistDestinationTransferReport(reportName, transfer, target); 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"); sourceReport = persistTransferReport(reportName, transfer, target, definition, transferReportEvents, manifest, failureException); if (sourceReport != null) { - eventProcessor.writeReport(sourceReport, TransferEventReport.ReportType.SOURCE); + eventProcessor.writeReport(sourceReport, TransferEventReport.ReportType.SOURCE, endEventImpl.getTransferState()); } } catch(Exception e)