Bug 6540 - HotFix for IsolatedLeader message handler 57/45257/2
authorVaclav Demcak <vdemcak@cisco.com>
Thu, 25 Aug 2016 14:20:48 +0000 (16:20 +0200)
committerTom Pantelis <tpanteli@brocade.com>
Tue, 6 Sep 2016 20:23:50 +0000 (16:23 -0400)
Change-Id: Icc495dbbbc5583ed68f162ace0e7f2ab12c498c3
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
entityownership/mdsal-eos-common-api/src/main/java/org/opendaylight/mdsal/eos/common/api/EntityOwnershipChangeState.java
entityownership/mdsal-eos-common-api/src/test/java/org/opendaylight/mdsal/eos/common/api/EntityOwnershipChangeStateTest.java

index 1c222fc1b8457ec1c6c02debf7edc5987fc5ea0d..ef98ff99c5e96f7e208213b2d2b9fbb7bf134e6d 100644 (file)
@@ -34,6 +34,11 @@ public enum EntityOwnershipChangeState {
      */
     LOCAL_OWNERSHIP_LOST_NO_OWNER(true, false, false),
 
+    /**
+     * The local process instance ownership has not changed but some other aspect has changed (for example inJeopardy).
+     */
+    LOCAL_OWNERSHIP_RETAINED_WITH_NO_CHANGE(true, true, true),
+
     /**
      * Entity ownership has transitioned to another process instance and this instance was not the previous owner.
      */
@@ -47,8 +52,8 @@ public enum EntityOwnershipChangeState {
 
     private static final Map<Key, EntityOwnershipChangeState> BY_KEY;
     static {
-        Builder<Key, EntityOwnershipChangeState> builder = ImmutableMap.<Key, EntityOwnershipChangeState>builder();
-        for(EntityOwnershipChangeState e: values()) {
+        final Builder<Key, EntityOwnershipChangeState> builder = ImmutableMap.<Key, EntityOwnershipChangeState>builder();
+        for(final EntityOwnershipChangeState e: values()) {
             builder.put(new Key(e.wasOwner, e.isOwner, e.hasOwner), e);
         }
 
@@ -59,7 +64,7 @@ public enum EntityOwnershipChangeState {
     private final boolean isOwner;
     private final boolean hasOwner;
 
-    private EntityOwnershipChangeState(boolean wasOwner, boolean isOwner, boolean hasOwner) {
+    private EntityOwnershipChangeState(final boolean wasOwner, final boolean isOwner, final boolean hasOwner) {
         this.wasOwner = wasOwner;
         this.isOwner = isOwner;
         this.hasOwner = hasOwner;
@@ -95,8 +100,8 @@ public enum EntityOwnershipChangeState {
         return name() + " [wasOwner=" + wasOwner + ", isOwner=" + isOwner + ", hasOwner=" + hasOwner + "]";
     }
 
-    public static EntityOwnershipChangeState from(boolean wasOwner, boolean isOwner, boolean hasOwner) {
-        EntityOwnershipChangeState state = BY_KEY.get(new Key(wasOwner, isOwner, hasOwner));
+    public static EntityOwnershipChangeState from(final boolean wasOwner, final boolean isOwner, final boolean hasOwner) {
+        final EntityOwnershipChangeState state = BY_KEY.get(new Key(wasOwner, isOwner, hasOwner));
         Preconditions.checkArgument(state != null, "Invalid combination of wasOwner: %s, isOwner: %s, hasOwner: %s",
                 wasOwner, isOwner, hasOwner);
         return state;
@@ -107,7 +112,7 @@ public enum EntityOwnershipChangeState {
         private final boolean isOwner;
         private final boolean hasOwner;
 
-        Key(boolean wasOwner, boolean isOwner, boolean hasOwner) {
+        Key(final boolean wasOwner, final boolean isOwner, final boolean hasOwner) {
             this.wasOwner = wasOwner;
             this.isOwner = isOwner;
             this.hasOwner = hasOwner;
@@ -124,8 +129,8 @@ public enum EntityOwnershipChangeState {
         }
 
         @Override
-        public boolean equals(Object obj) {
-            Key other = (Key) obj;
+        public boolean equals(final Object obj) {
+            final Key other = (Key) obj;
             return hasOwner == other.hasOwner && isOwner == other.isOwner && wasOwner == other.wasOwner;
         }
     }
index 7957523a04917cfe57a00fb19e85df7d20e4cf7c..046bf4320ad7e09a2b2d8f97992f08efa2d94f5a 100644 (file)
@@ -33,6 +33,8 @@ public class EntityOwnershipChangeStateTest {
                 EntityOwnershipChangeState.from(false, false, true));
         assertEquals("from(false, false, false)", EntityOwnershipChangeState.REMOTE_OWNERSHIP_LOST_NO_OWNER,
                 EntityOwnershipChangeState.from(false, false, false));
+        assertEquals("from(true, true, true)", EntityOwnershipChangeState.LOCAL_OWNERSHIP_RETAINED_WITH_NO_CHANGE,
+                EntityOwnershipChangeState.from(true, true, true));
     }
 
     @Test(expected=IllegalArgumentException.class)
@@ -45,11 +47,6 @@ public class EntityOwnershipChangeStateTest {
         EntityOwnershipChangeState.from(true, true, false);
     }
 
-    @Test(expected=IllegalArgumentException.class)
-    public void testFromWithInvalidTrueTrueTrue() {
-        EntityOwnershipChangeState.from(true, true, true);
-    }
-
     @Test
     public void basicTest() throws Exception {
         EntityOwnershipChangeState entityOwnershipChangeState = EntityOwnershipChangeState.from(false, true, true);
@@ -58,4 +55,4 @@ public class EntityOwnershipChangeStateTest {
         assertFalse(entityOwnershipChangeState.wasOwner());
         assertTrue(entityOwnershipChangeState.toString().matches(".*false.*true.*true.*"));
     }
-}
\ No newline at end of file
+}