From 8eaf43e4f623c32dffeee880e89e057c8fefc2ef Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 17 Sep 2015 05:39:35 +0200 Subject: [PATCH] BUG-2399: take into account new ModificationTypes APPEARED/DISAPPEARED changes may occur when structural containers come and go. These should be treated as WRITE and DELETE for change resolution purposes. Change-Id: I22d7c76f149b8f72decb1c81ce960cd60ba8dc6c Signed-off-by: Robert Varga --- .../dom/store/inmemory/ResolveDataChangeEventsTask.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ResolveDataChangeEventsTask.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ResolveDataChangeEventsTask.java index 7fe2c54523..f144d4b048 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ResolveDataChangeEventsTask.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ResolveDataChangeEventsTask.java @@ -118,6 +118,7 @@ public final class ResolveDataChangeEventsTask { switch (type) { case SUBTREE_MODIFIED: return resolveSubtreeChangeEvent(state, node); + case APPEARED: case WRITE: Preconditions.checkArgument(maybeAfter.isPresent(), "Modification at {} has type {} but no after-data", state.getPath(), type); @@ -130,6 +131,7 @@ public final class ResolveDataChangeEventsTask { return resolveReplacedEvent(state, maybeBefore.get(), maybeAfter.get()); case DELETE: + case DISAPPEARED: Preconditions.checkArgument(maybeBefore.isPresent(), "Modification at {} has type {} but no before-data", state.getPath(), type); @@ -277,8 +279,10 @@ public final class ResolveDataChangeEventsTask { final ResolveDataChangeState childState = state.child(childMod.getIdentifier()); switch (childMod.getModificationType()) { - case WRITE: + case APPEARED: case DELETE: + case DISAPPEARED: + case WRITE: if (resolveAnyChangeEvent(childState, childMod)) { scope = DataChangeScope.ONE; } -- 2.36.6