Skip to content

Commit c731712

Browse files
committed
Added field validator annotations
1 parent f9ace77 commit c731712

File tree

1 file changed

+51
-14
lines changed

1 file changed

+51
-14
lines changed

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModuleDialog.java

Lines changed: 51 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@
1212
import com.magento.idea.magento2plugin.actions.generation.data.ModuleComposerJsonData;
1313
import com.magento.idea.magento2plugin.actions.generation.data.ModuleRegistrationPhpData;
1414
import com.magento.idea.magento2plugin.actions.generation.data.ModuleXmlData;
15+
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.annotation.FieldValidation;
16+
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.annotation.RuleRegistry;
17+
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.rule.AlphanumericRule;
18+
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.rule.NotEmptyRule;
19+
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.rule.StartWithNumberOrCapitalLetterRule;
1520
import com.magento.idea.magento2plugin.actions.generation.generator.ModuleComposerJsonGenerator;
1621
import com.magento.idea.magento2plugin.actions.generation.generator.ModuleRegistrationPhpGenerator;
1722
import com.magento.idea.magento2plugin.actions.generation.generator.ModuleXmlGenerator;
@@ -44,32 +49,64 @@
4449

4550
@SuppressWarnings({"PMD.TooManyFields", "PMD.DataClass", "PMD.UnusedPrivateMethod"})
4651
public class NewModuleDialog extends AbstractDialog implements ListSelectionListener { //NOPMD
47-
@NotNull
48-
private final Project project;
49-
@NotNull
50-
private final PsiDirectory initialBaseDir;
51-
private final CamelCaseToHyphen camelCaseToHyphen;
52-
private JPanel contentPane;
53-
private JButton buttonOK;
54-
private JButton buttonCancel;
52+
private static final String MODULE_DESCRIPTION = "module description";
53+
private static final String MODULE_VERSION = "module version";
54+
private static final String MODULE_NAME = "module name";
55+
private static final String PACKAGE_NAME = "package name";
56+
57+
@FieldValidation(rule = RuleRegistry.ALPHANUMERIC,
58+
message = {AlphanumericRule.MESSAGE, MODULE_NAME})
59+
@FieldValidation(rule = RuleRegistry.START_WITH_NUMBER_OR_CAPITAL_LETTER,
60+
message = {StartWithNumberOrCapitalLetterRule.MESSAGE, PACKAGE_NAME})
61+
@FieldValidation(rule = RuleRegistry.NOT_EMPTY,
62+
message = {NotEmptyRule.MESSAGE, PACKAGE_NAME})
5563
private JTextField packageName;
56-
private JLabel packageNameLabel;
64+
65+
66+
/* TODO: module name !== package name */
67+
@FieldValidation(rule = RuleRegistry.ALPHANUMERIC,
68+
message = {AlphanumericRule.MESSAGE, MODULE_NAME})
69+
@FieldValidation(rule = RuleRegistry.NOT_EMPTY,
70+
message = {NotEmptyRule.MESSAGE, MODULE_NAME})
71+
@FieldValidation(rule = RuleRegistry.START_WITH_NUMBER_OR_CAPITAL_LETTER,
72+
message = {StartWithNumberOrCapitalLetterRule.MESSAGE, MODULE_NAME})
5773
private JTextField moduleName;
74+
75+
@FieldValidation(rule = RuleRegistry.NOT_EMPTY,
76+
message = {NotEmptyRule.MESSAGE, MODULE_DESCRIPTION})
5877
private JTextArea moduleDescription;
59-
private final ModuleIndex moduleIndex;
78+
79+
@FieldValidation(rule = RuleRegistry.NOT_EMPTY,
80+
message = {NotEmptyRule.MESSAGE, MODULE_VERSION})
6081
private JTextField moduleVersion;
61-
private String detectedPackageName;
82+
83+
private JTextField moduleLicenseCustom;
84+
6285
private JList moduleDependencies;
6386
private JList moduleLicense;
64-
private JTextField moduleLicenseCustom;
65-
private JLabel moduleLicenseLabel;//NOPMD
87+
6688
private JScrollPane moduleLicenseScrollPanel;//NOPMD
89+
private JScrollPane moduleDependenciesScrollPanel;//NOPMD
90+
91+
private JLabel moduleLicenseLabel;//NOPMD
6792
private JLabel moduleVersionLabel;//NOPMD
6893
private JLabel moduleDependenciesLabel;//NOPMD
69-
private JScrollPane moduleDependenciesScrollPanel;//NOPMD
7094
private JLabel moduleDescriptionLabel;//NOPMD
7195
private JLabel moduleNameLabel;//NOPMD
96+
private JLabel packageNameLabel;
7297

98+
private JPanel contentPane;
99+
100+
private JButton buttonOK;
101+
private JButton buttonCancel;
102+
103+
@NotNull
104+
private final Project project;
105+
@NotNull
106+
private final PsiDirectory initialBaseDir;
107+
private String detectedPackageName;
108+
private final ModuleIndex moduleIndex;
109+
private final CamelCaseToHyphen camelCaseToHyphen;
73110
private static final String MAGENTO_BEFORE_DECLARATIVE_SCHEMA_VERSION = "2.2.11";
74111

75112
/**

0 commit comments

Comments
 (0)