From 284cb77b1d314be2d4d612cf92c275aad9b8a6d9 Mon Sep 17 00:00:00 2001 From: Vaclav Demcak Date: Thu, 25 Aug 2016 16:20:48 +0200 Subject: [PATCH] Bug 6540 - HotFix for IsolatedLeader message handler Change-Id: Icc495dbbbc5583ed68f162ace0e7f2ab12c498c3 Signed-off-by: Vaclav Demcak --- .../api/EntityOwnershipChangeState.java | 21 ++++++++++++------- .../api/EntityOwnershipChangeStateTest.java | 9 +++----- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/entityownership/mdsal-eos-common-api/src/main/java/org/opendaylight/mdsal/eos/common/api/EntityOwnershipChangeState.java b/entityownership/mdsal-eos-common-api/src/main/java/org/opendaylight/mdsal/eos/common/api/EntityOwnershipChangeState.java index 1c222fc1b8..ef98ff99c5 100644 --- a/entityownership/mdsal-eos-common-api/src/main/java/org/opendaylight/mdsal/eos/common/api/EntityOwnershipChangeState.java +++ b/entityownership/mdsal-eos-common-api/src/main/java/org/opendaylight/mdsal/eos/common/api/EntityOwnershipChangeState.java @@ -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 BY_KEY; static { - Builder builder = ImmutableMap.builder(); - for(EntityOwnershipChangeState e: values()) { + final Builder builder = ImmutableMap.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; } } diff --git a/entityownership/mdsal-eos-common-api/src/test/java/org/opendaylight/mdsal/eos/common/api/EntityOwnershipChangeStateTest.java b/entityownership/mdsal-eos-common-api/src/test/java/org/opendaylight/mdsal/eos/common/api/EntityOwnershipChangeStateTest.java index 7957523a04..046bf4320a 100644 --- a/entityownership/mdsal-eos-common-api/src/test/java/org/opendaylight/mdsal/eos/common/api/EntityOwnershipChangeStateTest.java +++ b/entityownership/mdsal-eos-common-api/src/test/java/org/opendaylight/mdsal/eos/common/api/EntityOwnershipChangeStateTest.java @@ -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 +} -- 2.36.6