From 161ba810d1416354d98e15a2d999ff38700e7400 Mon Sep 17 00:00:00 2001 From: UNV Date: Fri, 24 Oct 2025 22:09:04 +0300 Subject: [PATCH] Adding @ActionImpl annotations to Generate actions. Localizing and refactoring. --- ...SpringBeanConstructorDependencyAction.java | 15 +++-- .../GenerateSpringBeanDependencyAction.java | 58 +++++++++++-------- ...erateSpringBeanSetterDependencyAction.java | 14 +++-- 3 files changed, 51 insertions(+), 36 deletions(-) diff --git a/plugin/src/main/java/com/intellij/spring/impl/ide/model/actions/GenerateSpringBeanConstructorDependencyAction.java b/plugin/src/main/java/com/intellij/spring/impl/ide/model/actions/GenerateSpringBeanConstructorDependencyAction.java index 270ea6c2..9dc5b52f 100644 --- a/plugin/src/main/java/com/intellij/spring/impl/ide/model/actions/GenerateSpringBeanConstructorDependencyAction.java +++ b/plugin/src/main/java/com/intellij/spring/impl/ide/model/actions/GenerateSpringBeanConstructorDependencyAction.java @@ -1,11 +1,14 @@ package com.intellij.spring.impl.ide.model.actions; -import com.intellij.spring.impl.ide.SpringBundle; +import consulo.annotation.component.ActionImpl; +import consulo.spring.localize.SpringLocalize; +@ActionImpl(id = "Spring.Beans.Generate.Constructor.Dependency.Action") public class GenerateSpringBeanConstructorDependencyAction extends GenerateSpringBeanDependencyAction { - - public GenerateSpringBeanConstructorDependencyAction() { - super(new GenerateSpringBeanDependenciesActionHandler(false), - SpringBundle.message("action.Spring.Beans.Generate.Constructor.Dependency.Action.text")); - } + public GenerateSpringBeanConstructorDependencyAction() { + super( + new GenerateSpringBeanDependenciesActionHandler(false), + SpringLocalize.actionSpringBeansGenerateConstructorDependencyActionText() + ); + } } diff --git a/plugin/src/main/java/com/intellij/spring/impl/ide/model/actions/GenerateSpringBeanDependencyAction.java b/plugin/src/main/java/com/intellij/spring/impl/ide/model/actions/GenerateSpringBeanDependencyAction.java index e6d3443d..739fb0f5 100644 --- a/plugin/src/main/java/com/intellij/spring/impl/ide/model/actions/GenerateSpringBeanDependencyAction.java +++ b/plugin/src/main/java/com/intellij/spring/impl/ide/model/actions/GenerateSpringBeanDependencyAction.java @@ -2,37 +2,45 @@ import com.intellij.java.impl.codeInsight.generation.actions.BaseGenerateAction; import com.intellij.java.language.psi.PsiClass; -import com.intellij.spring.impl.ide.SpringIcons; import com.intellij.spring.impl.ide.model.actions.generate.GenerateSpringBeanDependenciesUtil; +import consulo.annotation.access.RequiredReadAction; import consulo.codeEditor.Editor; import consulo.language.psi.PsiFile; +import consulo.localize.LocalizeValue; import consulo.module.Module; import consulo.project.Project; +import consulo.spring.impl.icon.SpringImplIconGroup; import consulo.ui.ex.action.AnActionEvent; +import jakarta.annotation.Nonnull; public abstract class GenerateSpringBeanDependencyAction extends BaseGenerateAction { - - public GenerateSpringBeanDependencyAction(final GenerateSpringBeanDependenciesActionHandler handler, String text) { - super(handler); - getTemplatePresentation().setText(text); - getTemplatePresentation().setIcon(SpringIcons.SPRING_ICON); - } - - protected boolean isValidForFile(Project project, Editor editor, PsiFile file) { - if (!super.isValidForFile(project, editor, file)) return false; - final PsiClass psiClass = getTargetClass(editor, file); - - if (psiClass == null || psiClass.isInterface() || psiClass.isEnum()) return false; - Module module = GenerateSpringBeanDependenciesUtil.getSpringModule(psiClass); - - return module != null && GenerateSpringBeanDependenciesUtil.acceptPsiClass(psiClass, isSetterDependency()); - } - - private boolean isSetterDependency() { - return ((GenerateSpringBeanDependenciesActionHandler)getHandler()).isSetterDependency(); - } - - public void update(final AnActionEvent event) { - super.update(event); - } + public GenerateSpringBeanDependencyAction(GenerateSpringBeanDependenciesActionHandler handler, @Nonnull LocalizeValue text) { + super(handler, text); + getTemplatePresentation().setIcon(SpringImplIconGroup.spring()); + } + + @Override + @RequiredReadAction + protected boolean isValidForFile(@Nonnull Project project, @Nonnull Editor editor, @Nonnull PsiFile file) { + if (!super.isValidForFile(project, editor, file)) { + return false; + } + PsiClass psiClass = getTargetClass(editor, file); + + if (psiClass == null || psiClass.isInterface() || psiClass.isEnum()) { + return false; + } + Module module = GenerateSpringBeanDependenciesUtil.getSpringModule(psiClass); + + return module != null && GenerateSpringBeanDependenciesUtil.acceptPsiClass(psiClass, isSetterDependency()); + } + + private boolean isSetterDependency() { + return ((GenerateSpringBeanDependenciesActionHandler) getHandler()).isSetterDependency(); + } + + @Override + public void update(@Nonnull AnActionEvent event) { + super.update(event); + } } diff --git a/plugin/src/main/java/com/intellij/spring/impl/ide/model/actions/GenerateSpringBeanSetterDependencyAction.java b/plugin/src/main/java/com/intellij/spring/impl/ide/model/actions/GenerateSpringBeanSetterDependencyAction.java index f4b3e6d1..c85d9b96 100644 --- a/plugin/src/main/java/com/intellij/spring/impl/ide/model/actions/GenerateSpringBeanSetterDependencyAction.java +++ b/plugin/src/main/java/com/intellij/spring/impl/ide/model/actions/GenerateSpringBeanSetterDependencyAction.java @@ -1,10 +1,14 @@ package com.intellij.spring.impl.ide.model.actions; -import com.intellij.spring.impl.ide.SpringBundle; +import consulo.annotation.component.ActionImpl; +import consulo.spring.localize.SpringLocalize; +@ActionImpl(id = "Spring.Beans.Generate.Setter.Dependency.Action") public class GenerateSpringBeanSetterDependencyAction extends GenerateSpringBeanDependencyAction { - public GenerateSpringBeanSetterDependencyAction() { - super(new GenerateSpringBeanDependenciesActionHandler(true), - SpringBundle.message("action.Spring.Beans.Generate.Setter.Dependency.Action.text")); - } + public GenerateSpringBeanSetterDependencyAction() { + super( + new GenerateSpringBeanDependenciesActionHandler(true), + SpringLocalize.actionSpringBeansGenerateSetterDependencyActionText() + ); + } }