X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=renderer%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Frenderer%2Fprovisiondevice%2Ftasks%2FDeviceRenderingRollbackTask.java;h=46fa44e5830b64022c54735a4ff37506a0b51381;hb=refs%2Fchanges%2F76%2F96276%2F3;hp=93d6c51846a7ab5818a1976b11fcf7cac9f191a4;hpb=0779ad5796bb645690874959c9a891c42e2f7175;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 93d6c5184..46fa44e58 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.rev170228.RendererRollbackInput; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev170228.RendererRollbackInputBuilder; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev170228.RendererRollbackOutput; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev170228.renderer.rollback.output.FailedToRollback; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev170907.node.interfaces.NodeInterface; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev200128.RendererRollbackInput; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev200128.RendererRollbackInputBuilder; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev200128.RendererRollbackOutput; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev200128.renderer.rollback.output.FailedToRollback; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev201211.node.interfaces.NodeInterface; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev201211.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 @@ -44,16 +55,16 @@ public class DeviceRenderingRollbackTask extends RollbackTask { .setNodeInterface(this.renderedInterfaces) .build(); RendererRollbackOutput rollbackOutput = this.rendererService.rendererRollback(rollbackInput); - if (! rollbackOutput.isSuccess()) { + if (! rollbackOutput.getSuccess()) { 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();