Committed by
Thomas Vachuska
[ONOS-4718] Add LispDistinguishedNameAddress, modify hashCode logic
Change-Id: Ic9b840f6dc0102bed35d3c88b76b6e8b36a051f5
Showing
9 changed files
with
94 additions
and
45 deletions
| ... | @@ -25,10 +25,18 @@ package org.onosproject.lisp.msg.types; | ... | @@ -25,10 +25,18 @@ package org.onosproject.lisp.msg.types; |
| 25 | */ | 25 | */ |
| 26 | public enum AddressFamilyIdentifierEnum { | 26 | public enum AddressFamilyIdentifierEnum { |
| 27 | 27 | ||
| 28 | - NO_ADDRESS(0), IP(1), IP6(2), DNS(16), DISTINGUISHED_NAME(17), AS(18), LCAF(16387), | 28 | + NO_ADDRESS(0), // Reserved |
| 29 | - MAC(16389), OUI(16391), UNKNOWN(-1); | 29 | + IP(1), // IP (IP version 4) |
| 30 | + IP6(2), // IP6 (IP version 6) | ||
| 31 | + DNS(16), // Domain Name System | ||
| 32 | + DISTINGUISHED_NAME(17), // Distinguished Name | ||
| 33 | + AS(18), // AS Number | ||
| 34 | + LCAF(16387), // LISP Canonical Address Format (LCAF) | ||
| 35 | + MAC(16389), // 48-bit MAC | ||
| 36 | + OUI(16391), // 24-bit Organizationally Unique Identifier | ||
| 37 | + UNKNOWN(-1); // Other Enums for internal use | ||
| 30 | 38 | ||
| 31 | - private short ianaCode; | 39 | + private final short ianaCode; |
| 32 | 40 | ||
| 33 | AddressFamilyIdentifierEnum(int ianaCode) { | 41 | AddressFamilyIdentifierEnum(int ianaCode) { |
| 34 | this.ianaCode = (short) ianaCode; | 42 | this.ianaCode = (short) ianaCode; | ... | ... |
| ... | @@ -15,6 +15,8 @@ | ... | @@ -15,6 +15,8 @@ |
| 15 | */ | 15 | */ |
| 16 | package org.onosproject.lisp.msg.types; | 16 | package org.onosproject.lisp.msg.types; |
| 17 | 17 | ||
| 18 | +import java.util.Objects; | ||
| 19 | + | ||
| 18 | /** | 20 | /** |
| 19 | * LISP Locator address typed by Address Family Identifier (AFI). | 21 | * LISP Locator address typed by Address Family Identifier (AFI). |
| 20 | */ | 22 | */ |
| ... | @@ -42,10 +44,7 @@ public abstract class LispAfiAddress { | ... | @@ -42,10 +44,7 @@ public abstract class LispAfiAddress { |
| 42 | 44 | ||
| 43 | @Override | 45 | @Override |
| 44 | public int hashCode() { | 46 | public int hashCode() { |
| 45 | - final int prime = 31; | 47 | + return Objects.hash(afi); |
| 46 | - int result = 1; | ||
| 47 | - result = prime * result + ((afi == null) ? 0 : afi.hashCode()); | ||
| 48 | - return result; | ||
| 49 | } | 48 | } |
| 50 | 49 | ||
| 51 | @Override | 50 | @Override | ... | ... |
| ... | @@ -126,14 +126,7 @@ public class LispAppDataLcafAddress extends LispLcafAddress { | ... | @@ -126,14 +126,7 @@ public class LispAppDataLcafAddress extends LispLcafAddress { |
| 126 | 126 | ||
| 127 | @Override | 127 | @Override |
| 128 | public int hashCode() { | 128 | public int hashCode() { |
| 129 | - final int prime = 31; | 129 | + return Objects.hash(address, protocol, ipTos, localPort, remotePort); |
| 130 | - int result = super.hashCode(); | ||
| 131 | - result = prime * result + ((address == null) ? 0 : address.hashCode()); | ||
| 132 | - result = prime * result + protocol; | ||
| 133 | - result = prime * result + ipTos; | ||
| 134 | - result = prime * result + localPort; | ||
| 135 | - result = prime * result + remotePort; | ||
| 136 | - return result; | ||
| 137 | } | 130 | } |
| 138 | 131 | ||
| 139 | @Override | 132 | @Override | ... | ... |
| ... | @@ -15,6 +15,8 @@ | ... | @@ -15,6 +15,8 @@ |
| 15 | */ | 15 | */ |
| 16 | package org.onosproject.lisp.msg.types; | 16 | package org.onosproject.lisp.msg.types; |
| 17 | 17 | ||
| 18 | +import java.util.Objects; | ||
| 19 | + | ||
| 18 | /** | 20 | /** |
| 19 | * The identifier of Autonomous System (AS). | 21 | * The identifier of Autonomous System (AS). |
| 20 | */ | 22 | */ |
| ... | @@ -43,10 +45,7 @@ public class LispAsAddress extends LispAfiAddress { | ... | @@ -43,10 +45,7 @@ public class LispAsAddress extends LispAfiAddress { |
| 43 | 45 | ||
| 44 | @Override | 46 | @Override |
| 45 | public int hashCode() { | 47 | public int hashCode() { |
| 46 | - final int prime = 31; | 48 | + return Objects.hash(asNum); |
| 47 | - int result = super.hashCode(); | ||
| 48 | - result = prime * result + asNum; | ||
| 49 | - return result; | ||
| 50 | } | 49 | } |
| 51 | 50 | ||
| 52 | @Override | 51 | @Override | ... | ... |
protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispDistinguishedNameAddress.java
0 → 100644
| 1 | +/* | ||
| 2 | + * Copyright 2016-present Open Networking Laboratory | ||
| 3 | + * | ||
| 4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | ||
| 5 | + * you may not use this file except in compliance with the License. | ||
| 6 | + * You may obtain a copy of the License at | ||
| 7 | + * | ||
| 8 | + * http://www.apache.org/licenses/LICENSE-2.0 | ||
| 9 | + * | ||
| 10 | + * Unless required by applicable law or agreed to in writing, software | ||
| 11 | + * distributed under the License is distributed on an "AS IS" BASIS, | ||
| 12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 13 | + * See the License for the specific language governing permissions and | ||
| 14 | + * limitations under the License. | ||
| 15 | + */ | ||
| 16 | +package org.onosproject.lisp.msg.types; | ||
| 17 | + | ||
| 18 | +import java.util.Objects; | ||
| 19 | + | ||
| 20 | +import static com.google.common.base.MoreObjects.toStringHelper; | ||
| 21 | + | ||
| 22 | +/** | ||
| 23 | + * Distinguished name address that is used by LISP Locator. | ||
| 24 | + */ | ||
| 25 | +public class LispDistinguishedNameAddress extends LispAfiAddress { | ||
| 26 | + | ||
| 27 | + private final String distinguishedName; | ||
| 28 | + | ||
| 29 | + /** | ||
| 30 | + * Initializes LISP locator's distinguished name address with AFI enum. | ||
| 31 | + * | ||
| 32 | + * @param distinguishedName distinguished name address | ||
| 33 | + */ | ||
| 34 | + public LispDistinguishedNameAddress(String distinguishedName) { | ||
| 35 | + super(AddressFamilyIdentifierEnum.DISTINGUISHED_NAME); | ||
| 36 | + this.distinguishedName = distinguishedName; | ||
| 37 | + } | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * Obtains LISP locator's distinguished name address. | ||
| 41 | + * | ||
| 42 | + * @return distinguished name address | ||
| 43 | + */ | ||
| 44 | + public String getDistinguishedName() { | ||
| 45 | + return distinguishedName; | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + @Override | ||
| 49 | + public int hashCode() { | ||
| 50 | + return Objects.hash(distinguishedName); | ||
| 51 | + } | ||
| 52 | + | ||
| 53 | + @Override | ||
| 54 | + public boolean equals(Object obj) { | ||
| 55 | + if (this == obj) { | ||
| 56 | + return true; | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + if (obj instanceof LispDistinguishedNameAddress) { | ||
| 60 | + final LispDistinguishedNameAddress other = (LispDistinguishedNameAddress) obj; | ||
| 61 | + return Objects.equals(this.distinguishedName, other.distinguishedName); | ||
| 62 | + } | ||
| 63 | + return false; | ||
| 64 | + } | ||
| 65 | + | ||
| 66 | + @Override | ||
| 67 | + public String toString() { | ||
| 68 | + return toStringHelper(this) | ||
| 69 | + .add("distinguished name", distinguishedName) | ||
| 70 | + .toString(); | ||
| 71 | + } | ||
| 72 | +} |
| ... | @@ -168,14 +168,7 @@ public class LispLcafAddress extends LispAfiAddress { | ... | @@ -168,14 +168,7 @@ public class LispLcafAddress extends LispAfiAddress { |
| 168 | 168 | ||
| 169 | @Override | 169 | @Override |
| 170 | public int hashCode() { | 170 | public int hashCode() { |
| 171 | - final int prime = 31; | 171 | + return Objects.hash(lcafType, reserved1, reserved2, flag, length); |
| 172 | - int result = super.hashCode(); | ||
| 173 | - result = prime * result + ((lcafType == null) ? 0 : lcafType.hashCode()); | ||
| 174 | - result = prime * result + reserved1; | ||
| 175 | - result = prime * result + reserved2; | ||
| 176 | - result = prime * result + flag; | ||
| 177 | - result = prime * result + length; | ||
| 178 | - return result; | ||
| 179 | } | 172 | } |
| 180 | 173 | ||
| 181 | @Override | 174 | @Override | ... | ... |
| ... | @@ -71,10 +71,7 @@ public class LispListLcafAddress extends LispLcafAddress { | ... | @@ -71,10 +71,7 @@ public class LispListLcafAddress extends LispLcafAddress { |
| 71 | 71 | ||
| 72 | @Override | 72 | @Override |
| 73 | public int hashCode() { | 73 | public int hashCode() { |
| 74 | - final int prime = 31; | 74 | + return Objects.hash(addresses); |
| 75 | - int result = super.hashCode(); | ||
| 76 | - result = prime * result + ((addresses == null) ? 0 : addresses.hashCode()); | ||
| 77 | - return result; | ||
| 78 | } | 75 | } |
| 79 | 76 | ||
| 80 | @Override | 77 | @Override | ... | ... |
| ... | @@ -83,12 +83,7 @@ public class LispSegmentLcafAddress extends LispLcafAddress { | ... | @@ -83,12 +83,7 @@ public class LispSegmentLcafAddress extends LispLcafAddress { |
| 83 | 83 | ||
| 84 | @Override | 84 | @Override |
| 85 | public int hashCode() { | 85 | public int hashCode() { |
| 86 | - final int prime = 31; | 86 | + return Objects.hash(address, instanceId, reserved2); |
| 87 | - int result = super.hashCode(); | ||
| 88 | - result = prime * result + ((address == null) ? 0 : address.hashCode()); | ||
| 89 | - result = prime * result + instanceId; | ||
| 90 | - result = prime * result + reserved2; | ||
| 91 | - return result; | ||
| 92 | } | 87 | } |
| 93 | 88 | ||
| 94 | @Override | 89 | @Override | ... | ... |
| ... | @@ -124,14 +124,7 @@ public class LispSourceDestLcafAddress extends LispLcafAddress { | ... | @@ -124,14 +124,7 @@ public class LispSourceDestLcafAddress extends LispLcafAddress { |
| 124 | 124 | ||
| 125 | @Override | 125 | @Override |
| 126 | public int hashCode() { | 126 | public int hashCode() { |
| 127 | - final int prime = 31; | 127 | + return Objects.hash(srcPrefix, dstPrefix, srcMaskLength, dstMaskLength, reserved); |
| 128 | - int result = super.hashCode(); | ||
| 129 | - result = prime * result + ((srcPrefix == null) ? 0 : srcPrefix.hashCode()); | ||
| 130 | - result = prime * result + ((dstPrefix == null) ? 0 : dstPrefix.hashCode()); | ||
| 131 | - result = prime * result + srcMaskLength; | ||
| 132 | - result = prime * result + dstMaskLength; | ||
| 133 | - result = prime * result + reserved; | ||
| 134 | - return result; | ||
| 135 | } | 128 | } |
| 136 | 129 | ||
| 137 | @Override | 130 | @Override | ... | ... |
-
Please register or login to post a comment