From 3b0b1914ec95a7265d33c80e96e941d9bc43d5b8 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 23:07:22 +0200 Subject: [PATCH 1/4] 873: Code refactoring --- .../generation/NewEmailTemplateAction.java | 7 +++--- .../dialog/NewEmailTemplateDialog.java | 25 ++++++++----------- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewEmailTemplateAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewEmailTemplateAction.java index 78a99904b..ca7007625 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/NewEmailTemplateAction.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/NewEmailTemplateAction.java @@ -16,8 +16,8 @@ import com.magento.idea.magento2plugin.MagentoIcons; import com.magento.idea.magento2plugin.actions.generation.dialog.NewEmailTemplateDialog; -@SuppressWarnings({"PMD.OnlyOneReturn", "PMD.FieldNamingConventions"}) public class NewEmailTemplateAction extends AnAction { + public static final String ACTION_NAME = "Magento 2 Email Template"; public static final String ACTION_DESCRIPTION = "Create a new Magento 2 email template"; @@ -36,17 +36,16 @@ public void actionPerformed(final AnActionEvent event) { if (view == null) { return; } - final Project project = CommonDataKeys.PROJECT.getData(dataContext); + if (project == null) { return; } - final PsiDirectory directory = view.getOrChooseDirectory(); + if (directory == null) { return; } - NewEmailTemplateDialog.open(project, directory); } diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEmailTemplateDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEmailTemplateDialog.java index 2ee468ebf..c12f14cb3 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEmailTemplateDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEmailTemplateDialog.java @@ -21,8 +21,6 @@ import com.magento.idea.magento2plugin.magento.packages.Areas; import com.magento.idea.magento2plugin.ui.FilteredComboBox; import com.magento.idea.magento2plugin.util.magento.GetModuleNameByDirectoryUtil; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; @@ -36,15 +34,18 @@ import javax.swing.KeyStroke; public class NewEmailTemplateDialog extends AbstractDialog { - private final String moduleName; - private final Project project; - private final NewEmailTemplateDialogValidator validator; + private static final String EMAIL_TEMPLATE_ID = "id"; private static final String LABEL = "label"; private static final String FILENAME = "file name"; + + private final String moduleName; + private final Project project; + private final NewEmailTemplateDialogValidator validator; private JPanel contentPane; private JButton buttonOK; private JButton buttonCancel; + @FieldValidation(rule = RuleRegistry.NOT_EMPTY, message = {NotEmptyRule.MESSAGE, EMAIL_TEMPLATE_ID}) @FieldValidation(rule = RuleRegistry.IDENTIFIER, @@ -58,6 +59,7 @@ public class NewEmailTemplateDialog extends AbstractDialog { @FieldValidation(rule = RuleRegistry.IDENTIFIER, message = {IdentifierRule.MESSAGE, FILENAME}) private JTextField fileName; + private FilteredComboBox area; private FilteredComboBox templateType; private JTextField subject; @@ -83,6 +85,8 @@ public NewEmailTemplateDialog(final Project project, final PsiDirectory director // call onCancel() when cross is clicked setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter() { + + @Override public void windowClosing(final WindowEvent windowEvent) { onCancel(); } @@ -90,11 +94,7 @@ public void windowClosing(final WindowEvent windowEvent) { // call onCancel() on ESCAPE contentPane.registerKeyboardAction( - new ActionListener() { - public void actionPerformed(final ActionEvent actionEvent) { - onCancel(); - } - }, + actionEvent -> onCancel(), KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT ); @@ -230,11 +230,6 @@ private void generateFile() { xmlGenerator.generate(NewEmailTemplateAction.ACTION_NAME, true); } - protected void onCancel() { - // add your code here if necessary - dispose(); - } - @SuppressWarnings({"PMD.UnusedPrivateMethod"}) private void createUIComponents() { this.area = new FilteredComboBox(getAreaList()); From 8e92c6388303d95422ee39e2743bf742afcafa77 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 23:16:05 +0200 Subject: [PATCH 2/4] 873: Enhanced error outputting for new Magento 2 email template generation --- .../dialog/NewEmailTemplateDialog.form | 52 ++++++++++++++----- .../dialog/NewEmailTemplateDialog.java | 9 +++- 2 files changed, 46 insertions(+), 15 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEmailTemplateDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEmailTemplateDialog.form index 1c074587b..411ec0e9d 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEmailTemplateDialog.form +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEmailTemplateDialog.form @@ -3,9 +3,11 @@ - + - + + + @@ -49,7 +51,7 @@ - + @@ -75,7 +77,7 @@ - + @@ -83,7 +85,7 @@ - + @@ -91,7 +93,7 @@ - + @@ -99,7 +101,7 @@ - + @@ -107,7 +109,7 @@ - + @@ -115,7 +117,7 @@ - + @@ -123,7 +125,7 @@ - + @@ -134,7 +136,7 @@ - + @@ -145,7 +147,7 @@ - + @@ -153,12 +155,36 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEmailTemplateDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEmailTemplateDialog.java index c12f14cb3..461f3588f 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEmailTemplateDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEmailTemplateDialog.java @@ -29,6 +29,7 @@ import java.util.List; import javax.swing.JButton; import javax.swing.JComponent; +import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.KeyStroke; @@ -51,9 +52,11 @@ public class NewEmailTemplateDialog extends AbstractDialog { @FieldValidation(rule = RuleRegistry.IDENTIFIER, message = {IdentifierRule.MESSAGE, EMAIL_TEMPLATE_ID}) private JTextField identifier; + @FieldValidation(rule = RuleRegistry.NOT_EMPTY, message = {NotEmptyRule.MESSAGE, LABEL}) private JTextField label; + @FieldValidation(rule = RuleRegistry.NOT_EMPTY, message = {NotEmptyRule.MESSAGE, FILENAME}) @FieldValidation(rule = RuleRegistry.IDENTIFIER, @@ -64,6 +67,10 @@ public class NewEmailTemplateDialog extends AbstractDialog { private FilteredComboBox templateType; private JTextField subject; + private JLabel identifierErrorMessage;//NOPMD + private JLabel labelErrorMessage;//NOPMD + private JLabel fileNameErrorMessage;//NOPMD + /** * New email template dialog. * @@ -208,11 +215,9 @@ private void onOK() { final boolean emailTemplateCanBeDeclared = !this.validator.validate(this); if (!validateFormFields() || emailTemplateCanBeDeclared) { - exit(); return; } generateFile(); - exit(); } From 457429ae3412f6537c5c0c13e6fbffa2e668581d Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 23:20:59 +0200 Subject: [PATCH 3/4] 874: Code refactoring --- .../actions/generation/NewModelsAction.java | 6 +++--- .../actions/generation/dialog/NewModelsDialog.java | 8 ++------ 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewModelsAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewModelsAction.java index e9034f882..1567d41eb 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/NewModelsAction.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/NewModelsAction.java @@ -17,6 +17,7 @@ import com.magento.idea.magento2plugin.actions.generation.dialog.NewModelsDialog; public class NewModelsAction extends AnAction { + public static final String ACTION_NAME = "Magento 2 Models"; public static final String ACTION_DESCRIPTION = "Create a new Magento 2 models"; @@ -35,17 +36,16 @@ public void actionPerformed(final AnActionEvent event) { if (view == null) { return; } - final Project project = CommonDataKeys.PROJECT.getData(dataContext); + if (project == null) { return; } - final PsiDirectory directory = view.getOrChooseDirectory(); + if (directory == null) { return; } - NewModelsDialog.open(project, directory); } diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModelsDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModelsDialog.java index 518522798..e16df74a7 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModelsDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModelsDialog.java @@ -35,6 +35,7 @@ @SuppressWarnings("PMD.TooManyFields") public class NewModelsDialog extends AbstractDialog { + private final String moduleName; private final Project project; private JPanel contentPane; @@ -160,11 +161,6 @@ public static void open( dialog.setVisible(true); } - @Override - protected void onCancel() { - dispose(); - } - /** * Process generation. */ @@ -173,8 +169,8 @@ private void onOK() { generateModelFile(); generateResourceModelFile(); generateCollectionFile(); + exit(); } - exit(); } /** From e83ab093d2cb161345ca56ab0f6d8562b63dabc2 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 23:26:06 +0200 Subject: [PATCH 4/4] 874: Enhanced error outputting for new Magento 2 models generation --- .../generation/dialog/NewModelsDialog.form | 74 +++++++++++++++---- .../generation/dialog/NewModelsDialog.java | 6 ++ 2 files changed, 67 insertions(+), 13 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModelsDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModelsDialog.form index ec6e68d88..da7a3a909 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModelsDialog.form +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModelsDialog.form @@ -3,10 +3,10 @@ - + - + @@ -51,7 +51,7 @@ - + @@ -77,7 +77,7 @@ - + @@ -85,7 +85,7 @@ - + @@ -93,7 +93,7 @@ - + @@ -101,7 +101,7 @@ - + @@ -109,7 +109,7 @@ - + @@ -119,7 +119,7 @@ - + @@ -127,7 +127,7 @@ - + @@ -137,7 +137,7 @@ - + @@ -145,7 +145,7 @@ - + @@ -155,12 +155,60 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModelsDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModelsDialog.java index e16df74a7..ca47d35b7 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModelsDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModelsDialog.java @@ -92,6 +92,12 @@ public class NewModelsDialog extends AbstractDialog { private JLabel entityIdColumnLabel;//NOPMD private JLabel collectionDirectoryLabel;//NOPMD private JLabel collectionNameLabel;//NOPMD + private JLabel modelNameErrorMessage;//NOPMD + private JLabel resourceModelNameErrorMessage;//NOPMD + private JLabel dbTableNameErrorMessage;//NOPMD + private JLabel entityIdColumnErrorMessage;//NOPMD + private JLabel collectionDirectoryErrorMessage;//NOPMD + private JLabel collectionNameErrorMessage;//NOPMD /** * Open new dialog for adding new controller.