OSPF protocol manual merge from 1.6, due to cherry pick merge conflict
Change-Id: I93653e745468722ce95533537a79e897b4292f5d
diff --git a/protocols/ospf/ctl/src/main/java/org/onosproject/ospf/controller/impl/OspfControllerImpl.java b/protocols/ospf/ctl/src/main/java/org/onosproject/ospf/controller/impl/OspfControllerImpl.java
index 31067fc..83462ee 100644
--- a/protocols/ospf/ctl/src/main/java/org/onosproject/ospf/controller/impl/OspfControllerImpl.java
+++ b/protocols/ospf/ctl/src/main/java/org/onosproject/ospf/controller/impl/OspfControllerImpl.java
@@ -16,6 +16,7 @@
package org.onosproject.ospf.controller.impl;
+import com.fasterxml.jackson.databind.JsonNode;
import com.google.common.collect.Sets;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
@@ -34,7 +35,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -111,27 +111,23 @@
}
@Override
- public void updateConfig(List processes) {
- List<OspfProcess> ospfProcesses = new ArrayList<>();
- if (processes != null) {
- for (Object process : processes) {
- ospfProcesses.add((OspfProcess) process);
+ public void updateConfig(JsonNode processesNode) {
+ try {
+ List<OspfProcess> ospfProcesses = OspfConfigUtil.processes(processesNode);
+ //if there is interface details then update configuration
+ if (ospfProcesses.size() > 0 &&
+ ospfProcesses.get(0).areas() != null && ospfProcesses.get(0).areas().size() > 0 &&
+ ospfProcesses.get(0).areas().get(0) != null &&
+ ospfProcesses.get(0).areas().get(0).ospfInterfaceList().size() > 0) {
+ ctrl.updateConfig(ospfProcesses);
}
+ } catch (Exception e) {
+ log.debug("Error::updateConfig::{}", e.getMessage());
}
- log.debug("updateConfig::OspfList::processes::{}", ospfProcesses);
- ctrl.updateConfig(ospfProcesses);
}
@Override
public void deleteConfig(List<OspfProcess> processes, String attribute) {
- List<OspfProcess> ospfProcesses = new ArrayList<>();
- if (processes != null) {
- for (Object process : processes) {
- ospfProcesses.add((OspfProcess) process);
- }
- }
- log.debug("deleteConfig::OspfList::processes::{}", ospfProcesses);
- ctrl.deleteConfig(ospfProcesses, attribute);
}
/**
@@ -163,9 +159,9 @@
}
@Override
- public void deleteLink(OspfRouter ospfRouter) {
+ public void deleteLink(OspfRouter ospfRouter, OspfLinkTed ospfLinkTed) {
for (OspfLinkListener l : linkListener()) {
- l.deleteLink(ospfRouter);
+ l.deleteLink(ospfRouter, ospfLinkTed);
}
}
}