Skip to content

Commit 9077d93

Browse files
authored
Merge pull request #4 from unv-unv/annotating-generate-actions
Adding @ActionImpl annotations to Generate actions. Localizing and refactoring
2 parents d549510 + 161ba81 commit 9077d93

3 files changed

Lines changed: 51 additions & 36 deletions

File tree

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package com.intellij.spring.impl.ide.model.actions;
22

3-
import com.intellij.spring.impl.ide.SpringBundle;
3+
import consulo.annotation.component.ActionImpl;
4+
import consulo.spring.localize.SpringLocalize;
45

6+
@ActionImpl(id = "Spring.Beans.Generate.Constructor.Dependency.Action")
57
public class GenerateSpringBeanConstructorDependencyAction extends GenerateSpringBeanDependencyAction {
6-
7-
public GenerateSpringBeanConstructorDependencyAction() {
8-
super(new GenerateSpringBeanDependenciesActionHandler(false),
9-
SpringBundle.message("action.Spring.Beans.Generate.Constructor.Dependency.Action.text"));
10-
}
8+
public GenerateSpringBeanConstructorDependencyAction() {
9+
super(
10+
new GenerateSpringBeanDependenciesActionHandler(false),
11+
SpringLocalize.actionSpringBeansGenerateConstructorDependencyActionText()
12+
);
13+
}
1114
}

plugin/src/main/java/com/intellij/spring/impl/ide/model/actions/GenerateSpringBeanDependencyAction.java

Lines changed: 33 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,45 @@
22

33
import com.intellij.java.impl.codeInsight.generation.actions.BaseGenerateAction;
44
import com.intellij.java.language.psi.PsiClass;
5-
import com.intellij.spring.impl.ide.SpringIcons;
65
import com.intellij.spring.impl.ide.model.actions.generate.GenerateSpringBeanDependenciesUtil;
6+
import consulo.annotation.access.RequiredReadAction;
77
import consulo.codeEditor.Editor;
88
import consulo.language.psi.PsiFile;
9+
import consulo.localize.LocalizeValue;
910
import consulo.module.Module;
1011
import consulo.project.Project;
12+
import consulo.spring.impl.icon.SpringImplIconGroup;
1113
import consulo.ui.ex.action.AnActionEvent;
14+
import jakarta.annotation.Nonnull;
1215

1316
public abstract class GenerateSpringBeanDependencyAction extends BaseGenerateAction {
14-
15-
public GenerateSpringBeanDependencyAction(final GenerateSpringBeanDependenciesActionHandler handler, String text) {
16-
super(handler);
17-
getTemplatePresentation().setText(text);
18-
getTemplatePresentation().setIcon(SpringIcons.SPRING_ICON);
19-
}
20-
21-
protected boolean isValidForFile(Project project, Editor editor, PsiFile file) {
22-
if (!super.isValidForFile(project, editor, file)) return false;
23-
final PsiClass psiClass = getTargetClass(editor, file);
24-
25-
if (psiClass == null || psiClass.isInterface() || psiClass.isEnum()) return false;
26-
Module module = GenerateSpringBeanDependenciesUtil.getSpringModule(psiClass);
27-
28-
return module != null && GenerateSpringBeanDependenciesUtil.acceptPsiClass(psiClass, isSetterDependency());
29-
}
30-
31-
private boolean isSetterDependency() {
32-
return ((GenerateSpringBeanDependenciesActionHandler)getHandler()).isSetterDependency();
33-
}
34-
35-
public void update(final AnActionEvent event) {
36-
super.update(event);
37-
}
17+
public GenerateSpringBeanDependencyAction(GenerateSpringBeanDependenciesActionHandler handler, @Nonnull LocalizeValue text) {
18+
super(handler, text);
19+
getTemplatePresentation().setIcon(SpringImplIconGroup.spring());
20+
}
21+
22+
@Override
23+
@RequiredReadAction
24+
protected boolean isValidForFile(@Nonnull Project project, @Nonnull Editor editor, @Nonnull PsiFile file) {
25+
if (!super.isValidForFile(project, editor, file)) {
26+
return false;
27+
}
28+
PsiClass psiClass = getTargetClass(editor, file);
29+
30+
if (psiClass == null || psiClass.isInterface() || psiClass.isEnum()) {
31+
return false;
32+
}
33+
Module module = GenerateSpringBeanDependenciesUtil.getSpringModule(psiClass);
34+
35+
return module != null && GenerateSpringBeanDependenciesUtil.acceptPsiClass(psiClass, isSetterDependency());
36+
}
37+
38+
private boolean isSetterDependency() {
39+
return ((GenerateSpringBeanDependenciesActionHandler) getHandler()).isSetterDependency();
40+
}
41+
42+
@Override
43+
public void update(@Nonnull AnActionEvent event) {
44+
super.update(event);
45+
}
3846
}
Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
package com.intellij.spring.impl.ide.model.actions;
22

3-
import com.intellij.spring.impl.ide.SpringBundle;
3+
import consulo.annotation.component.ActionImpl;
4+
import consulo.spring.localize.SpringLocalize;
45

6+
@ActionImpl(id = "Spring.Beans.Generate.Setter.Dependency.Action")
57
public class GenerateSpringBeanSetterDependencyAction extends GenerateSpringBeanDependencyAction {
6-
public GenerateSpringBeanSetterDependencyAction() {
7-
super(new GenerateSpringBeanDependenciesActionHandler(true),
8-
SpringBundle.message("action.Spring.Beans.Generate.Setter.Dependency.Action.text"));
9-
}
8+
public GenerateSpringBeanSetterDependencyAction() {
9+
super(
10+
new GenerateSpringBeanDependenciesActionHandler(true),
11+
SpringLocalize.actionSpringBeansGenerateSetterDependencyActionText()
12+
);
13+
}
1014
}

0 commit comments

Comments
 (0)