ONOS-6257: fixing Region-peer-location function...
- corrected UiRegion.isRoot() implementation
- added to/from-compact-strings for LayoutLocation, so we can encode
a list of them in an annotation
- Fixed bug in DistributedRegionStore which was emiting events that
had a null region as subject.
Change-Id: I547e0c7f62385b85b191b8d63e6b569196623b84
diff --git a/core/store/dist/src/main/java/org/onosproject/store/region/impl/DistributedRegionStore.java b/core/store/dist/src/main/java/org/onosproject/store/region/impl/DistributedRegionStore.java
index e00af16..c8b5299 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/region/impl/DistributedRegionStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/region/impl/DistributedRegionStore.java
@@ -247,9 +247,12 @@
@Override
public void event(MapEvent<RegionId, Set<DeviceId>> event) {
if (event.type() != MapEvent.Type.REMOVE) {
- notifyDelegate(new RegionEvent(REGION_MEMBERSHIP_CHANGED,
- regionsById.get(event.key()),
- event.newValue().value()));
+ Region r = regionsById.get(event.key());
+ if (r != null) {
+ notifyDelegate(new RegionEvent(REGION_MEMBERSHIP_CHANGED,
+ r,
+ event.newValue().value()));
+ }
}
}
}