From 88440ba148b9361c19cbdbb2146228f8a3221ab3 Mon Sep 17 00:00:00 2001 From: Koen Vlaswinkel Date: Fri, 7 Oct 2022 12:21:57 +0200 Subject: [PATCH] Store variant analyses in manager This will store all variant analysis that are run in the manager. Right now, it only stores the variant analyses in memory. In the future, these will be loaded from the query history and can be restored after a restart. --- .../ql-vscode/src/remote-queries/variant-analysis-manager.ts | 3 +++ .../ql-vscode/src/remote-queries/variant-analysis-monitor.ts | 2 ++ 2 files changed, 5 insertions(+) diff --git a/extensions/ql-vscode/src/remote-queries/variant-analysis-manager.ts b/extensions/ql-vscode/src/remote-queries/variant-analysis-manager.ts index 424ffcca7..c180df12c 100644 --- a/extensions/ql-vscode/src/remote-queries/variant-analysis-manager.ts +++ b/extensions/ql-vscode/src/remote-queries/variant-analysis-manager.ts @@ -23,6 +23,7 @@ import { CodeQLCliServer } from '../cli'; export class VariantAnalysisManager extends DisposableObject implements VariantAnalysisViewManager { private readonly variantAnalysisMonitor: VariantAnalysisMonitor; private readonly variantAnalysisResultsManager: VariantAnalysisResultsManager; + private readonly variantAnalyses = new Map(); private readonly views = new Map(); constructor( @@ -70,6 +71,8 @@ export class VariantAnalysisManager extends DisposableObject implements VariantA return; } + this.variantAnalyses.set(variantAnalysis.id, variantAnalysis); + await this.getView(variantAnalysis.id)?.updateView(variantAnalysis); } diff --git a/extensions/ql-vscode/src/remote-queries/variant-analysis-monitor.ts b/extensions/ql-vscode/src/remote-queries/variant-analysis-monitor.ts index 287f945e4..89a8231ff 100644 --- a/extensions/ql-vscode/src/remote-queries/variant-analysis-monitor.ts +++ b/extensions/ql-vscode/src/remote-queries/variant-analysis-monitor.ts @@ -41,6 +41,8 @@ export class VariantAnalysisMonitor extends DisposableObject { let attemptCount = 0; const scannedReposDownloaded: number[] = []; + this._onVariantAnalysisChange.fire(variantAnalysis); + while (attemptCount <= VariantAnalysisMonitor.maxAttemptCount) { await this.sleep(VariantAnalysisMonitor.sleepTime);