From cfd627398ef372ec573c8405249089dd7082a5f6 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Mon, 20 Dec 2021 23:21:16 +0200 Subject: [PATCH 01/21] 864: Code refactoring --- .../actions/generation/NewBlockAction.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewBlockAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewBlockAction.java index cefba0e7c..1fe6a3db4 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/NewBlockAction.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/NewBlockAction.java @@ -18,6 +18,7 @@ import org.jetbrains.annotations.NotNull; public class NewBlockAction extends AnAction { + public static final String ACTION_NAME = "Magento 2 Block"; public static final String ACTION_DESCRIPTION = "Create a new Magento 2 Block"; @@ -26,23 +27,24 @@ public NewBlockAction() { } @Override - public void actionPerformed(@NotNull final AnActionEvent event) { + public void actionPerformed(final @NotNull AnActionEvent event) { final DataContext dataContext = event.getDataContext(); final IdeView view = LangDataKeys.IDE_VIEW.getData(dataContext); + if (view == null) { return; } final Project project = CommonDataKeys.PROJECT.getData(dataContext); + if (project == null) { return; } - final PsiDirectory directory = view.getOrChooseDirectory(); + if (directory == null) { return; } - NewBlockDialog.open(project, directory); } @@ -51,4 +53,3 @@ public boolean isDumbAware() { return false; } } - From 6b1ff0eb3cea2fe869b47af6491e47123c535660 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Mon, 20 Dec 2021 23:24:18 +0200 Subject: [PATCH 02/21] 864: Code refactoring --- .../generation/dialog/NewBlockDialog.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.java index 6bc982cc5..30d417b77 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.java @@ -117,8 +117,8 @@ protected void onOK() { exit(); } - private PsiFile generateFile() { - return new ModuleBlockClassGenerator(new BlockFileData( + private void generateFile() { + new ModuleBlockClassGenerator(new BlockFileData( getBlockDirectory(), getBlockName(), getModuleName(), @@ -140,6 +140,7 @@ public String getBlockDirectory() { private void suggestBlockDirectory() { final String moduleIdentifierPath = getModuleIdentifierPath(); + if (moduleIdentifierPath == null) { blockParentDir.setText(BlockPhp.DEFAULT_DIR); return; @@ -147,6 +148,7 @@ private void suggestBlockDirectory() { final String path = baseDir.getVirtualFile().getPath(); final String[] pathParts = path.split(moduleIdentifierPath); final int minimumPathParts = 2; + if (pathParts.length != minimumPathParts) { blockParentDir.setText(BlockPhp.DEFAULT_DIR); return; @@ -161,14 +163,17 @@ private void suggestBlockDirectory() { private String getModuleIdentifierPath() { final String[]parts = moduleName.split(Package.vendorModuleNameSeparator); + if (parts[0] == null || parts[1] == null || parts.length > 2) { return null; } + return parts[0] + File.separator + parts[1]; } private String getNamespace() { final String[]parts = moduleName.split(Package.vendorModuleNameSeparator); + if (parts[0] == null || parts[1] == null || parts.length > 2) { return null; } @@ -176,12 +181,7 @@ private String getNamespace() { File.separator, Package.fqnSeparator ); - return parts[0] + Package.fqnSeparator + parts[1] + Package.fqnSeparator + directoryPart; - } - @Override - public void onCancel() { - // add your code here if necessary - dispose(); + return parts[0] + Package.fqnSeparator + parts[1] + Package.fqnSeparator + directoryPart; } } From a741849bbe47f60c5b9ac23745f250465a3e52f5 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Mon, 20 Dec 2021 23:34:55 +0200 Subject: [PATCH 03/21] 864: Enhanced error outputting for new Magento 2 Block generation --- .../generation/dialog/NewBlockDialog.form | 22 ++++++++++++++++--- .../generation/dialog/NewBlockDialog.java | 17 +++++++------- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.form index 9689cc6a0..c460ac6fa 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.form +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.form @@ -53,7 +53,7 @@ - + @@ -85,7 +85,7 @@ - + @@ -96,7 +96,7 @@ - + @@ -106,6 +106,22 @@ + + + + + + + + + + + + + + + + diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.java index 30d417b77..44342993a 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.java @@ -7,7 +7,6 @@ import com.intellij.openapi.project.Project; import com.intellij.psi.PsiDirectory; -import com.intellij.psi.PsiFile; import com.magento.idea.magento2plugin.actions.generation.NewBlockAction; import com.magento.idea.magento2plugin.actions.generation.data.BlockFileData; import com.magento.idea.magento2plugin.actions.generation.dialog.validator.annotation.FieldValidation; @@ -26,6 +25,7 @@ import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JComponent; +import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JTextField; @@ -33,6 +33,7 @@ import javax.swing.KeyStroke; public class NewBlockDialog extends AbstractDialog { + private final PsiDirectory baseDir; private final String moduleName; private JPanel contentPanel; @@ -44,18 +45,18 @@ public class NewBlockDialog extends AbstractDialog { private static final String NAME = "name"; private static final String DIRECTORY = "directory"; - @FieldValidation(rule = RuleRegistry.NOT_EMPTY, - message = {NotEmptyRule.MESSAGE, NAME}) - @FieldValidation(rule = RuleRegistry.PHP_CLASS, - message = {PhpClassRule.MESSAGE, NAME}) + @FieldValidation(rule = RuleRegistry.NOT_EMPTY, message = {NotEmptyRule.MESSAGE, NAME}) + @FieldValidation(rule = RuleRegistry.PHP_CLASS, message = {PhpClassRule.MESSAGE, NAME}) private JTextField blockName; - @FieldValidation(rule = RuleRegistry.NOT_EMPTY, - message = {NotEmptyRule.MESSAGE, DIRECTORY}) + @FieldValidation(rule = RuleRegistry.NOT_EMPTY, message = {NotEmptyRule.MESSAGE, DIRECTORY}) @FieldValidation(rule = RuleRegistry.PHP_DIRECTORY, message = {PhpDirectoryRule.MESSAGE, DIRECTORY}) private JTextField blockParentDir; + private JLabel blockNameErrorMessage;//NOPMD + private JLabel blockParentDirErrorMessage;//NOPMD + /** * Constructor. * @@ -113,8 +114,8 @@ public static void open(final Project project, final PsiDirectory directory) { protected void onOK() { if (validateFormFields()) { generateFile(); + exit(); } - exit(); } private void generateFile() { From 15d99746827e71a6a211bdd2425f4b17dbc984dd Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 01:16:27 +0200 Subject: [PATCH 04/21] 867: Code refactoring --- .../actions/generation/NewControllerAction.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewControllerAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewControllerAction.java index 277636830..9460114bd 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/NewControllerAction.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/NewControllerAction.java @@ -16,8 +16,8 @@ import com.magento.idea.magento2plugin.MagentoIcons; import com.magento.idea.magento2plugin.actions.generation.dialog.NewControllerDialog; -@SuppressWarnings({"PMD.OnlyOneReturn", "PMD.FieldNamingConventions"}) public class NewControllerAction extends AnAction { + public static final String ACTION_NAME = "Magento 2 Controller"; public static final String ACTION_DESCRIPTION = "Create a new Magento 2 Controller"; @@ -36,13 +36,13 @@ 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; } From 0d859165dd76049377df5492a403c4e44d93c7f9 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 01:28:43 +0200 Subject: [PATCH 05/21] 867: Enhanced error outputting for new Magento 2 Controller generation --- .../dialog/NewControllerDialog.form | 38 ++++++++++++++++--- .../dialog/NewControllerDialog.java | 22 +++++------ 2 files changed, 43 insertions(+), 17 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.form index 59cbf84c0..3d6b85fc7 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.form +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.form @@ -3,7 +3,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -61,7 +61,7 @@ - + @@ -69,7 +69,7 @@ - + @@ -79,7 +79,7 @@ - + @@ -87,7 +87,7 @@ - + @@ -111,6 +111,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -118,6 +142,7 @@ + @@ -145,6 +170,7 @@ + diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.java index 818915cab..402cedb96 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.java @@ -33,6 +33,7 @@ import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComponent; +import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.KeyStroke; @@ -43,6 +44,7 @@ "PMD.ExcessiveImports" }) public class NewControllerDialog extends AbstractDialog { + private final String moduleName; private final Project project; private JPanel contentPane; @@ -50,7 +52,6 @@ public class NewControllerDialog extends AbstractDialog { private JButton buttonCancel; private FilteredComboBox controllerAreaSelect; private FilteredComboBox httpMethodSelect; - private JTextField controllerParentDir; private JCheckBox inheritClass; private JPanel adminPanel; private JTextField acl; @@ -64,12 +65,16 @@ public class NewControllerDialog extends AbstractDialog { message = {PhpDirectoryRule.MESSAGE, CONTROLLER_NAME}) private JTextField controllerName; - @FieldValidation(rule = RuleRegistry.NOT_EMPTY, - message = {NotEmptyRule.MESSAGE, ACTION_NAME}) - @FieldValidation(rule = RuleRegistry.PHP_CLASS, - message = {PhpClassRule.MESSAGE, ACTION_NAME}) + @FieldValidation(rule = RuleRegistry.NOT_EMPTY, message = {NotEmptyRule.MESSAGE, ACTION_NAME}) + @FieldValidation(rule = RuleRegistry.PHP_CLASS, message = {PhpClassRule.MESSAGE, ACTION_NAME}) private JTextField actionName; + private JTextField controllerParentDir; + + private JLabel actionNameErrorMessage;//NOPMD + private JLabel controllerNameErrorMessage;//NOPMD + private JLabel controllerParentDirErrorMessage;//NOPMD + /** * Open new dialog for adding new controller. * @@ -196,8 +201,8 @@ public static void open(final Project project, final PsiDirectory directory) { private void onOK() { if (validateFormFields()) { generateFile(); + exit(); } - exit(); } /** @@ -264,11 +269,6 @@ private Boolean getIsInheritClass() { return inheritClass.isSelected(); } - @Override - protected void onCancel() { - dispose(); - } - private List getAreaList() { return new ArrayList<>( Arrays.asList( From a6f19bc89d15cf765dde1504871901f4224aa045 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 01:33:45 +0200 Subject: [PATCH 06/21] 868: Code refactoring --- .../actions/generation/NewCronjobAction.java | 7 +++---- .../actions/generation/dialog/NewCronjobDialog.java | 9 +++------ 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java index 538df7a1e..d734549d4 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java @@ -17,8 +17,8 @@ import com.magento.idea.magento2plugin.actions.generation.dialog.NewCronjobDialog; import org.jetbrains.annotations.NotNull; -@SuppressWarnings({"PMD.FieldNamingConventions", "PMD.OnlyOneReturn"}) public class NewCronjobAction extends AnAction { + public static String ACTION_NAME = "Magento 2 Cron Job"; public static String ACTION_DESCRIPTION = "Create a new Magento 2 Cron Job"; @@ -34,17 +34,16 @@ public void actionPerformed(final @NotNull 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; } - NewCronjobDialog.open(project, directory); } diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java index dee2accf1..677c5371f 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java @@ -26,6 +26,8 @@ import com.magento.idea.magento2plugin.ui.FilteredComboBox; import com.magento.idea.magento2plugin.util.CamelCaseToSnakeCase; import com.magento.idea.magento2plugin.util.magento.GetModuleNameByDirectoryUtil; +import org.jetbrains.annotations.NotNull; + import java.awt.event.ActionEvent; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; @@ -117,7 +119,7 @@ public class NewCronjobDialog extends AbstractDialog { * @param project Project * @param directory Directory */ - public NewCronjobDialog(final Project project, final PsiDirectory directory) { + public NewCronjobDialog(final @NotNull Project project, final @NotNull PsiDirectory directory) { super(); this.project = project; this.moduleName = GetModuleNameByDirectoryUtil.execute(directory, project); @@ -246,11 +248,6 @@ public String getCronjobScheduleConfigPath() { return this.configPathField.getText().trim(); } - @Override - protected void onCancel() { - dispose(); - } - private void createUIComponents() { final List cronGroups = CronGroupIndex.getInstance(project).getGroups(); From 36fc25706cf7ba76a8a51d1bc0e2ccef887e11ed Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 01:34:34 +0200 Subject: [PATCH 07/21] 868: Code refactoring --- .../magento2plugin/actions/generation/NewCronjobAction.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java index d734549d4..948174758 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java @@ -19,8 +19,8 @@ public class NewCronjobAction extends AnAction { - public static String ACTION_NAME = "Magento 2 Cron Job"; - public static String ACTION_DESCRIPTION = "Create a new Magento 2 Cron Job"; + public static final String ACTION_NAME = "Magento 2 Cron Job"; + public static final String ACTION_DESCRIPTION = "Create a new Magento 2 Cron Job"; public NewCronjobAction() { super(ACTION_NAME, ACTION_DESCRIPTION, MagentoIcons.MODULE); From 715575e76ed160ddeea1dae22801ca685909b070 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 01:45:41 +0200 Subject: [PATCH 08/21] 868: Enhanced error outputting for new Magento 2 Cron Job generation --- .../generation/dialog/NewCronjobDialog.form | 70 +++++++++++++++---- .../generation/dialog/NewCronjobDialog.java | 20 ++++-- 2 files changed, 68 insertions(+), 22 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.form index bfb797c3d..0b3535abe 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.form +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.form @@ -3,7 +3,7 @@ - + @@ -49,7 +49,7 @@ - + @@ -78,7 +78,7 @@ - + @@ -87,7 +87,7 @@ - + @@ -95,12 +95,12 @@ - + - + @@ -109,16 +109,16 @@ - + - + - + @@ -162,12 +162,20 @@ + + + + + + + + - + @@ -194,7 +202,7 @@ - + @@ -202,7 +210,7 @@ - + @@ -210,7 +218,7 @@ - + @@ -218,7 +226,7 @@ - + @@ -226,7 +234,7 @@ - + @@ -235,6 +243,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java index 677c5371f..c70402b1a 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java @@ -26,8 +26,6 @@ import com.magento.idea.magento2plugin.ui.FilteredComboBox; import com.magento.idea.magento2plugin.util.CamelCaseToSnakeCase; import com.magento.idea.magento2plugin.util.magento.GetModuleNameByDirectoryUtil; -import org.jetbrains.annotations.NotNull; - import java.awt.event.ActionEvent; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; @@ -37,11 +35,13 @@ import java.util.List; import javax.swing.JButton; import javax.swing.JComponent; +import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JTextField; import javax.swing.KeyStroke; +import org.jetbrains.annotations.NotNull; @SuppressWarnings({ "PMD.UncommentedEmptyMethodBody", @@ -56,6 +56,11 @@ "PMD.ExcessiveImports", }) public class NewCronjobDialog extends AbstractDialog { + + private final Project project; + private final String moduleName; + private final CamelCaseToSnakeCase camelCaseToSnakeCase; + private JPanel contentPane; private JButton buttonOK; private JButton buttonCancel; @@ -66,6 +71,7 @@ public class NewCronjobDialog extends AbstractDialog { private JRadioButton atMidnightRadioButton; private JPanel fixedSchedulePanel; private JPanel configurableSchedulePanel; + private static final String CLASS_NAME = "class name"; private static final String DIRECTORY = "directory"; private static final String CRON_NAME = "name"; @@ -109,9 +115,11 @@ public class NewCronjobDialog extends AbstractDialog { message = {NotEmptyRule.MESSAGE, CRON_GROUP}) private FilteredComboBox cronGroupComboBox; - private Project project; - private String moduleName; - private CamelCaseToSnakeCase camelCaseToSnakeCase; + private JLabel cronjobClassNameFieldErrorMessage;//NOPMD + private JLabel cronjobDirectoryFieldErrorMessage;//NOPMD + private JLabel cronjobNameFieldErrorMessage;//NOPMD + private JLabel cronGroupComboBoxErrorMessage;//NOPMD + private JLabel cronjobScheduleFieldErrorMessage;//NOPMD /** * Open a new cronjob generation dialog form. @@ -282,10 +290,8 @@ private String suggestCronjobName(final String cronjobClassname) { */ private void onOK() { if (!validateFormFields()) { - exit(); return; } - final NamespaceBuilder namespaceBuilder = new NamespaceBuilder( this.getCronjobModule(), this.getCronjobClassName(), From abb9b107a62cf3a52c18d4f0edc35e27e3a7d6f7 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 02:01:10 +0200 Subject: [PATCH 09/21] 868: Enhanced error outputting for new Magento 2 Cron Job generation --- .../generation/dialog/NewControllerDialog.form | 4 ++-- .../generation/dialog/NewCronjobDialog.form | 18 ++++++++++++++---- .../generation/dialog/NewCronjobDialog.java | 1 + 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.form index 3d6b85fc7..5abf1a5be 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.form +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.form @@ -142,7 +142,7 @@ - + @@ -170,7 +170,7 @@ - + diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.form index 0b3535abe..1da079a05 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.form +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.form @@ -3,9 +3,11 @@ - + - + + + @@ -49,7 +51,7 @@ - + @@ -95,7 +97,7 @@ - + @@ -275,6 +277,14 @@ + + + + + + + + diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java index c70402b1a..5d072ae1b 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java @@ -120,6 +120,7 @@ public class NewCronjobDialog extends AbstractDialog { private JLabel cronjobNameFieldErrorMessage;//NOPMD private JLabel cronGroupComboBoxErrorMessage;//NOPMD private JLabel cronjobScheduleFieldErrorMessage;//NOPMD + private JLabel configPathFieldErrorMessage; /** * Open a new cronjob generation dialog form. From 3ca91dc94d580feae771c6e4337374a52ec24607 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 09:32:38 +0200 Subject: [PATCH 10/21] 868: Fixed code style check --- .../actions/generation/dialog/NewCronjobDialog.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java index 5d072ae1b..a8f71b0f1 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java @@ -120,7 +120,7 @@ public class NewCronjobDialog extends AbstractDialog { private JLabel cronjobNameFieldErrorMessage;//NOPMD private JLabel cronGroupComboBoxErrorMessage;//NOPMD private JLabel cronjobScheduleFieldErrorMessage;//NOPMD - private JLabel configPathFieldErrorMessage; + private JLabel configPathFieldErrorMessage;//NOPMD /** * Open a new cronjob generation dialog form. From f80dbf2969580bfda9a69dcf435896574e56fbe6 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 09:37:34 +0200 Subject: [PATCH 11/21] 869: Code refactoring --- .../actions/generation/NewCronGroupAction.java | 6 ++---- .../generation/dialog/NewCronGroupDialog.java | 14 ++++---------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewCronGroupAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewCronGroupAction.java index c9908eac8..175d7ef66 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/NewCronGroupAction.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/NewCronGroupAction.java @@ -15,8 +15,8 @@ import com.magento.idea.magento2plugin.MagentoIcons; import com.magento.idea.magento2plugin.actions.generation.dialog.NewCronGroupDialog; -@SuppressWarnings({"PMD.OnlyOneReturn"}) public class NewCronGroupAction extends com.intellij.openapi.actionSystem.AnAction { + public static final String ACTION_NAME = "Magento 2 Cron Group"; public static final String ACTION_DESCRIPTION = "Create a new Magento 2 Cron Group"; @@ -35,18 +35,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; } - NewCronGroupDialog.open(project, directory); } diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.java index ea37a5a25..9148d6a23 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.java @@ -37,6 +37,7 @@ "PMD.ExcessiveImports," }) public class NewCronGroupDialog extends AbstractDialog { + private final String moduleName; private final Project project; private JPanel contentPanel; @@ -44,10 +45,8 @@ public class NewCronGroupDialog extends AbstractDialog { private JButton buttonCancel; private static final String NAME = "name"; - @FieldValidation(rule = RuleRegistry.NOT_EMPTY, - message = {NotEmptyRule.MESSAGE, NAME}) - @FieldValidation(rule = RuleRegistry.IDENTIFIER, - message = {IdentifierRule.MESSAGE, NAME}) + @FieldValidation(rule = RuleRegistry.NOT_EMPTY, message = {NotEmptyRule.MESSAGE, NAME}) + @FieldValidation(rule = RuleRegistry.IDENTIFIER, message = {IdentifierRule.MESSAGE, NAME}) private JTextField cronGroupName; private JSpinner scheduleGenerateEvery; @@ -142,13 +141,8 @@ public static void open(final Project project, final PsiDirectory directory) { private void onOK() { if (validateFormFields()) { generateFile(); + exit(); } - exit(); - } - - @Override - protected void onCancel() { - dispose(); } private void generateFile() { From e3301a91ae775beebef5c0e74e1885d53319c3e9 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 09:40:30 +0200 Subject: [PATCH 12/21] 869: Enhanced error outputting for new Magento 2 Cron Group generation --- .../generation/dialog/NewCronGroupDialog.form | 76 ++++++++++--------- .../generation/dialog/NewCronGroupDialog.java | 3 + 2 files changed, 45 insertions(+), 34 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.form index 629d61e1e..030b9841e 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.form +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.form @@ -49,7 +49,7 @@ - + @@ -59,7 +59,7 @@ - + @@ -67,7 +67,7 @@ - + @@ -75,7 +75,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -91,7 +91,7 @@ - + @@ -99,7 +99,7 @@ - + @@ -107,43 +107,43 @@ - + - + - + - + - + - + - + @@ -151,7 +151,7 @@ - + @@ -159,7 +159,7 @@ - + @@ -168,7 +168,7 @@ - + @@ -177,7 +177,7 @@ - + @@ -186,7 +186,7 @@ - + @@ -195,7 +195,7 @@ - + @@ -204,7 +204,7 @@ - + @@ -213,7 +213,7 @@ - + @@ -221,7 +221,7 @@ - + @@ -247,7 +247,7 @@ - + @@ -255,7 +255,7 @@ - + @@ -263,7 +263,7 @@ - + @@ -271,7 +271,7 @@ - + @@ -279,7 +279,7 @@ - + @@ -287,7 +287,7 @@ - + @@ -295,7 +295,7 @@ - + @@ -304,7 +304,7 @@ - + @@ -312,7 +312,7 @@ - + @@ -320,7 +320,7 @@ - + @@ -331,9 +331,17 @@ - + + + + + + + + + diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.java index 9148d6a23..28ddbd615 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.java @@ -25,6 +25,7 @@ import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComponent; +import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSpinner; import javax.swing.JTextField; @@ -64,6 +65,8 @@ public class NewCronGroupDialog extends AbstractDialog { private FilteredComboBox useSeparateProcess; private JCheckBox addUseSeparateProcess; + private JLabel cronGroupNameErrorMessage;//NOPMD + /** * New CRON group dialogue constructor. * From 7fee0e8ce46fcb9f93c224f2ee4cd34a05df1585 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 09:47:40 +0200 Subject: [PATCH 13/21] 870: Code refactoring --- .../generation/NewViewModelAction.java | 20 ++++++++++--------- .../generation/dialog/NewViewModelDialog.java | 13 ++++-------- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java index 7d4f8c075..3cdaf6dfd 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java @@ -2,6 +2,7 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ + package com.magento.idea.magento2plugin.actions.generation; import com.intellij.ide.IdeView; @@ -13,31 +14,32 @@ import org.jetbrains.annotations.NotNull; public class NewViewModelAction extends AnAction { - public static String ACTION_NAME = "Magento 2 View Model"; - public static String ACTION_DESCRIPTION = "Create a new Magento 2 View Model"; - NewViewModelAction() { + public static final String ACTION_NAME = "Magento 2 View Model"; + public static final String ACTION_DESCRIPTION = "Create a new Magento 2 View Model"; + + public NewViewModelAction() { super(ACTION_NAME, ACTION_DESCRIPTION, MagentoIcons.MODULE); } @Override - public void actionPerformed(@NotNull AnActionEvent e) { - DataContext dataContext = e.getDataContext(); - IdeView view = LangDataKeys.IDE_VIEW.getData(dataContext); + public void actionPerformed(final @NotNull AnActionEvent event) { + final DataContext dataContext = event.getDataContext(); + final IdeView view = LangDataKeys.IDE_VIEW.getData(dataContext); + if (view == null) { return; } + final Project project = CommonDataKeys.PROJECT.getData(dataContext); - Project project = CommonDataKeys.PROJECT.getData(dataContext); if (project == null) { return; } + final PsiDirectory directory = view.getOrChooseDirectory(); - PsiDirectory directory = view.getOrChooseDirectory(); if (directory == null) { return; } - NewViewModelDialog.open(project, directory); } diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.java index 77fea5829..e2ee40b4e 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.java @@ -33,6 +33,7 @@ import javax.swing.KeyStroke; public class NewViewModelDialog extends AbstractDialog { + private static final String VIEW_MODEL_NAME = "View Model Name"; private static final String VIEW_MODEL_DIR = "View Model Directory"; private final PsiDirectory baseDir; @@ -119,12 +120,12 @@ public static void open(final Project project, final PsiDirectory directory) { protected void onOK() { if (validateFormFields()) { generateFile(); + exit(); } - exit(); } - private PsiFile generateFile() { - return new ModuleViewModelClassGenerator(new ViewModelFileData( + private void generateFile() { + new ModuleViewModelClassGenerator(new ViewModelFileData( getViewModelDirectory(), getViewModelName(), getModuleName(), @@ -185,10 +186,4 @@ private String getNamespace() { ); return parts[0] + Package.fqnSeparator + parts[1] + Package.fqnSeparator + directoryPart; } - - @Override - public void onCancel() { - // add your code here if necessary - dispose(); - } } From 6592c2064774434f5580f1954ebb23bd8d9341a0 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 09:56:20 +0200 Subject: [PATCH 14/21] 870: Enhanced error outputting for new Magento 2 View Model generation --- .../generation/dialog/NewViewModelDialog.form | 26 +++++++++++++++---- .../generation/dialog/NewViewModelDialog.java | 6 ++++- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.form index 88c8a9b83..fa05e157a 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.form +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.form @@ -7,12 +7,12 @@ - + - + @@ -22,7 +22,7 @@ - + @@ -44,7 +44,7 @@ - + @@ -55,7 +55,7 @@ - + @@ -65,6 +65,22 @@ + + + + + + + + + + + + + + + + diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.java index e2ee40b4e..0f2e6a95f 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.java @@ -28,6 +28,7 @@ import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JComponent; +import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.KeyStroke; @@ -36,6 +37,8 @@ public class NewViewModelDialog extends AbstractDialog { private static final String VIEW_MODEL_NAME = "View Model Name"; private static final String VIEW_MODEL_DIR = "View Model Directory"; + + private final Project project; private final PsiDirectory baseDir; private final String moduleName; @@ -59,7 +62,8 @@ public class NewViewModelDialog extends AbstractDialog { message = {DirectoryRule.MESSAGE, VIEW_MODEL_DIR}) private JTextField viewModelParentDir; - private final Project project; + private JLabel viewModelNameErrorMessage;//NOPMD + private JLabel viewModelParentDirErrorMessage;//NOPMD /** * Constructor. From a73037da3c78761b384d52c0aa417bde5d7e9087 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 09:56:48 +0200 Subject: [PATCH 15/21] 870: Code style fix --- .../actions/generation/dialog/NewViewModelDialog.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.java index 0f2e6a95f..283004fa2 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewViewModelDialog.java @@ -7,7 +7,6 @@ import com.intellij.openapi.project.Project; import com.intellij.psi.PsiDirectory; -import com.intellij.psi.PsiFile; import com.magento.idea.magento2plugin.actions.generation.NewViewModelAction; import com.magento.idea.magento2plugin.actions.generation.data.ViewModelFileData; import com.magento.idea.magento2plugin.actions.generation.dialog.validator.annotation.FieldValidation; From 0a56b325e7622865dedd25cd0dd1680e5aec7e00 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 10:02:39 +0200 Subject: [PATCH 16/21] 871: Code refactoring --- .../generation/NewGraphQlResolverAction.java | 24 ++++++++++++------- .../dialog/NewGraphQlResolverDialog.java | 19 +++++++-------- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewGraphQlResolverAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewGraphQlResolverAction.java index 4792ae19d..ae5c3af52 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/NewGraphQlResolverAction.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/NewGraphQlResolverAction.java @@ -2,10 +2,15 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ + package com.magento.idea.magento2plugin.actions.generation; import com.intellij.ide.IdeView; -import com.intellij.openapi.actionSystem.*; +import com.intellij.openapi.actionSystem.AnAction; +import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.CommonDataKeys; +import com.intellij.openapi.actionSystem.DataContext; +import com.intellij.openapi.actionSystem.LangDataKeys; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiDirectory; import com.magento.idea.magento2plugin.MagentoIcons; @@ -13,31 +18,32 @@ import org.jetbrains.annotations.NotNull; public class NewGraphQlResolverAction extends AnAction { - public static String ACTION_NAME = "Magento 2 GraphQL Resolver"; - public static String ACTION_DESCRIPTION = "Create a new Magento 2 GraphQL Resolver"; - NewGraphQlResolverAction() { + public static final String ACTION_NAME = "Magento 2 GraphQL Resolver"; + public static final String ACTION_DESCRIPTION = "Create a new Magento 2 GraphQL Resolver"; + + public NewGraphQlResolverAction() { super(ACTION_NAME, ACTION_DESCRIPTION, MagentoIcons.MODULE); } @Override - public void actionPerformed(@NotNull AnActionEvent e) { - DataContext dataContext = e.getDataContext(); + public void actionPerformed(final @NotNull AnActionEvent event) { + DataContext dataContext = event.getDataContext(); IdeView view = LangDataKeys.IDE_VIEW.getData(dataContext); + if (view == null) { return; } - Project project = CommonDataKeys.PROJECT.getData(dataContext); + if (project == null) { return; } - PsiDirectory directory = view.getOrChooseDirectory(); + if (directory == null) { return; } - NewGraphQlResolverDialog.open(project, directory); } diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.java index 2cb558795..cbabef8a2 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.java @@ -29,8 +29,10 @@ import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.KeyStroke; +import org.jetbrains.annotations.NotNull; public class NewGraphQlResolverDialog extends AbstractDialog { + private final PsiDirectory baseDir; private final String moduleName; private JPanel contentPanel; @@ -58,7 +60,10 @@ public class NewGraphQlResolverDialog extends AbstractDialog { * @param project Project * @param directory PsiDirectory */ - public NewGraphQlResolverDialog(final Project project, final PsiDirectory directory) { + public NewGraphQlResolverDialog( + final @NotNull Project project, + final @NotNull PsiDirectory directory + ) { super(); this.project = project; @@ -111,12 +116,12 @@ public static void open(final Project project, final PsiDirectory directory) { protected void onOK() { if (validateFormFields()) { generateFile(); + exit(); } - exit(); } - private PsiFile generateFile() { - return new ModuleGraphQlResolverClassGenerator(new GraphQlResolverFileData( + private void generateFile() { + new ModuleGraphQlResolverClassGenerator(new GraphQlResolverFileData( getGraphQlResolverDirectory(), getGraphQlResolverClassName(), getModuleName(), @@ -182,10 +187,4 @@ private String getNamespace() { private String getGraphQlResolverClassFqn() { return getNamespace().concat(Package.fqnSeparator).concat(getGraphQlResolverClassName()); } - - @Override - public void onCancel() { - // add your code here if necessary - dispose(); - } } From 0e5264e84d632836a916d04d727d3f0bf2fbab70 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 10:06:13 +0200 Subject: [PATCH 17/21] 871: Enhanced error outputting for new Magento 2 GraphQl Resolver generation --- .../dialog/NewGraphQlResolverDialog.form | 24 +++++++++++++++---- .../dialog/NewGraphQlResolverDialog.java | 5 +++- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.form index f16356523..7ad64638b 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.form +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.form @@ -7,12 +7,12 @@ - + - + @@ -44,7 +44,7 @@ - + @@ -55,7 +55,7 @@ - + @@ -65,6 +65,22 @@ + + + + + + + + + + + + + + + + diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.java index cbabef8a2..5990542f3 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.java @@ -7,7 +7,6 @@ import com.intellij.openapi.project.Project; import com.intellij.psi.PsiDirectory; -import com.intellij.psi.PsiFile; import com.magento.idea.magento2plugin.actions.generation.NewGraphQlResolverAction; import com.magento.idea.magento2plugin.actions.generation.data.GraphQlResolverFileData; import com.magento.idea.magento2plugin.actions.generation.dialog.validator.annotation.FieldValidation; @@ -26,6 +25,7 @@ import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JComponent; +import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.KeyStroke; @@ -54,6 +54,9 @@ public class NewGraphQlResolverDialog extends AbstractDialog { message = {PhpDirectoryRule.MESSAGE, PARENT_DIRECTORY}) private JTextField graphQlResolverParentDir; + private JLabel graphQlResolverClassNameErrorMessage;//NOPMD + private JLabel graphQlResolverParentDirErrorMessage;//NOPMD + /** * Constructor. * From 0f1f19bfd7ab404eed6061406c31fab73eb06659 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 10:09:13 +0200 Subject: [PATCH 18/21] 870: Code style fix --- .../actions/generation/NewViewModelAction.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java index 3cdaf6dfd..53e72f68d 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java @@ -6,7 +6,11 @@ package com.magento.idea.magento2plugin.actions.generation; import com.intellij.ide.IdeView; -import com.intellij.openapi.actionSystem.*; +import com.intellij.openapi.actionSystem.AnAction; +import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.CommonDataKeys; +import com.intellij.openapi.actionSystem.DataContext; +import com.intellij.openapi.actionSystem.LangDataKeys; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiDirectory; import com.magento.idea.magento2plugin.MagentoIcons; From cd7bcd4ba2b3929c1ec27fa943c08354d4cbbace Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 10:13:44 +0200 Subject: [PATCH 19/21] 872: Code refactoring --- .../actions/generation/NewCLICommandAction.java | 14 +++++++------- .../generation/dialog/NewCLICommandDialog.java | 16 +++++++++++----- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewCLICommandAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewCLICommandAction.java index 41bf7c68a..e352d29e4 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/NewCLICommandAction.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/NewCLICommandAction.java @@ -17,33 +17,33 @@ import com.magento.idea.magento2plugin.actions.generation.dialog.NewCLICommandDialog; import org.jetbrains.annotations.NotNull; -@SuppressWarnings({"PMD.FieldNamingConventions", "PMD.OnlyOneReturn"}) public class NewCLICommandAction extends AnAction { - public static String ACTION_NAME = "Magento 2 CLI Command"; - public static String ACTION_DESCRIPTION = "Create a new Magento 2 CLI Command"; + + public static final String ACTION_NAME = "Magento 2 CLI Command"; + public static final String ACTION_DESCRIPTION = "Create a new Magento 2 CLI Command"; public NewCLICommandAction() { super(ACTION_NAME, ACTION_DESCRIPTION, MagentoIcons.MODULE); } @Override - public void actionPerformed(@NotNull final AnActionEvent event) { + public void actionPerformed(final @NotNull AnActionEvent event) { final DataContext context = event.getDataContext(); final IdeView view = LangDataKeys.IDE_VIEW.getData(context); + if (view == null) { return; } - final Project project = CommonDataKeys.PROJECT.getData(context); + if (project == null) { return; } - final PsiDirectory directory = view.getOrChooseDirectory(); + if (directory == null) { return; } - NewCLICommandDialog.open(project, directory); } diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCLICommandDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCLICommandDialog.java index ef139e58e..8e157eb9d 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCLICommandDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCLICommandDialog.java @@ -35,17 +35,20 @@ import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.KeyStroke; +import org.jetbrains.annotations.NotNull; @SuppressWarnings({"PMD.MissingSerialVersionUID", "PMD.ExcessiveImports"}) public class NewCLICommandDialog extends AbstractDialog { - private JPanel contentPane; - private JButton buttonCancel; - private JButton buttonOK; + private static final String CLASS_NAME = "class name"; private static final String PARENT_DIRECTORY = "parent directory"; private static final String COMMAND_NAME = "command name"; private static final String COMMAND_DESCRIPTION = "description"; + private JPanel contentPane; + private JButton buttonCancel; + private JButton buttonOK; + @FieldValidation(rule = RuleRegistry.NOT_EMPTY, message = {NotEmptyRule.MESSAGE, CLASS_NAME}) @FieldValidation(rule = RuleRegistry.PHP_CLASS, @@ -79,7 +82,10 @@ public class NewCLICommandDialog extends AbstractDialog { * @param project Project * @param directory PsiDirectory */ - public NewCLICommandDialog(final Project project, final PsiDirectory directory) { + public NewCLICommandDialog( + final @NotNull Project project, + final @NotNull PsiDirectory directory + ) { super(); this.project = project; this.moduleName = GetModuleNameByDirectoryUtil.execute(directory, project); @@ -181,8 +187,8 @@ public String getCLICommandClassFqn() { private void onOK() { if (validateFormFields() && isPHPClassValid()) { this.generate(); + exit(); } - exit(); } private Boolean isPHPClassValid() { From 18a1b2b1a1ec2498321694feaedacaf6723747cd Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 10:17:54 +0200 Subject: [PATCH 20/21] 872: Enhanced error outputting for new Magento 2 CLI Command generation --- .../dialog/NewCLICommandDialog.form | 48 +++++++++++++++---- .../dialog/NewCLICommandDialog.java | 6 +++ 2 files changed, 46 insertions(+), 8 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCLICommandDialog.form b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCLICommandDialog.form index cc459ee59..43b98f5b5 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCLICommandDialog.form +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCLICommandDialog.form @@ -16,7 +16,7 @@ - + @@ -36,7 +36,7 @@ - + @@ -46,7 +46,7 @@ - + @@ -65,7 +65,7 @@ - + @@ -74,7 +74,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -93,7 +93,7 @@ - + @@ -128,7 +128,7 @@ - + @@ -137,6 +137,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCLICommandDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCLICommandDialog.java index 8e157eb9d..26a085f41 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCLICommandDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCLICommandDialog.java @@ -30,6 +30,7 @@ import java.util.Locale; import javax.swing.JButton; import javax.swing.JComponent; +import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextArea; @@ -71,6 +72,11 @@ public class NewCLICommandDialog extends AbstractDialog { message = {NotEmptyRule.MESSAGE, COMMAND_DESCRIPTION}) private JTextArea cliCommandDescriptionField; + private JLabel cliCommandClassNameFieldErrorMessage;//NOPMD + private JLabel cliCommandParentDirectoryFieldErrorMessage;//NOPMD + private JLabel cliCommandNameFieldErrorMessage;//NOPMD + private JLabel cliCommandDescriptionFieldErrorMessage;//NOPMD + private final CommonBundle commonBundle; private final Project project; private final String moduleName; From a6ff7b35f0c14c6356829deba4d5e936c975a958 Mon Sep 17 00:00:00 2001 From: bohdan-harniuk Date: Tue, 21 Dec 2021 10:19:22 +0200 Subject: [PATCH 21/21] 871: Code style fix --- .../actions/generation/NewGraphQlResolverAction.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/actions/generation/NewGraphQlResolverAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewGraphQlResolverAction.java index ae5c3af52..347e6b5c2 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/NewGraphQlResolverAction.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/NewGraphQlResolverAction.java @@ -28,18 +28,18 @@ public NewGraphQlResolverAction() { @Override public void actionPerformed(final @NotNull AnActionEvent event) { - DataContext dataContext = event.getDataContext(); - IdeView view = LangDataKeys.IDE_VIEW.getData(dataContext); + final DataContext dataContext = event.getDataContext(); + final IdeView view = LangDataKeys.IDE_VIEW.getData(dataContext); if (view == null) { return; } - Project project = CommonDataKeys.PROJECT.getData(dataContext); + final Project project = CommonDataKeys.PROJECT.getData(dataContext); if (project == null) { return; } - PsiDirectory directory = view.getOrChooseDirectory(); + final PsiDirectory directory = view.getOrChooseDirectory(); if (directory == null) { return;