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; } } - 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; } 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/NewCronjobAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java index 538df7a1e..948174758 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/NewCronjobAction.java @@ -17,10 +17,10 @@ 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"; + + 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); @@ -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/NewViewModelAction.java b/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java index 7d4f8c075..53e72f68d 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/NewViewModelAction.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 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/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 6bc982cc5..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,12 +114,12 @@ public static void open(final Project project, final PsiDirectory directory) { protected void onOK() { if (validateFormFields()) { generateFile(); + exit(); } - exit(); } - private PsiFile generateFile() { - return new ModuleBlockClassGenerator(new BlockFileData( + private void generateFile() { + new ModuleBlockClassGenerator(new BlockFileData( getBlockDirectory(), getBlockName(), getModuleName(), @@ -140,6 +141,7 @@ public String getBlockDirectory() { private void suggestBlockDirectory() { final String moduleIdentifierPath = getModuleIdentifierPath(); + if (moduleIdentifierPath == null) { blockParentDir.setText(BlockPhp.DEFAULT_DIR); return; @@ -147,6 +149,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 +164,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 +182,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; } } 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..5abf1a5be 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( 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 ea37a5a25..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; @@ -37,6 +38,7 @@ "PMD.ExcessiveImports," }) public class NewCronGroupDialog extends AbstractDialog { + private final String moduleName; private final Project project; private JPanel contentPanel; @@ -44,10 +46,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; @@ -65,6 +65,8 @@ public class NewCronGroupDialog extends AbstractDialog { private FilteredComboBox useSeparateProcess; private JCheckBox addUseSeparateProcess; + private JLabel cronGroupNameErrorMessage;//NOPMD + /** * New CRON group dialogue constructor. * @@ -142,13 +144,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() { 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..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 @@ - + @@ -78,7 +80,7 @@ - + @@ -87,7 +89,7 @@ - + @@ -95,12 +97,12 @@ - + - + @@ -109,16 +111,16 @@ - + - + - + @@ -162,12 +164,20 @@ + + + + + + + + - + @@ -194,7 +204,7 @@ - + @@ -202,7 +212,7 @@ - + @@ -210,7 +220,7 @@ - + @@ -218,7 +228,7 @@ - + @@ -226,7 +236,7 @@ - + @@ -235,6 +245,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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..a8f71b0f1 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java @@ -35,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", @@ -54,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; @@ -64,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"; @@ -107,9 +115,12 @@ 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 + private JLabel configPathFieldErrorMessage;//NOPMD /** * Open a new cronjob generation dialog form. @@ -117,7 +128,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 +257,6 @@ public String getCronjobScheduleConfigPath() { return this.configPathField.getText().trim(); } - @Override - protected void onCancel() { - dispose(); - } - private void createUIComponents() { final List cronGroups = CronGroupIndex.getInstance(project).getGroups(); @@ -285,10 +291,8 @@ private String suggestCronjobName(final String cronjobClassname) { */ private void onOK() { if (!validateFormFields()) { - exit(); return; } - final NamespaceBuilder namespaceBuilder = new NamespaceBuilder( this.getCronjobModule(), this.getCronjobClassName(), 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 77fea5829..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; @@ -28,13 +27,17 @@ 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; 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; @@ -58,7 +61,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. @@ -119,12 +123,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 +189,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(); - } }