- if (change.getRootNode().dataAfter() != null && change.getRootNode().dataBefore() != null) {
- Nodes nodesAft = change.getRootNode().dataAfter();
- Nodes nodesBef = change.getRootNode().dataBefore();
- // TODO -> need to filter out the ones that are not after creation.
- // (Mapping before = null & Mapping after != null) is the rule for a first time connected device
- String nodeId = nodesAft.getNodeId();
- Map<MappingKey, Mapping> mappingAft = nodesAft.getMapping();
- Map<MappingKey, Mapping> mappingBef = nodesBef.getMapping();
- LOG.info("Change in node {} with OR version = {}", nodeId,
- nodesAft.getNodeInfo().getOpenroadmVersion().getName());
- if (mappingAft == null) {
- LOG.warn("Mapping already existed in the datastore, which means that node {} already existed "
- + "in TAPI topology. The action to take will be different", nodeId);
+ Nodes nodesAft = rootNode.dataAfter();
+ if (nodesAft == null) {
+ continue;
+ }
+ Nodes nodesBef = rootNode.dataBefore();
+ if (nodesBef == null) {
+ this.tapiNetworkModelService.createTapiNode(
+ nodesAft.getNodeId(), nodesAft.getNodeInfo().getOpenroadmVersion().getIntValue(), nodesAft);
+ continue;
+ }
+ // TODO -> need to filter out the ones that are not after creation.
+ // (Mapping before = null & Mapping after != null) is the rule for a first time connected device
+ String nodeId = nodesAft.getNodeId();
+ Map<MappingKey, Mapping> mappingAft = nodesAft.getMapping();
+ Map<MappingKey, Mapping> mappingBef = nodesBef.getMapping();
+ LOG.info("Change in node {} with OR version = {}",
+ nodeId, nodesAft.getNodeInfo().getOpenroadmVersion().getName());
+ //TODO avoid long message and concatenation in following LOG messages
+ if (mappingAft == null) {
+ LOG.warn("Mapping already existed in the datastore, which means that node {} already existed "
+ + "in TAPI topology. The action to take will be different", nodeId);
+ continue;
+ }
+ if (mappingBef == null) {
+ LOG.info("New mapping for node {} = {}", nodeId, mappingAft);
+ LOG.info("As the mapping is now created for the first time, "
+ + "we can proceed with the creation of the node {} in the TAPI topology", nodeId);
+ this.tapiNetworkModelService.createTapiNode(
+ nodeId, nodesAft.getNodeInfo().getOpenroadmVersion().getIntValue(), nodesAft);
+ continue;
+ }
+ for (Map.Entry<MappingKey, Mapping> entry : mappingAft.entrySet()) {
+ Mapping oldMapping = mappingBef.get(entry.getKey());
+ Mapping newMapping = mappingAft.get(entry.getKey());
+ if (oldMapping == null || newMapping == null) {