use of com.intellij.openapi.application.AccessToken in project sonarlint-intellij by SonarSource.
the class IssueProcessor method process.
public void process(final SonarLintJob job, ProgressIndicator indicator, final Collection<Issue> rawIssues, Collection<ClientInputFile> failedAnalysisFiles) {
Map<VirtualFile, Collection<LiveIssue>> transformedIssues;
long start = System.currentTimeMillis();
AccessToken token = ReadAction.start();
try {
transformedIssues = transformIssues(rawIssues, job.allFiles(), failedAnalysisFiles);
// this might be updated later after tracking with server issues
manager.store(transformedIssues);
} finally {
// closeable only introduced in 2016.2
token.finish();
}
String issueStr = rawIssues.size() == 1 ? "issue" : "issues";
console.debug(String.format("Processed %d %s in %d ms", rawIssues.size(), issueStr, System.currentTimeMillis() - start));
long issuesToShow = transformedIssues.entrySet().stream().mapToLong(e -> e.getValue().size()).sum();
Collection<VirtualFile> filesWithIssues = transformedIssues.entrySet().stream().filter(e -> !e.getValue().isEmpty()).map(Map.Entry::getKey).collect(Collectors.toList());
String end = issuesToShow == 1 ? " issue" : " issues";
console.info("Found " + issuesToShow + end);
if (!filesWithIssues.isEmpty() && shouldUpdateServerIssues(job.trigger())) {
serverIssueUpdater.fetchAndMatchServerIssues(filesWithIssues, indicator, job.waitForServerIssues());
}
AnalysisCallback callback = job.callback();
if (callback != null) {
Set<VirtualFile> failedVirtualFiles = failedAnalysisFiles.stream().map(f -> (VirtualFile) f.getClientObject()).collect(Collectors.toSet());
callback.onSuccess(failedVirtualFiles);
}
}
use of com.intellij.openapi.application.AccessToken in project moe-ide-integration by multi-os-engine.
the class ModuleUtils method setOption.
public static void setOption(Module module, String key, String value) {
if ((module == null) || (value == null) || (key == null)) {
return;
}
final Module m = module;
final String k = key, v = value;
runInDispatchedThread(new Runnable() {
@Override
public void run() {
AccessToken token = WriteAction.start();
try {
m.setOption(k, v);
} finally {
token.finish();
}
}
});
}
Aggregations