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 ;
1416import com .magento .idea .magento2plugin .actions .generation .generator .ModuleControllerClassGenerator ;
1517import com .magento .idea .magento2plugin .magento .files .ControllerBackendPhp ;
1618import com .magento .idea .magento2plugin .magento .files .ControllerFrontendPhp ;
2123import com .magento .idea .magento2plugin .ui .FilteredComboBox ;
2224import com .magento .idea .magento2plugin .util .magento .GetModuleNameByDirectoryUtil ;
2325import java .awt .event .ActionEvent ;
24- import java .awt .event .ActionListener ;
2526import java .awt .event .KeyEvent ;
2627import java .awt .event .WindowAdapter ;
2728import java .awt .event .WindowEvent ;
4041 "PMD.ConstructorCallsOverridableMethod"
4142})
4243public class NewControllerDialog extends AbstractDialog {
43- private final NewControllerValidator validator ;
4444 private final String moduleName ;
4545 private final Project project ;
4646 private JPanel contentPane ;
4747 private JButton buttonOK ;
4848 private JButton buttonCancel ;
4949 private FilteredComboBox controllerAreaSelect ;
5050 private FilteredComboBox httpMethodSelect ;
51- private JTextField controllerName ;
5251 private JTextField controllerParentDir ;
5352 private JCheckBox inheritClass ;
5453 private JPanel adminPanel ;
5554 private JTextField acl ;
55+
56+ private static final String CONTROLLER_NAME = "controller name" ;
57+ private static final String ACTION_NAME = "action name" ;
58+
59+ @ FieldValidation (rule = RuleRegistry .NOT_EMPTY ,
60+ message = {NotEmptyRule .MESSAGE , CONTROLLER_NAME })
61+ @ FieldValidation (rule = RuleRegistry .START_WITH_NUMBER_OR_CAPITAL_LETTER ,
62+ message = {NotEmptyRule .MESSAGE , CONTROLLER_NAME })
63+ @ FieldValidation (rule = RuleRegistry .ALPHANUMERIC ,
64+ message = {NotEmptyRule .MESSAGE , CONTROLLER_NAME })
65+ @ FieldValidation (rule = RuleRegistry .PHP_CLASS ,
66+ message = {NotEmptyRule .MESSAGE , CONTROLLER_NAME })
67+ private JTextField controllerName ;
68+
69+ @ FieldValidation (rule = RuleRegistry .NOT_EMPTY ,
70+ message = {NotEmptyRule .MESSAGE , ACTION_NAME })
71+ @ FieldValidation (rule = RuleRegistry .PHP_NAMESPACE_NAME ,
72+ message = {NotEmptyRule .MESSAGE , ACTION_NAME })
5673 private JTextField actionName ;
5774
5875 /**
@@ -65,7 +82,6 @@ public NewControllerDialog(final Project project, final PsiDirectory directory)
6582 super ();
6683 this .project = project ;
6784 this .moduleName = GetModuleNameByDirectoryUtil .execute (directory , project );
68- this .validator = NewControllerValidator .getInstance (this );
6985
7086 setContentPane (contentPane );
7187 setModal (true );
@@ -87,11 +103,7 @@ public void windowClosing(final WindowEvent event) {
87103
88104 // call onCancel() on ESCAPE
89105 contentPane .registerKeyboardAction (
90- new ActionListener () {
91- public void actionPerformed (final ActionEvent event ) {
92- onCancel ();
93- }
94- },
106+ (final ActionEvent event ) -> onCancel (),
95107 KeyStroke .getKeyStroke (KeyEvent .VK_ESCAPE , 0 ),
96108 JComponent .WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
97109 );
@@ -178,7 +190,7 @@ public static void open(final Project project, final PsiDirectory directory) {
178190 }
179191
180192 private void onOK () {
181- if (!validator . validate ()) {
193+ if (!validateFormFields ()) {
182194 return ;
183195 }
184196
@@ -243,6 +255,7 @@ private Boolean getIsInheritClass() {
243255 return inheritClass .isSelected ();
244256 }
245257
258+ @ Override
246259 protected void onCancel () {
247260 dispose ();
248261 }
0 commit comments