CORD-562 Don't allow nodes with duplicate hostname

And update existing node if newly added node has the same hostname with
existing node.

Change-Id: Ifebbf4129df4f742e16b9a25be619dd90e0745ff
diff --git a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/CordVtnConfig.java b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/CordVtnConfig.java
index a44ec21..1b29a5e 100644
--- a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/CordVtnConfig.java
+++ b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/CordVtnConfig.java
@@ -60,7 +60,7 @@
     /**
      * Returns the set of nodes read from network config.
      *
-     * @return set of CordVtnNodeConfig or null
+     * @return set of CordVtnNodeConfig or empty set
      */
     public Set<CordVtnNode> cordVtnNodes() {
 
@@ -68,7 +68,7 @@
         JsonNode jsonNodes = object.get(CORDVTN_NODES);
         if (jsonNodes == null) {
             log.debug("No CORD VTN nodes found");
-            return null;
+            return nodes;
         }
 
         for (JsonNode jsonNode : jsonNodes) {
@@ -94,7 +94,8 @@
                         TpPort.tpPort(Integer.parseInt(getConfig(object, OVSDB_PORT))),
                         sshInfo,
                         DeviceId.deviceId(getConfig(jsonNode, BRIDGE_ID)),
-                        getConfig(jsonNode, DATA_PLANE_INTF));
+                        getConfig(jsonNode, DATA_PLANE_INTF),
+                        CordVtnNodeState.noState());
 
                 log.info("Successfully read {} from the config", hostname);
                 nodes.add(newNode);