Browse Source

ensure routes are also equal when checking for equality on VirtualNetworkConfig objects

Grant Limberg 9 years ago
parent
commit
8682c90c7d
1 changed files with 13 additions and 2 deletions
  1. 13 2
      java/src/com/zerotier/sdk/VirtualNetworkConfig.java

+ 13 - 2
java/src/com/zerotier/sdk/VirtualNetworkConfig.java

@@ -61,13 +61,24 @@ public final class VirtualNetworkConfig implements Comparable<VirtualNetworkConf
         if(assignedAddresses.length == cfg.assignedAddresses.length) {
             for(int i = 0; i < assignedAddresses.length; ++i) {
                 if(!assignedAddresses[i].equals(cfg.assignedAddresses[i])) {
-                    return false;
+                    aaEqual = false;
                 }
             }
         } else {
             aaEqual = false;
         }
 
+        boolean routesEqual = true;
+        if(routes.length == cfg.routes.length) {
+            for (int i = 0; i < routes.length; ++i) {
+                if (!routes[i].equals(cfg.routes[i])) {
+                    routesEqual = false;
+                }
+            }
+        } else {
+            routesEqual = false;
+        }
+
         return nwid == cfg.nwid &&
                mac == cfg.mac &&
                name.equals(cfg.name) &&
@@ -79,7 +90,7 @@ public final class VirtualNetworkConfig implements Comparable<VirtualNetworkConf
                broadcastEnabled == cfg.broadcastEnabled &&
                portError == cfg.portError &&
                enabled == cfg.enabled &&
-               aaEqual;
+               aaEqual && routesEqual;
     }
 
     public int compareTo(VirtualNetworkConfig cfg) {