public boolean subscribe(ISonarLintProject project, SonarLintProjectConfiguration config, SonarQubeNotificationListener listener) { Optional<IServer> server = SonarLintCorePlugin.getServersManager().forProject(project, config); if (!server.isPresent() || !server.get().areNotificationsEnabled()) { return false; } LastNotificationTime notificationTime = new ProjectNotificationTime(project); NotificationConfiguration configuration = new NotificationConfiguration(listener, notificationTime, config.getProjectBinding().get().serverId(), ((Server) server.get()).getConfig()); SonarQubeNotifications.get().register(configuration); return true; }
private void register(SonarLintProjectSettings settings) { unregister(); if (settings.isBindingEnabled()) { SonarQubeServer server; try { server = bindingManager.getSonarQubeServer(); } catch (InvalidBindingException e) { // do nothing return; } if (server.enableNotifications()) { NotificationConfiguration config = createConfiguration(settings, server); SonarQubeNotifications.get().register(config); } } }