- return listener;
- }
-
- private void listenModule(String moduleName) {
- if(repository == null)
- return;
- Failable<Module> result = repository.getModule(moduleName, getUpdateListener(moduleName));
- synchronized(currentFailures) {
- if(result instanceof Failure) {
- Failure failure = (Failure)result;
- currentFailures.put(moduleName, failure.errors);
- }
- else if(result == DoesNotExist.INSTANCE) {
- if(currentFailures.remove(moduleName) == null)
- return;
- }
- else {
- CompilationError[] warnings = result.getResult().getWarnings();
- if(warnings.length == 0) {
- if(currentFailures.remove(moduleName) == null)
- return;
- }
- else {
- currentFailures.put(moduleName, warnings);
- }
- }
+ if(newInput != null) {
+ issueProviders = SCLIssueFactoryProvider.getSCLIssueProviderFactories().stream().map(f -> f.getSCLIssueProvider()).collect(Collectors.toList());
+ issueProviders.forEach(p -> p.listenIssues(() -> refresh()));