@@ -147,7 +147,7 @@ protected void analyzeFiles(List<InputFile> inputFiles) throws IOException {
147147 }
148148 }
149149
150- class AnalyzeProjectHandler implements WebSocketMessageHandler {
150+ class AnalyzeProjectHandler implements WebSocketMessageHandler < ProjectAnalysisRequest > {
151151
152152 private final JsTsContext <?> context ;
153153 private final Map <String , List <ExternalIssue >> externalIssues ;
@@ -231,42 +231,35 @@ public CompletableFuture<Void> getFuture() {
231231 @ Override
232232 public void handleMessage (JsonObject jsonObject ) {
233233 var messageType = jsonObject .get ("messageType" ).getAsString ();
234- switch (messageType ) {
235- case "fileResult" :
236- var filePath = jsonObject .get ("filename" ).getAsString ();
237- var response = BridgeServer .AnalysisResponse .fromDTO (
238- GSON .fromJson (jsonObject , BridgeServer .AnalysisResponseDTO .class )
239- );
240- var file = fileToInputFile .get (filePath );
241- var cacheStrategy = fileToCacheStrategy .get (filePath );
242- var issues = analysisProcessor .processResponse (context , checks , file , response );
243- var dedupedIssues = ExternalIssueRepository .deduplicateIssues (
244- externalIssues .get (filePath ),
245- issues
234+ if ("fileResult" .equals (messageType )) {
235+ var filePath = jsonObject .get ("filename" ).getAsString ();
236+ var response = BridgeServer .AnalysisResponse .fromDTO (
237+ GSON .fromJson (jsonObject , BridgeServer .AnalysisResponseDTO .class )
238+ );
239+ var file = fileToInputFile .get (filePath );
240+ var cacheStrategy = fileToCacheStrategy .get (filePath );
241+ var issues = analysisProcessor .processResponse (context , checks , file , response );
242+ var dedupedIssues = ExternalIssueRepository .deduplicateIssues (
243+ externalIssues .get (filePath ),
244+ issues
245+ );
246+ if (!dedupedIssues .isEmpty ()) {
247+ ExternalIssueRepository .saveESLintIssues (context .getSensorContext (), dedupedIssues );
248+ }
249+ externalIssues .remove (filePath );
250+ try {
251+ cacheStrategy .writeAnalysisToCache (
252+ CacheAnalysis .fromResponse (response .ucfgPaths (), response .cpdTokens (), response .ast ()),
253+ file
246254 );
247- if (!dedupedIssues .isEmpty ()) {
248- ExternalIssueRepository .saveESLintIssues (context .getSensorContext (), dedupedIssues );
249- }
250- externalIssues .remove (filePath );
251- try {
252- cacheStrategy .writeAnalysisToCache (
253- CacheAnalysis .fromResponse (
254- response .ucfgPaths (),
255- response .cpdTokens (),
256- response .ast ()
257- ),
258- file
259- );
260- } catch (IOException e ) {
261- handle .completeExceptionally (new IllegalStateException (e ));
262- }
263- acceptAstResponse (response .ast (), file );
264- break ;
265- case "meta" :
266- var meta = GSON .fromJson (jsonObject , BridgeServer .ProjectAnalysisMetaResponse .class );
267- meta .warnings ().forEach (analysisWarnings ::addUnique );
268- handle .complete (null );
269- break ;
255+ } catch (IOException e ) {
256+ handle .completeExceptionally (new IllegalStateException (e ));
257+ }
258+ acceptAstResponse (response .ast (), file );
259+ } else if ("meta" .equals (messageType )) {
260+ var meta = GSON .fromJson (jsonObject , BridgeServer .ProjectAnalysisMetaResponse .class );
261+ meta .warnings ().forEach (analysisWarnings ::addUnique );
262+ handle .complete (null );
270263 }
271264 }
272265
0 commit comments