From 73e2c9311789b12efaffe8e1f51789235a46a2b4 Mon Sep 17 00:00:00 2001 From: Michael Vorburger Date: Thu, 20 Apr 2017 18:05:31 +0200 Subject: [PATCH] Fix equals() bug in FederatedNetworkPair found by Checkstyle 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 --- .../federation/plugin/FederatedMappings.java | 12 +-- .../plugin/FederatedNetworkPair.java | 101 +++++++++++++----- 2 files changed, 82 insertions(+), 31 deletions(-) diff --git a/vpnservice/federation-plugin/impl/src/main/java/org/opendaylight/netvirt/federation/plugin/FederatedMappings.java b/vpnservice/federation-plugin/impl/src/main/java/org/opendaylight/netvirt/federation/plugin/FederatedMappings.java index 459ba2e7cb..48251878bf 100644 --- a/vpnservice/federation-plugin/impl/src/main/java/org/opendaylight/netvirt/federation/plugin/FederatedMappings.java +++ b/vpnservice/federation-plugin/impl/src/main/java/org/opendaylight/netvirt/federation/plugin/FederatedMappings.java @@ -23,12 +23,12 @@ public class FederatedMappings { public FederatedMappings(List federatedNetworkPairs, List 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)); diff --git a/vpnservice/federation-plugin/impl/src/main/java/org/opendaylight/netvirt/federation/plugin/FederatedNetworkPair.java b/vpnservice/federation-plugin/impl/src/main/java/org/opendaylight/netvirt/federation/plugin/FederatedNetworkPair.java index 7780bb54a2..99045f5d1c 100644 --- a/vpnservice/federation-plugin/impl/src/main/java/org/opendaylight/netvirt/federation/plugin/FederatedNetworkPair.java +++ b/vpnservice/federation-plugin/impl/src/main/java/org/opendaylight/netvirt/federation/plugin/FederatedNetworkPair.java @@ -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; } + } -- 2.36.6