alshabib

fix bug when a device disconnects. Issue was due to null roleinfo in event

Change-Id: I12d371382931ef4ab93f25f32ed6e4786735f55a
...@@ -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;
......