@Override public void performGroupOperation(DeviceId deviceId, GroupOperations groupOps) { GroupProgrammable programmable = getGroupProgrammable(deviceId); if (programmable != null) { programmable.performGroupOperation(deviceId, groupOps); } }
@Deactivate public void deactivate() { eventExecutor.shutdown(); defaultProvider.terminate(); deviceService.removeListener(deviceListener); cfgService.unregisterProperties(getClass(), false); store.unsetDelegate(delegate); eventDispatcher.removeSink(GroupEvent.class); log.info("Stopped"); }
@Modified public void modified(ComponentContext context) { if (context != null) { readComponentConfiguration(context); } defaultProvider.init(deviceService, new InternalGroupProviderService(defaultProvider), mastershipService, fallbackGroupPollFrequency); }
private void pollGroups() { deviceService.getAvailableDevices().forEach(device -> { if (mastershipService.isLocalMaster(device.id()) && device.is(GroupProgrammable.class)) { pollDeviceGroups(device.id()); } }); }
private void pollDeviceGroups(DeviceId deviceId) { Collection<Group> groups = getGroupProgrammable(deviceId).getGroups(); groupProviderService.pushGroupMetrics(deviceId, groups); }