Fix equals() bug in FederatedNetworkPair found by Checkstyle 43/55743/2
authorMichael Vorburger <vorburger@redhat.com>
Thu, 20 Apr 2017 16:05:31 +0000 (18:05 +0200)
committerSam Hague <shague@redhat.com>
Sat, 22 Apr 2017 02:51:36 +0000 (02:51 +0000)
This shows up as red in Eclipse, but the CLI mvn build missed this.

required for overall move to new Checkstyle version, see
https://git.opendaylight.org/gerrit/#/q/topic:bumpCheckstyle

Change-Id: I7a46ac4c96e541d9fec17f3e6add9bcf65999a48
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
vpnservice/federation-plugin/impl/src/main/java/org/opendaylight/netvirt/federation/plugin/FederatedMappings.java
vpnservice/federation-plugin/impl/src/main/java/org/opendaylight/netvirt/federation/plugin/FederatedNetworkPair.java

index 459ba2e7cbd306171e18a8100cd3c7006899d1e3..48251878bf0d5e3f035e4c7609a474626a33be4a 100644 (file)
@@ -23,12 +23,12 @@ public class FederatedMappings {
 
     public FederatedMappings(List<FederatedNetworkPair> federatedNetworkPairs,
         List<FederatedAclPair> aclsPairs) {
-        federatedNetworkPairs.stream()
-            .forEach((pair) -> producerToConsumerNetworkMap.put(pair.producerNetworkId, pair.consumerNetworkId));
-        federatedNetworkPairs.stream()
-                .forEach((pair) -> producerToConsumerSubnetMap.put(pair.producerSubnetId, pair.consumerSubnetId));
-        federatedNetworkPairs.stream()
-                .forEach((pair) -> producerToConsumerTenantMap.put(pair.producerTenantId, pair.consumerTenantId));
+        federatedNetworkPairs.stream().forEach(
+            (pair) -> producerToConsumerNetworkMap.put(pair.getProducerNetworkId(), pair.getConsumerNetworkId()));
+        federatedNetworkPairs.stream().forEach(
+            (pair) -> producerToConsumerSubnetMap.put(pair.getProducerSubnetId(), pair.getConsumerSubnetId()));
+        federatedNetworkPairs.stream().forEach(
+            (pair) -> producerToConsumerTenantMap.put(pair.getProducerTenantId(), pair.getConsumerTenantId()));
         if (aclsPairs != null) {
             aclsPairs.stream().forEach(
                 (pair) -> producerToConsumerAclsMap.put(pair.producerAclId, pair.consumerAclId));
index 7780bb54a24938b3d4e9a4715649df7f152c6b36..99045f5d1c02261daaa7d0eaf0d21544eaa251dd 100644 (file)
@@ -7,45 +7,72 @@
  */
 package org.opendaylight.netvirt.federation.plugin;
 
+import static org.opendaylight.netvirt.federation.plugin.FederationPluginUtils.uuidToCleanStr;
+
+import java.util.Objects;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
 
 public class FederatedNetworkPair {
 
-    public String consumerNetworkId;
-    public String producerNetworkId;
-    public String consumerSubnetId;
-    public String producerSubnetId;
-    public String consumerTenantId;
-    public String producerTenantId;
+    private final String consumerNetworkId;
+    private final String producerNetworkId;
+    private final String consumerSubnetId;
+    private final String producerSubnetId;
+    private final String consumerTenantId;
+    private final String producerTenantId;
 
     public FederatedNetworkPair(String localNetworkId, String remoteNetworkId, String localSubnetId,
             String remoteSubnetId, String localTenantId, String remoteTenantId) {
-        this.consumerNetworkId = localNetworkId;
-        this.producerNetworkId = remoteNetworkId;
-        this.consumerSubnetId = localSubnetId;
-        this.producerSubnetId = remoteSubnetId;
-        this.consumerTenantId = localTenantId;
-        this.producerTenantId = remoteTenantId;
+        this.consumerNetworkId = Objects.requireNonNull(localNetworkId, "localNetworkId");
+        this.producerNetworkId = Objects.requireNonNull(remoteNetworkId, "remoteNetworkId");
+        this.consumerSubnetId = Objects.requireNonNull(localSubnetId, "localSubnetId");
+        this.producerSubnetId = Objects.requireNonNull(remoteSubnetId, "remoteSubnetId");
+        this.consumerTenantId = Objects.requireNonNull(localTenantId, "localTenantId");
+        this.producerTenantId = Objects.requireNonNull(remoteTenantId, "remoteTenantId");
     }
 
     public FederatedNetworkPair(String localNetworkId, String remoteNetworkId, Uuid localSubnetId, Uuid remoteSubnetId,
             Uuid localTenantId, Uuid remoteTenantId) {
-        this.consumerNetworkId = localNetworkId;
-        this.producerNetworkId = remoteNetworkId;
-        this.consumerSubnetId = FederationPluginUtils.uuidToCleanStr(localSubnetId);
-        this.producerSubnetId = FederationPluginUtils.uuidToCleanStr(remoteSubnetId);
-        this.consumerTenantId = FederationPluginUtils.uuidToCleanStr(localTenantId);
-        this.producerTenantId = FederationPluginUtils.uuidToCleanStr(remoteTenantId);
+        this.consumerNetworkId = Objects.requireNonNull(localNetworkId, "localNetworkId");
+        this.producerNetworkId = Objects.requireNonNull(remoteNetworkId, "remoteNetworkId");
+        this.consumerSubnetId = uuidToCleanStr(Objects.requireNonNull(localSubnetId, "localSubnetId"));
+        this.producerSubnetId = uuidToCleanStr(Objects.requireNonNull(remoteSubnetId, "remoteSubnetId"));
+        this.consumerTenantId = uuidToCleanStr(Objects.requireNonNull(localTenantId, "localTenantId"));
+        this.producerTenantId = uuidToCleanStr(Objects.requireNonNull(remoteTenantId, "remoteTenantId"));
     }
 
     public FederatedNetworkPair(Uuid localNetworkId, Uuid remoteNetworkId, Uuid localSubnetId, Uuid remoteSubnetId,
             Uuid localTenantId, Uuid remoteTenantId) {
-        this.consumerNetworkId = FederationPluginUtils.uuidToCleanStr(localNetworkId);
-        this.producerNetworkId = FederationPluginUtils.uuidToCleanStr(remoteNetworkId);
-        this.consumerSubnetId = FederationPluginUtils.uuidToCleanStr(localSubnetId);
-        this.producerSubnetId = FederationPluginUtils.uuidToCleanStr(remoteSubnetId);
-        this.consumerTenantId = FederationPluginUtils.uuidToCleanStr(localTenantId);
-        this.producerTenantId = FederationPluginUtils.uuidToCleanStr(remoteTenantId);
+        this.consumerNetworkId = uuidToCleanStr(Objects.requireNonNull(localNetworkId, "localNetworkId"));
+        this.producerNetworkId = uuidToCleanStr(Objects.requireNonNull(remoteNetworkId, "remoteNetworkId"));
+        this.consumerSubnetId = uuidToCleanStr(Objects.requireNonNull(localSubnetId, "localSubnetId"));
+        this.producerSubnetId = uuidToCleanStr(Objects.requireNonNull(remoteSubnetId, "remoteSubnetId"));
+        this.consumerTenantId = uuidToCleanStr(Objects.requireNonNull(localTenantId, "localTenantId"));
+        this.producerTenantId = uuidToCleanStr(Objects.requireNonNull(remoteTenantId, "remoteTenantId"));
+    }
+
+    public String getConsumerNetworkId() {
+        return consumerNetworkId;
+    }
+
+    public String getProducerNetworkId() {
+        return producerNetworkId;
+    }
+
+    public String getConsumerSubnetId() {
+        return consumerSubnetId;
+    }
+
+    public String getProducerSubnetId() {
+        return producerSubnetId;
+    }
+
+    public String getConsumerTenantId() {
+        return consumerTenantId;
+    }
+
+    public String getProducerTenantId() {
+        return producerTenantId;
     }
 
     @Override
@@ -78,8 +105,32 @@ public class FederatedNetworkPair {
         return true;
     }
 
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        FederatedNetworkPair other = (FederatedNetworkPair) obj;
+        return equals(other);
+    }
+
     @Override
     public int hashCode() {
-        return this.toString().hashCode();
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + (consumerNetworkId == null ? 0 : consumerNetworkId.hashCode());
+        result = prime * result + (consumerSubnetId == null ? 0 : consumerSubnetId.hashCode());
+        result = prime * result + (consumerTenantId == null ? 0 : consumerTenantId.hashCode());
+        result = prime * result + (producerNetworkId == null ? 0 : producerNetworkId.hashCode());
+        result = prime * result + (producerSubnetId == null ? 0 : producerSubnetId.hashCode());
+        result = prime * result + (producerTenantId == null ? 0 : producerTenantId.hashCode());
+        return result;
     }
+
 }