1010import com .intellij .psi .PsiFile ;
1111import com .magento .idea .magento2plugin .actions .generation .NewControllerAction ;
1212import com .magento .idea .magento2plugin .actions .generation .data .ControllerFileData ;
13- import com .magento .idea .magento2plugin .actions .generation .dialog .validator .NewControllerValidator ;
13+ import com .magento .idea .magento2plugin .actions .generation .dialog .validator .annotation .FieldValidation ;
14+ import com .magento .idea .magento2plugin .actions .generation .dialog .validator .annotation .RuleRegistry ;
15+ import com .magento .idea .magento2plugin .actions .generation .dialog .validator .rule .NotEmptyRule ;
16+ import com .magento .idea .magento2plugin .actions .generation .dialog .validator .rule .PhpClassRule ;
17+ import com .magento .idea .magento2plugin .actions .generation .dialog .validator .rule .PhpDirectoryRule ;
1418import com .magento .idea .magento2plugin .actions .generation .generator .ModuleControllerClassGenerator ;
1519import com .magento .idea .magento2plugin .magento .files .ControllerBackendPhp ;
1620import com .magento .idea .magento2plugin .magento .files .ControllerFrontendPhp ;
2125import com .magento .idea .magento2plugin .ui .FilteredComboBox ;
2226import com .magento .idea .magento2plugin .util .magento .GetModuleNameByDirectoryUtil ;
2327import java .awt .event .ActionEvent ;
24- import java .awt .event .ActionListener ;
2528import java .awt .event .KeyEvent ;
2629import java .awt .event .WindowAdapter ;
2730import java .awt .event .WindowEvent ;
3740
3841@ SuppressWarnings ({
3942 "PMD.TooManyFields" ,
40- "PMD.ConstructorCallsOverridableMethod"
43+ "PMD.ConstructorCallsOverridableMethod" ,
44+ "PMD.ExcessiveImports"
4145})
4246public class NewControllerDialog extends AbstractDialog {
43- private final NewControllerValidator validator ;
4447 private final String moduleName ;
4548 private final Project project ;
4649 private JPanel contentPane ;
4750 private JButton buttonOK ;
4851 private JButton buttonCancel ;
4952 private FilteredComboBox controllerAreaSelect ;
5053 private FilteredComboBox httpMethodSelect ;
51- private JTextField controllerName ;
5254 private JTextField controllerParentDir ;
5355 private JCheckBox inheritClass ;
5456 private JPanel adminPanel ;
5557 private JTextField acl ;
58+
59+ private static final String CONTROLLER_NAME = "controller name" ;
60+ private static final String ACTION_NAME = "action name" ;
61+
62+ @ FieldValidation (rule = RuleRegistry .NOT_EMPTY ,
63+ message = {NotEmptyRule .MESSAGE , CONTROLLER_NAME })
64+ @ FieldValidation (rule = RuleRegistry .PHP_DIRECTORY ,
65+ message = {PhpDirectoryRule .MESSAGE , CONTROLLER_NAME })
66+ private JTextField controllerName ;
67+
68+ @ FieldValidation (rule = RuleRegistry .NOT_EMPTY ,
69+ message = {NotEmptyRule .MESSAGE , ACTION_NAME })
70+ @ FieldValidation (rule = RuleRegistry .PHP_CLASS ,
71+ message = {PhpClassRule .MESSAGE , ACTION_NAME })
5672 private JTextField actionName ;
5773
5874 /**
@@ -65,7 +81,6 @@ public NewControllerDialog(final Project project, final PsiDirectory directory)
6581 super ();
6682 this .project = project ;
6783 this .moduleName = GetModuleNameByDirectoryUtil .execute (directory , project );
68- this .validator = NewControllerValidator .getInstance (this );
6984
7085 setContentPane (contentPane );
7186 setModal (true );
@@ -87,11 +102,7 @@ public void windowClosing(final WindowEvent event) {
87102
88103 // call onCancel() on ESCAPE
89104 contentPane .registerKeyboardAction (
90- new ActionListener () {
91- public void actionPerformed (final ActionEvent event ) {
92- onCancel ();
93- }
94- },
105+ (final ActionEvent event ) -> onCancel (),
95106 KeyStroke .getKeyStroke (KeyEvent .VK_ESCAPE , 0 ),
96107 JComponent .WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
97108 );
@@ -178,7 +189,7 @@ public static void open(final Project project, final PsiDirectory directory) {
178189 }
179190
180191 private void onOK () {
181- if (!validator . validate ()) {
192+ if (!validateFormFields ()) {
182193 return ;
183194 }
184195
@@ -243,6 +254,7 @@ private Boolean getIsInheritClass() {
243254 return inheritClass .isSelected ();
244255 }
245256
257+ @ Override
246258 protected void onCancel () {
247259 dispose ();
248260 }
0 commit comments