fix bug when a device disconnects. Issue was due to null roleinfo in event
Change-Id: I12d371382931ef4ab93f25f32ed6e4786735f55a
Showing
1 changed file
with
20 additions
and
2 deletions
... | @@ -143,7 +143,11 @@ public class FlowObjectiveManager implements FlowObjectiveService { | ... | @@ -143,7 +143,11 @@ public class FlowObjectiveManager implements FlowObjectiveService { |
143 | public void event(MastershipEvent event) { | 143 | public void event(MastershipEvent event) { |
144 | switch (event.type()) { | 144 | switch (event.type()) { |
145 | case MASTER_CHANGED: | 145 | case MASTER_CHANGED: |
146 | - setupPipelineHandler(event.subject()); | 146 | + if (event.roleInfo().master() != null) { |
147 | + setupPipelineHandler(event.subject()); | ||
148 | + } | ||
149 | + break; | ||
150 | + case BACKUPS_CHANGED: | ||
147 | break; | 151 | break; |
148 | default: | 152 | default: |
149 | break; | 153 | break; |
... | @@ -158,7 +162,21 @@ public class FlowObjectiveManager implements FlowObjectiveService { | ... | @@ -158,7 +162,21 @@ public class FlowObjectiveManager implements FlowObjectiveService { |
158 | switch (event.type()) { | 162 | switch (event.type()) { |
159 | case DEVICE_ADDED: | 163 | case DEVICE_ADDED: |
160 | case DEVICE_AVAILABILITY_CHANGED: | 164 | case DEVICE_AVAILABILITY_CHANGED: |
161 | - setupPipelineHandler(event.subject().id()); | 165 | + if (deviceService.isAvailable(event.subject().id())) { |
166 | + setupPipelineHandler(event.subject().id()); | ||
167 | + } | ||
168 | + break; | ||
169 | + case DEVICE_UPDATED: | ||
170 | + break; | ||
171 | + case DEVICE_REMOVED: | ||
172 | + break; | ||
173 | + case DEVICE_SUSPENDED: | ||
174 | + break; | ||
175 | + case PORT_ADDED: | ||
176 | + break; | ||
177 | + case PORT_UPDATED: | ||
178 | + break; | ||
179 | + case PORT_REMOVED: | ||
162 | break; | 180 | break; |
163 | default: | 181 | default: |
164 | break; | 182 | break; | ... | ... |
-
Please register or login to post a comment