Committed by
Gerrit Code Review
ONOS-2694: Unregister a device from resources when it is removed
Change-Id: I01e4dad8eea3e8042749d63696e1c1f2162c78f7
Showing
1 changed file
with
7 additions
and
0 deletions
... | @@ -52,6 +52,9 @@ final class ResourceDeviceListener implements DeviceListener { | ... | @@ -52,6 +52,9 @@ final class ResourceDeviceListener implements DeviceListener { |
52 | case DEVICE_ADDED: | 52 | case DEVICE_ADDED: |
53 | registerDeviceResource(device); | 53 | registerDeviceResource(device); |
54 | break; | 54 | break; |
55 | + case DEVICE_REMOVED: | ||
56 | + unregisterDeviceResource(device); | ||
57 | + break; | ||
55 | case PORT_ADDED: | 58 | case PORT_ADDED: |
56 | registerPortResource(device, event.port()); | 59 | registerPortResource(device, event.port()); |
57 | break; | 60 | break; |
... | @@ -64,6 +67,10 @@ final class ResourceDeviceListener implements DeviceListener { | ... | @@ -64,6 +67,10 @@ final class ResourceDeviceListener implements DeviceListener { |
64 | executor.submit(() -> adminService.registerResources(ResourcePath.ROOT, device.id())); | 67 | executor.submit(() -> adminService.registerResources(ResourcePath.ROOT, device.id())); |
65 | } | 68 | } |
66 | 69 | ||
70 | + private void unregisterDeviceResource(Device device) { | ||
71 | + executor.submit(() -> adminService.unregisterResources(ResourcePath.ROOT, device.id())); | ||
72 | + } | ||
73 | + | ||
67 | private void registerPortResource(Device device, Port port) { | 74 | private void registerPortResource(Device device, Port port) { |
68 | ResourcePath parent = new ResourcePath(device.id()); | 75 | ResourcePath parent = new ResourcePath(device.id()); |
69 | executor.submit(() -> adminService.registerResources(parent, port.number())); | 76 | executor.submit(() -> adminService.registerResources(parent, port.number())); | ... | ... |
-
Please register or login to post a comment