* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-
package org.opendaylight.transportpce.inventory.listener;
import java.util.Collection;
import org.opendaylight.mdsal.binding.api.DataTreeModification;
import org.opendaylight.transportpce.common.StringConstants;
import org.opendaylight.transportpce.inventory.DeviceInventory;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeConnectionStatus;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeConnectionStatus.ConnectionStatus;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev240120.ConnectionOper.ConnectionStatus;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev231121.NetconfNode;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
}
@Override
- public void onDataTreeChanged(Collection<DataTreeModification<Node>> changes) {
- //LOG.debug("testing np1:"+changes.toString());
+ public void onDataTreeChanged(List<DataTreeModification<Node>> changes) {
+ //LOG.debug("testing np1: {}", changes.toString());
String openROADMversion = "";
List<DataTreeModification<Node>> changesWithoutDefaultNetconfNode = getRealDevicesOnly(changes);
for (DataTreeModification<Node> device : changesWithoutDefaultNetconfNode) {
- String nodeId = device.getRootNode().getDataAfter().key().getNodeId().getValue();
- NetconfNode netconfNode = device.getRootNode().getDataAfter().augmentation(NetconfNode.class);
- NetconfNodeConnectionStatus.ConnectionStatus connectionStatus =
- netconfNode.getConnectionStatus();
+ String nodeId = device.getRootNode().dataAfter().key().getNodeId().getValue();
+ NetconfNode netconfNode = device.getRootNode().dataAfter().augmentation(NetconfNode.class);
+ ConnectionStatus connectionStatus = netconfNode.getConnectionStatus();
long count = netconfNode.getAvailableCapabilities().getAvailableCapability().stream()
.filter(cp -> cp.getCapability().contains(StringConstants.OPENROADM_DEVICE_MODEL_NAME))
.count();
- LOG.info("DL ################## Modification Type {}",
- device.getRootNode().getModificationType().toString());
- LOG.info("DL ################## Capability Count {}", count);
- LOG.info("DL ################## Connection Status {}", connectionStatus);
- LOG.info("DL ################## device.getRootNode().getDataBefore() {}",
- device.getRootNode().getDataBefore());
- LOG.info("DL ################## device.getRootNode().getDataAfter() {}",
- device.getRootNode().getDataAfter());
-
+ LOG.debug("DL Modification Type {}", device.getRootNode().modificationType().toString());
+ LOG.debug("DL Capability Count {}", count);
+ LOG.debug("DL Connection Status {}", connectionStatus);
+ LOG.debug("DL device.getRootNode().getDataBefore() {}", device.getRootNode().dataBefore());
+ LOG.debug("DL device.getRootNode().getDataAfter() {}", device.getRootNode().dataAfter());
if (isCreate(device)) {
LOG.info("Node {} was created", nodeId);
try {
processModifiedSubtree(nodeId, netconfNode, openROADMversion);
} catch (InterruptedException | ExecutionException e) {
- LOG.error(e.getMessage(), e);
+ LOG.error("something wrong when creating node {}", nodeId, e);
}
} else if (isDelete(device)) {
LOG.info("Node {} was deleted", nodeId);
*/
private void processModifiedSubtree(String nodeId, NetconfNode netconfNode, String openROADMversion)
throws InterruptedException, ExecutionException {
- NetconfNodeConnectionStatus.ConnectionStatus connectionStatus = netconfNode.getConnectionStatus();
+ ConnectionStatus connectionStatus = netconfNode.getConnectionStatus();
long count = netconfNode.getAvailableCapabilities().getAvailableCapability().stream()
.filter(cp -> cp.getCapability().contains(StringConstants.OPENROADM_DEVICE_MODEL_NAME))
*/
private static List<DataTreeModification<Node>> getRealDevicesOnly(Collection<DataTreeModification<Node>> changes) {
return changes.stream()
- .filter(change -> (change.getRootNode().getDataAfter() != null
+ .filter(change -> (change.getRootNode().dataAfter() != null
&& !StringConstants.DEFAULT_NETCONF_NODEID
- .equalsIgnoreCase(change.getRootNode().getDataAfter().key().getNodeId().getValue())
- && change.getRootNode().getDataAfter().augmentation(NetconfNode.class) != null)
- || (change.getRootNode().getDataBefore() != null
+ .equalsIgnoreCase(change.getRootNode().dataAfter().key().getNodeId().getValue())
+ && change.getRootNode().dataAfter().augmentation(NetconfNode.class) != null)
+ || (change.getRootNode().dataBefore() != null
&& !StringConstants.DEFAULT_NETCONF_NODEID.equalsIgnoreCase(
- change.getRootNode().getDataBefore().key().getNodeId().getValue())
- && change.getRootNode().getDataBefore().augmentation(NetconfNode.class) != null
+ change.getRootNode().dataBefore().key().getNodeId().getValue())
+ && change.getRootNode().dataBefore().augmentation(NetconfNode.class) != null
)).collect(Collectors.toList());
}
*
*/
private static boolean isCreate(DataTreeModification<Node> change) {
- return change.getRootNode().getModificationType().toString().equalsIgnoreCase("WRITE");
- }
-
- /**
- * In the filtered collection checks if the modification is update.
- *
- */
- private static boolean isUpdate(DataTreeModification<Node> change) {
- return ModificationType.SUBTREE_MODIFIED.equals(change.getRootNode().getModificationType());
+ return change.getRootNode().modificationType().toString().equalsIgnoreCase("WRITE");
}
/**
*
*/
private static boolean isDelete(DataTreeModification<Node> change) {
- return change.getRootNode().getDataBefore() != null && change.getRootNode().getDataAfter() == null
- && ModificationType.DELETE.equals(change.getRootNode().getModificationType());
+ return change.getRootNode().dataBefore() != null && change.getRootNode().dataAfter() == null
+ && ModificationType.DELETE.equals(change.getRootNode().modificationType());
}
-}
+}
\ No newline at end of file