X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=renderer%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Frenderer%2Fprovisiondevice%2FRendererServiceOperationsImpl.java;h=fb29f90c854a1fb6a538ade8f9dfc957cb4e70e2;hb=refs%2Fchanges%2F30%2F109830%2F6;hp=328a254cad3c94c3af45aa755705c2d13611dfdb;hpb=0a5e92dab0c7a79e3c7b446802d4551e53f943dc;p=transportpce.git diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImpl.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImpl.java index 328a254ca..fb29f90c8 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImpl.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImpl.java @@ -36,10 +36,14 @@ import org.opendaylight.transportpce.renderer.ServicePathInputData; import org.opendaylight.transportpce.renderer.provisiondevice.servicepath.ServicePathDirection; import org.opendaylight.transportpce.renderer.provisiondevice.tasks.DeviceRenderingRollbackTask; import org.opendaylight.transportpce.renderer.provisiondevice.tasks.DeviceRenderingTask; +import org.opendaylight.transportpce.renderer.provisiondevice.tasks.NetworkDeviceRenderingRollbackTask; import org.opendaylight.transportpce.renderer.provisiondevice.tasks.OlmPowerSetupRollbackTask; import org.opendaylight.transportpce.renderer.provisiondevice.tasks.OlmPowerSetupTask; import org.opendaylight.transportpce.renderer.provisiondevice.tasks.OtnDeviceRenderingTask; import org.opendaylight.transportpce.renderer.provisiondevice.tasks.RollbackProcessor; +import org.opendaylight.transportpce.renderer.provisiondevice.tasks.RollbackResultMessage; +import org.opendaylight.transportpce.renderer.provisiondevice.transaction.history.History; +import org.opendaylight.transportpce.renderer.provisiondevice.transaction.history.TransactionHistory; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.Action; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.OtnServicePathInput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev220630.OtnLinkType; @@ -370,9 +374,12 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations servicePathDataAtoZ.getServicePathInput().getServiceName(), RpcStatusEx.Pending, RENDERING_DEVICES_A_Z_MSG); + + History transactionHistory = new TransactionHistory(); ListenableFuture atozrenderingFuture = this.executor.submit( - new DeviceRenderingTask(this.deviceRenderer, servicePathDataAtoZ, ServicePathDirection.A_TO_Z)); + new DeviceRenderingTask(this.deviceRenderer, servicePathDataAtoZ, ServicePathDirection.A_TO_Z, + transactionHistory)); LOG.info(RENDERING_DEVICES_Z_A_MSG); sendNotifications( @@ -382,7 +389,8 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations RENDERING_DEVICES_Z_A_MSG); ListenableFuture ztoarenderingFuture = this.executor.submit( - new DeviceRenderingTask(this.deviceRenderer, servicePathDataZtoA, ServicePathDirection.Z_TO_A)); + new DeviceRenderingTask(this.deviceRenderer, servicePathDataZtoA, ServicePathDirection.Z_TO_A, + transactionHistory)); ListenableFuture> renderingCombinedFuture = Futures.allAsList(atozrenderingFuture, ztoarenderingFuture); @@ -403,16 +411,15 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations } rollbackProcessor.addTask( - new DeviceRenderingRollbackTask( - "AtoZDeviceTask", - ! renderingResults.get(0).isSuccess(), - renderingResults.get(0).getRenderedNodeInterfaces(), - this.deviceRenderer)); - rollbackProcessor.addTask( - new DeviceRenderingRollbackTask("ZtoADeviceTask", - ! renderingResults.get(1).isSuccess(), - renderingResults.get(1).getRenderedNodeInterfaces(), - this.deviceRenderer)); + new NetworkDeviceRenderingRollbackTask( + "RollbackTransactionHistoryTask", + transactionHistory, + ! (renderingResults.get(0).isSuccess() && renderingResults.get(1).isSuccess()), + deviceRenderer, + new RollbackResultMessage() + ) + ); + return renderingResults; }