More robust rewrite recipe ids for code actions
This commit is contained in:
@@ -148,6 +148,9 @@ public class RewriteRefactorings implements CodeActionResolver, QuickfixHandler
|
||||
if (project.isPresent()) {
|
||||
boolean projectWide = data.getRecipeScope() == RecipeScope.PROJECT;
|
||||
Recipe r = createRecipe(data);
|
||||
if (r == null) {
|
||||
log.warn("Code Action failed to resolve. Could not create recipe created with id '" + data.getRecipeId() + "'.");
|
||||
}
|
||||
List<CompilationUnit> cus = Collections.emptyList();
|
||||
if (projectWide) {
|
||||
JavaParser jp = ORAstUtils.createJavaParserBuilder(project.get()).dependsOn(data.getTypeStubs()).build();
|
||||
|
||||
@@ -34,7 +34,7 @@ import org.springframework.ide.vscode.commons.rewrite.java.JavaMarkerVisitor;
|
||||
|
||||
public class AddConfigurationIfBeansPresentCodeAction implements RecipeCodeActionDescriptor {
|
||||
|
||||
private static final String ID = "org.openrewrite.java.spring.boot2.AddConfigurationAnnotationIfBeansPresent";
|
||||
private static final String ID = AddConfigurationAnnotationIfBeansPresent.class.getName();
|
||||
|
||||
private static final String PROBLEM_LABEL = "'@Configuration' is missing on a class defining Spring Beans";
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ import org.openrewrite.SourceFile;
|
||||
import org.openrewrite.Tree;
|
||||
import org.openrewrite.java.JavaVisitor;
|
||||
import org.openrewrite.java.MethodMatcher;
|
||||
import org.openrewrite.java.spring.boot2.AuthorizeHttpRequests;
|
||||
import org.openrewrite.java.tree.J.MethodInvocation;
|
||||
import org.openrewrite.java.tree.J.VariableDeclarations;
|
||||
import org.openrewrite.java.tree.JavaType.FullyQualified;
|
||||
@@ -34,7 +35,7 @@ import org.springframework.ide.vscode.commons.rewrite.java.JavaMarkerVisitor;
|
||||
|
||||
public class AuthorizeHttpRequestsCodeAction implements RecipeCodeActionDescriptor {
|
||||
|
||||
private static final String ID = "org.openrewrite.java.spring.boot2.AuthorizeHttpRequests";
|
||||
private static final String ID = AuthorizeHttpRequests.class.getName();
|
||||
|
||||
private static final MethodMatcher MATCH_AUTHORIZE_REQUESTS = new MethodMatcher(
|
||||
"org.springframework.security.config.annotation.web.builders.HttpSecurity authorizeRequests(..)");
|
||||
|
||||
@@ -39,6 +39,7 @@ import org.springframework.ide.vscode.commons.rewrite.config.MarkerVisitorContex
|
||||
import org.springframework.ide.vscode.commons.rewrite.config.RecipeCodeActionDescriptor;
|
||||
import org.springframework.ide.vscode.commons.rewrite.config.RecipeScope;
|
||||
import org.springframework.ide.vscode.commons.rewrite.java.AnnotationHierarchies;
|
||||
import org.springframework.ide.vscode.commons.rewrite.java.ConvertAutowiredFieldIntoConstructorParameter;
|
||||
import org.springframework.ide.vscode.commons.rewrite.java.FixAssistMarker;
|
||||
import org.springframework.ide.vscode.commons.rewrite.java.FixDescriptor;
|
||||
import org.springframework.ide.vscode.commons.rewrite.java.JavaMarkerVisitor;
|
||||
@@ -48,7 +49,7 @@ import org.springframework.ide.vscode.commons.rewrite.java.ProjectParser;
|
||||
public class AutowiredFieldIntoConstructorParameterCodeAction implements RecipeCodeActionDescriptor {
|
||||
|
||||
private static final String LABEL = "Convert @Autowired field into Constructor Parameter";
|
||||
private static final String ID = "org.springframework.ide.vscode.commons.rewrite.java.ConvertAutowiredFieldIntoConstructorParameter";
|
||||
private static final String ID = ConvertAutowiredFieldIntoConstructorParameter.class.getName();
|
||||
private static final String AUTOWIRED = "org.springframework.beans.factory.annotation.Autowired";
|
||||
|
||||
@Override
|
||||
|
||||
@@ -18,6 +18,7 @@ import org.openrewrite.Tree;
|
||||
import org.openrewrite.internal.ListUtils;
|
||||
import org.openrewrite.java.AnnotationMatcher;
|
||||
import org.openrewrite.java.JavaVisitor;
|
||||
import org.openrewrite.java.spring.BeanMethodsNotPublic;
|
||||
import org.openrewrite.java.tree.J;
|
||||
import org.openrewrite.java.tree.TypeUtils;
|
||||
import org.openrewrite.marker.Range;
|
||||
@@ -33,7 +34,7 @@ import org.springframework.ide.vscode.commons.rewrite.java.JavaMarkerVisitor;
|
||||
|
||||
public class BeanMethodNotPublicProblem implements RecipeCodeActionDescriptor {
|
||||
|
||||
private static final String ID = "org.openrewrite.java.spring.BeanMethodsNotPublic";
|
||||
private static final String ID = BeanMethodsNotPublic.class.getName();
|
||||
|
||||
private static final String LABEL = "Remove 'public' from @Bean method";
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ import org.springframework.ide.vscode.commons.rewrite.java.JavaMarkerVisitor;
|
||||
|
||||
public class BeanPostProcessingIgnoreInAotProblem implements RecipeCodeActionDescriptor {
|
||||
|
||||
private static final String RECIPE_ID = "org.springframework.ide.vscode.commons.rewrite.java.BeanPostProcessingIgnoreInAot";
|
||||
private static final String RECIPE_ID = BeanPostProcessingIgnoreInAot.class.getName();
|
||||
private static final String LABEL = "Add method 'isBeanExcludedFromAotProcessing' that returns 'false'";
|
||||
|
||||
@Override
|
||||
|
||||
@@ -28,7 +28,7 @@ import org.springframework.ide.vscode.commons.rewrite.java.FixAssistMarker;
|
||||
|
||||
public class EntityIdForRepoProblem implements RecipeCodeActionDescriptor {
|
||||
|
||||
private static final String ID = "org.openrewrite.java.spring.boot2.search.EntityIdForRepositoryVisitor";
|
||||
private static final String ID = EntityIdForRepositoryVisitor.class.getName();
|
||||
|
||||
@Override
|
||||
public JavaVisitor<ExecutionContext> getMarkerVisitor(MarkerVisitorContext context) {
|
||||
|
||||
@@ -20,6 +20,7 @@ import org.openrewrite.Tree;
|
||||
import org.openrewrite.internal.ListUtils;
|
||||
import org.openrewrite.java.AnnotationMatcher;
|
||||
import org.openrewrite.java.JavaVisitor;
|
||||
import org.openrewrite.java.spring.NoAutowiredOnConstructor;
|
||||
import org.openrewrite.java.tree.J;
|
||||
import org.openrewrite.java.tree.J.ClassDeclaration;
|
||||
import org.openrewrite.java.tree.J.MethodDeclaration;
|
||||
@@ -41,7 +42,7 @@ public class NoAutowiredOnConstructorProblem implements RecipeCodeActionDescript
|
||||
|
||||
private static final AnnotationMatcher BOOT_TEST_ANNOTATION_MATCHER = new AnnotationMatcher(
|
||||
"@org.springframework.boot.test.context.SpringBootTest", true);
|
||||
private static final String ID = "org.openrewrite.java.spring.NoAutowiredOnConstructor";
|
||||
private static final String ID = NoAutowiredOnConstructor.class.getName();
|
||||
private static final String LABEL = "Remove Unnecessary @Autowired";
|
||||
|
||||
@Override
|
||||
|
||||
@@ -19,6 +19,7 @@ import org.openrewrite.SourceFile;
|
||||
import org.openrewrite.Tree;
|
||||
import org.openrewrite.internal.ListUtils;
|
||||
import org.openrewrite.java.JavaVisitor;
|
||||
import org.openrewrite.java.spring.NoRepoAnnotationOnRepoInterface;
|
||||
import org.openrewrite.java.tree.J;
|
||||
import org.openrewrite.java.tree.J.ClassDeclaration;
|
||||
import org.openrewrite.java.tree.JavaType;
|
||||
@@ -36,7 +37,7 @@ import org.springframework.ide.vscode.commons.rewrite.java.JavaMarkerVisitor;
|
||||
|
||||
public class NoRepoAnnotationProblem implements RecipeCodeActionDescriptor {
|
||||
|
||||
private static final String ID = "org.openrewrite.java.spring.NoRepoAnnotationOnRepoInterface";
|
||||
private static final String ID = NoRepoAnnotationOnRepoInterface.class.getName();
|
||||
private static final String LABEL = "Remove Unnecessary @Repository";
|
||||
private static final String INTERFACE_REPOSITORY = "org.springframework.data.repository.Repository";
|
||||
private static final String ANNOTATION_REPOSITORY = Annotations.REPOSITORY;
|
||||
|
||||
@@ -19,6 +19,7 @@ import org.openrewrite.SourceFile;
|
||||
import org.openrewrite.Tree;
|
||||
import org.openrewrite.java.AnnotationMatcher;
|
||||
import org.openrewrite.java.JavaVisitor;
|
||||
import org.openrewrite.java.spring.NoRequestMappingAnnotation;
|
||||
import org.openrewrite.java.tree.J;
|
||||
import org.openrewrite.marker.Range;
|
||||
import org.springframework.ide.vscode.boot.java.Boot2JavaProblemType;
|
||||
@@ -34,7 +35,7 @@ import org.springframework.ide.vscode.commons.rewrite.java.JavaMarkerVisitor;
|
||||
public class NoRequestMappingAnnotationCodeAction implements RecipeCodeActionDescriptor {
|
||||
|
||||
private static final String LABEL = "Replace @RequestMapping with specific @GetMapping, @PostMapping etc.";
|
||||
private static final String ID = "org.openrewrite.java.spring.NoRequestMappingAnnotation";
|
||||
private static final String ID = NoRequestMappingAnnotation.class.getName();
|
||||
private static final AnnotationMatcher REQUEST_MAPPING_ANNOTATION_MATCHER = new AnnotationMatcher("@org.springframework.web.bind.annotation.RequestMapping");
|
||||
|
||||
@Override
|
||||
|
||||
@@ -39,6 +39,7 @@ import org.springframework.ide.vscode.commons.languageserver.reconcile.ProblemTy
|
||||
import org.springframework.ide.vscode.commons.rewrite.config.MarkerVisitorContext;
|
||||
import org.springframework.ide.vscode.commons.rewrite.config.RecipeCodeActionDescriptor;
|
||||
import org.springframework.ide.vscode.commons.rewrite.config.RecipeScope;
|
||||
import org.springframework.ide.vscode.commons.rewrite.java.DefineMethod;
|
||||
import org.springframework.ide.vscode.commons.rewrite.java.FixAssistMarker;
|
||||
import org.springframework.ide.vscode.commons.rewrite.java.FixDescriptor;
|
||||
import org.springframework.ide.vscode.commons.rewrite.java.JavaMarkerVisitor;
|
||||
@@ -49,7 +50,7 @@ import com.google.common.collect.ImmutableSet;
|
||||
|
||||
public class NotRegisteredBeansProblem implements RecipeCodeActionDescriptor {
|
||||
|
||||
private static final String DEFINE_METHOD_RECIPE = "org.springframework.ide.vscode.commons.rewrite.java.DefineMethod";
|
||||
private static final String DEFINE_METHOD_RECIPE = DefineMethod.class.getName();
|
||||
|
||||
private static final List<String> AOT_BEANS = List.of(
|
||||
"org.springframework.beans.factory.aot.BeanFactoryInitializationAotProcessor",
|
||||
|
||||
@@ -19,6 +19,7 @@ import org.openrewrite.ExecutionContext;
|
||||
import org.openrewrite.SourceFile;
|
||||
import org.openrewrite.Tree;
|
||||
import org.openrewrite.java.JavaVisitor;
|
||||
import org.openrewrite.java.spring.boot3.PreciseBeanType;
|
||||
import org.openrewrite.java.tree.J;
|
||||
import org.openrewrite.java.tree.J.Return;
|
||||
import org.openrewrite.java.tree.JavaType;
|
||||
@@ -35,7 +36,7 @@ import org.springframework.ide.vscode.commons.rewrite.java.JavaMarkerVisitor;
|
||||
|
||||
public class PreciseBeanTypeProblem implements RecipeCodeActionDescriptor {
|
||||
|
||||
private static final String RECIPE_ID = "org.openrewrite.java.spring.boot3.PreciseBeanType";
|
||||
private static final String RECIPE_ID = PreciseBeanType.class.getName();
|
||||
|
||||
private static final String LABEL = "Ensure concrete bean type";
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.openrewrite.Tree;
|
||||
import org.openrewrite.internal.ListUtils;
|
||||
import org.openrewrite.java.AnnotationMatcher;
|
||||
import org.openrewrite.java.JavaVisitor;
|
||||
import org.openrewrite.java.spring.boot2.UnnecessarySpringExtension;
|
||||
import org.openrewrite.java.tree.J.ClassDeclaration;
|
||||
import org.openrewrite.java.tree.JavaType.FullyQualified;
|
||||
import org.openrewrite.java.tree.TypeUtils;
|
||||
@@ -36,7 +37,7 @@ import org.springframework.ide.vscode.commons.rewrite.java.JavaMarkerVisitor;
|
||||
public class UnnecessarySpringExtensionProblem implements RecipeCodeActionDescriptor {
|
||||
|
||||
private static final String LABEL = "Remove unnecessary @SpringExtension";
|
||||
private static final String ID = "org.openrewrite.java.spring.boot2.UnnecessarySpringExtension";
|
||||
private static final String ID = UnnecessarySpringExtension.class.getName();
|
||||
private static final List<String> SPRING_BOOT_TEST_ANNOTATIONS = Arrays.asList(
|
||||
"org.springframework.boot.test.context.SpringBootTest",
|
||||
"org.springframework.boot.test.autoconfigure.jdbc.JdbcTest",
|
||||
|
||||
@@ -17,6 +17,7 @@ import org.openrewrite.ExecutionContext;
|
||||
import org.openrewrite.SourceFile;
|
||||
import org.openrewrite.Tree;
|
||||
import org.openrewrite.java.JavaVisitor;
|
||||
import org.openrewrite.java.spring.security5.WebSecurityConfigurerAdapter;
|
||||
import org.openrewrite.java.tree.J;
|
||||
import org.openrewrite.java.tree.J.ClassDeclaration;
|
||||
import org.openrewrite.java.tree.JavaType;
|
||||
@@ -37,7 +38,7 @@ import org.springframework.ide.vscode.commons.rewrite.java.JavaMarkerVisitor;
|
||||
|
||||
public class WebSecurityConfigurerAdapterCodeAction implements RecipeCodeActionDescriptor {
|
||||
|
||||
private static final String ID = "org.openrewrite.java.spring.boot2.WebSecurityConfigurerAdapter";
|
||||
private static final String ID = WebSecurityConfigurerAdapter.class.getName();
|
||||
|
||||
private static final String FQN_WEB_SECURITY_CONFIGURER_ADAPTER = "org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user