Skip to content

Commit 6c9543c

Browse files
committed
Ignored problem marker + quick fix becomes CodeAction.
1 parent 0fb7e7d commit 6c9543c

File tree

25 files changed

+119
-103
lines changed

25 files changed

+119
-103
lines changed

headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/reconcile/DiagnosticSeverityProvider.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,15 @@ static DiagnosticSeverity diagnosticSeverity(ProblemSeverity severity) {
3232
}
3333
}
3434

35-
DiagnosticSeverity getDiagnosticSeverity(ReconcileProblem problem);
35+
DiagnosticSeverity getDiagnosticSeverity(ProblemType problem);
3636

37+
default DiagnosticSeverity getDiagnosticSeverity(ReconcileProblem problem) {
38+
return getDiagnosticSeverity(problem.getType());
39+
}
40+
3741
static final DiagnosticSeverityProvider DEFAULT = (problem) -> {
38-
ProblemSeverity severity = problem.getType().getDefaultSeverity();
42+
ProblemSeverity severity = problem.getDefaultSeverity();
3943
return diagnosticSeverity(severity);
4044
};
45+
4146
}

headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -753,7 +753,7 @@ public void checkPointCollecting() {
753753
@Override
754754
public void accept(ReconcileProblem problem) {
755755
try {
756-
DiagnosticSeverity severity = getDiagnosticSeverity(problem);
756+
DiagnosticSeverity severity = severityProvider.getDiagnosticSeverity(problem);
757757
if (severity!=null) {
758758
Diagnostic d = new Diagnostic();
759759
d.setCode(problem.getCode());
@@ -788,10 +788,6 @@ public void accept(ReconcileProblem problem) {
788788
};
789789
}
790790

791-
public DiagnosticSeverity getDiagnosticSeverity(ReconcileProblem problem) {
792-
return severityProvider.getDiagnosticSeverity(problem);
793-
}
794-
795791
/**
796792
* If reconciling is in progress, waits until reconciling has caught up to
797793
* all the document changes.
@@ -824,6 +820,10 @@ public boolean canRegisterFileWatchersDynamically() {
824820
public DiagnosticService getDiagnosticService() {
825821
return diagnosticService;
826822
}
823+
824+
public DiagnosticSeverityProvider getDiagnosticSeverityProvider() {
825+
return severityProvider;
826+
}
827827

828828
@Override
829829
public SimpleLanguageServer getServer() {

headless-services/commons/commons-rewrite-test/src/main/java/org/springframework/rewrite/test/HelloMethodRenameProblemDescriptor.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,10 @@
2727
import org.springframework.ide.vscode.commons.languageserver.reconcile.ProblemTypes;
2828
import org.springframework.ide.vscode.commons.rewrite.config.RecipeCodeActionDescriptor;
2929
import org.springframework.ide.vscode.commons.rewrite.config.RecipeScope;
30-
import org.springframework.ide.vscode.commons.rewrite.config.RecipeSpringJavaProblemDescriptor;
3130
import org.springframework.ide.vscode.commons.rewrite.java.FixAssistMarker;
3231
import org.springframework.ide.vscode.commons.rewrite.java.FixDescriptor;
3332

34-
public class HelloMethodRenameProblemDescriptor implements RecipeSpringJavaProblemDescriptor {
33+
public class HelloMethodRenameProblemDescriptor implements RecipeCodeActionDescriptor {
3534

3635
private static final String LABEL = "Switch hello method into bye";
3736
private static final String RECIPE_ID = "org.springframework.rewrite.test.HelloMethodRenameRecipe";

headless-services/commons/commons-rewrite-test/src/main/java/org/springframework/rewrite/test/StsTestCodeActionRepo.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,15 @@
1010
*******************************************************************************/
1111
package org.springframework.rewrite.test;
1212

13-
import java.util.Collections;
1413
import java.util.List;
1514

1615
import org.springframework.ide.vscode.commons.rewrite.config.CodeActionRepository;
1716
import org.springframework.ide.vscode.commons.rewrite.config.RecipeCodeActionDescriptor;
18-
import org.springframework.ide.vscode.commons.rewrite.config.RecipeSpringJavaProblemDescriptor;
1917

2018
public class StsTestCodeActionRepo extends CodeActionRepository {
2119

2220
@Override
2321
public List<RecipeCodeActionDescriptor> getCodeActionDescriptors() {
24-
return Collections.emptyList();
25-
}
26-
27-
@Override
28-
public List<RecipeSpringJavaProblemDescriptor> getProblemDescriptors() {
2922
return List.of(new HelloMethodRenameProblemDescriptor());
3023
}
3124

headless-services/commons/commons-rewrite/src/main/java/org/springframework/ide/vscode/commons/rewrite/config/CodeActionRepository.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,4 @@ public abstract class CodeActionRepository {
1616

1717
public abstract List<RecipeCodeActionDescriptor> getCodeActionDescriptors();
1818

19-
public abstract List<RecipeSpringJavaProblemDescriptor> getProblemDescriptors();
20-
2119
}

headless-services/commons/commons-rewrite/src/main/java/org/springframework/ide/vscode/commons/rewrite/config/RecipeCodeActionDescriptor.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.openrewrite.java.JavaVisitor;
1515
import org.springframework.context.ApplicationContext;
1616
import org.springframework.ide.vscode.commons.java.IJavaProject;
17+
import org.springframework.ide.vscode.commons.languageserver.reconcile.ProblemType;
1718

1819
public interface RecipeCodeActionDescriptor {
1920

@@ -24,6 +25,10 @@ default String getId() {
2425
JavaVisitor<ExecutionContext> getMarkerVisitor(ApplicationContext applicationContext);
2526

2627
boolean isApplicable(IJavaProject project);
28+
29+
default ProblemType getProblemType() {
30+
return null;
31+
}
2732

2833
static String buildLabel(String label, RecipeScope s) {
2934
switch (s) {

headless-services/commons/commons-rewrite/src/main/java/org/springframework/ide/vscode/commons/rewrite/config/RecipeSpringJavaProblemDescriptor.java

Lines changed: 0 additions & 19 deletions
This file was deleted.

headless-services/commons/commons-rewrite/src/main/java/org/springframework/ide/vscode/commons/rewrite/config/StsEnvironment.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,6 @@ public List<RecipeCodeActionDescriptor> listCodeActionDescriptors() {
7777
return codeActionRepos.get().flatMap(r -> r.getCodeActionDescriptors().stream()).collect(Collectors.toList());
7878
}
7979

80-
public List<RecipeSpringJavaProblemDescriptor> listProblemDescriptors() {
81-
return codeActionRepos.get().flatMap(r -> r.getProblemDescriptors().stream()).collect(Collectors.toList());
82-
}
83-
8480
public static Builder builder() {
8581
return new Builder(new Properties());
8682
}

headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/ConcourseDiagnosticSeverities.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,18 @@
1313
import org.eclipse.lsp4j.DiagnosticSeverity;
1414
import org.springframework.ide.vscode.commons.languageserver.reconcile.DiagnosticSeverityProvider;
1515
import org.springframework.ide.vscode.commons.languageserver.reconcile.ProblemType;
16-
import org.springframework.ide.vscode.commons.languageserver.reconcile.ReconcileProblem;
1716
import org.springframework.ide.vscode.commons.yaml.reconcile.YamlSchemaProblems;
1817
import org.springframework.stereotype.Component;
1918

2019
@Component
2120
public class ConcourseDiagnosticSeverities implements DiagnosticSeverityProvider {
2221

2322
@Override
24-
public DiagnosticSeverity getDiagnosticSeverity(ReconcileProblem problem) {
25-
ProblemType type = problem.getType();
23+
public DiagnosticSeverity getDiagnosticSeverity(ProblemType type) {
2624
if (YamlSchemaProblems.PROPERTY_CONSTRAINT.contains(type)) {
2725
return DiagnosticSeverity.Warning;
2826
}
29-
return DEFAULT.getDiagnosticSeverity(problem);
27+
return DEFAULT.getDiagnosticSeverity(type);
3028
}
3129

3230
}

headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/ProblemSeverityConfigurer.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import org.springframework.beans.factory.annotation.Autowired;
1818
import org.springframework.ide.vscode.commons.languageserver.reconcile.DiagnosticSeverityProvider;
1919
import org.springframework.ide.vscode.commons.languageserver.reconcile.ProblemSeverity;
20-
import org.springframework.ide.vscode.commons.languageserver.reconcile.ReconcileProblem;
20+
import org.springframework.ide.vscode.commons.languageserver.reconcile.ProblemType;
2121
import org.springframework.ide.vscode.commons.languageserver.util.Settings;
2222
import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer;
2323
import org.springframework.ide.vscode.commons.util.Assert;
@@ -51,10 +51,10 @@ private void configChanged() {
5151
severityOverrides.put(code, ProblemSeverity.valueOf(severity));
5252
}
5353
}
54-
server.setDiagnosticSeverityProvider((ReconcileProblem problem) -> {
55-
ProblemSeverity severity = severityOverrides.get(problem.getType().getCode());
54+
server.setDiagnosticSeverityProvider((ProblemType problem) -> {
55+
ProblemSeverity severity = severityOverrides.get(problem.getCode());
5656
if (severity==null) {
57-
severity = problem.getType().getDefaultSeverity();
57+
severity = problem.getDefaultSeverity();
5858
}
5959
return DiagnosticSeverityProvider.diagnosticSeverity(severity);
6060
});

0 commit comments

Comments
 (0)