Committed by
Gerrit Code Review
Fix for ONOS-3220 : Implement Comparable on intent Key.
Change-Id: Ibba4a972d2e3a82b5bf9256893a82501236021cb
Showing
2 changed files
with
20 additions
and
1 deletions
| ... | @@ -28,7 +28,7 @@ import java.util.Objects; | ... | @@ -28,7 +28,7 @@ import java.util.Objects; |
| 28 | */ | 28 | */ |
| 29 | // TODO maybe pull this up to utils | 29 | // TODO maybe pull this up to utils |
| 30 | @Beta | 30 | @Beta |
| 31 | -public abstract class Key { | 31 | +public abstract class Key implements Comparable<Key> { |
| 32 | 32 | ||
| 33 | //TODO consider making this a HashCode object (worry about performance) | 33 | //TODO consider making this a HashCode object (worry about performance) |
| 34 | private final long hash; | 34 | private final long hash; |
| ... | @@ -117,6 +117,12 @@ public abstract class Key { | ... | @@ -117,6 +117,12 @@ public abstract class Key { |
| 117 | Objects.equals(this.appId, other.appId) && | 117 | Objects.equals(this.appId, other.appId) && |
| 118 | Objects.equals(this.key, other.key); | 118 | Objects.equals(this.key, other.key); |
| 119 | } | 119 | } |
| 120 | + | ||
| 121 | + @Override | ||
| 122 | + public int compareTo(Key o) { | ||
| 123 | + StringKey sk = (StringKey) o; | ||
| 124 | + return this.key.compareTo(sk.key); | ||
| 125 | + } | ||
| 120 | } | 126 | } |
| 121 | 127 | ||
| 122 | private static final class LongKey extends Key { | 128 | private static final class LongKey extends Key { |
| ... | @@ -157,6 +163,13 @@ public abstract class Key { | ... | @@ -157,6 +163,13 @@ public abstract class Key { |
| 157 | this.key == other.key && | 163 | this.key == other.key && |
| 158 | Objects.equals(this.appId, other.appId); | 164 | Objects.equals(this.appId, other.appId); |
| 159 | } | 165 | } |
| 166 | + | ||
| 167 | + @Override | ||
| 168 | + public int compareTo(Key o) { | ||
| 169 | + Long myKey = key; | ||
| 170 | + Long otherKey = ((LongKey) o).key; | ||
| 171 | + return myKey.compareTo(otherKey); | ||
| 172 | + } | ||
| 160 | } | 173 | } |
| 161 | } | 174 | } |
| 162 | 175 | ... | ... |
| ... | @@ -325,5 +325,11 @@ public class PartitionManagerTest { | ... | @@ -325,5 +325,11 @@ public class PartitionManagerTest { |
| 325 | 325 | ||
| 326 | return Objects.equals(this.hash(), that.hash()); | 326 | return Objects.equals(this.hash(), that.hash()); |
| 327 | } | 327 | } |
| 328 | + | ||
| 329 | + @Override | ||
| 330 | + public int compareTo(Key o) { | ||
| 331 | + Long thisHash = hash(); | ||
| 332 | + return thisHash.compareTo(o.hash()); | ||
| 333 | + } | ||
| 328 | } | 334 | } |
| 329 | } | 335 | } | ... | ... |
-
Please register or login to post a comment