X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=renderer%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Frenderer%2Fprovisiondevice%2Ftasks%2FDeviceRenderingRollbackTask.java;h=228b2c0f7e7b38d64942d88fad2c11657d30a103;hb=e3438cad213946cd76a73219876487c30024dfae;hp=18928e4f6b30ebe103e79fe6a3428e74646652a2;hpb=31bc01d3dab733bbb6ad48cc43586de43cb6c5c9;p=transportpce.git diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/tasks/DeviceRenderingRollbackTask.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/tasks/DeviceRenderingRollbackTask.java index 18928e4f6..228b2c0f7 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/tasks/DeviceRenderingRollbackTask.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/tasks/DeviceRenderingRollbackTask.java @@ -8,13 +8,17 @@ package org.opendaylight.transportpce.renderer.provisiondevice.tasks; import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.opendaylight.transportpce.renderer.provisiondevice.DeviceRendererService; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev200128.RendererRollbackInput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev200128.RendererRollbackInputBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev200128.RendererRollbackOutput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev200128.renderer.rollback.output.FailedToRollback; import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.node.interfaces.NodeInterface; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.node.interfaces.NodeInterfaceKey; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -23,14 +27,21 @@ public class DeviceRenderingRollbackTask extends RollbackTask { private static final Logger LOG = LoggerFactory.getLogger(DeviceRenderingRollbackTask.class); private final boolean isRollbackNecessary; private final DeviceRendererService rendererService; - private final List renderedInterfaces; + private final Map renderedInterfaces; public DeviceRenderingRollbackTask(String id, boolean isRollbackNecessary, List renderedInterfaces, DeviceRendererService rendererService) { super(id); this.isRollbackNecessary = isRollbackNecessary; this.rendererService = rendererService; - this.renderedInterfaces = renderedInterfaces; + this.renderedInterfaces = new HashMap<>(); + if (renderedInterfaces != null) { + for (NodeInterface nodeInterface : renderedInterfaces) { + if (nodeInterface != null) { + this.renderedInterfaces.put(nodeInterface.key(), nodeInterface); + } + } + } } @Override @@ -46,14 +57,14 @@ public class DeviceRenderingRollbackTask extends RollbackTask { RendererRollbackOutput rollbackOutput = this.rendererService.rendererRollback(rollbackInput); if (! rollbackOutput.isSuccess()) { LOG.warn("Device rendering rollback of {} was not successful! Failed rollback on {}.", this.getId(), - createErrorMessage(rollbackOutput.getFailedToRollback())); + createErrorMessage(rollbackOutput.nonnullFailedToRollback().values())); } else { LOG.info("Device rollback of {} successful.", this.getId()); } return null; } - private String createErrorMessage(List failedRollbacks) { + private String createErrorMessage(Collection failedRollbacks) { List failedRollbackNodes = new ArrayList<>(); failedRollbacks.forEach(failedRollback -> { String nodeId = failedRollback.getNodeId();