diff --git a/resources/magento2/validation.properties b/resources/magento2/validation.properties index 3f5f565fc..ec1b513e1 100644 --- a/resources/magento2/validation.properties +++ b/resources/magento2/validation.properties @@ -2,7 +2,10 @@ validator.notEmpty={0} must not be empty validator.package.validPath=Please specify a valid Magento 2 installation path validator.alphaNumericCharacters={0} must contain letters and numbers only validator.startWithNumberOrCapitalLetter={0} must start from a number or a capital letter +validator.onlyNumbers={0} must contain numbers only +validator.identifier={0} must contain letters, numbers, dashes, and underscores only validator.directory.isNotValid={0} is not valid validator.module.noSuchModule=No such module {0} validator.file.alreadyExists={0} already exists validator.file.cantBeCreated={0} can't be created +validator.class.alreadyDeclared={0} already declared in the target module diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/OverrideClassByAPreferenceDialog.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/OverrideClassByAPreferenceDialog.java index 437879e06..f8b9b59c1 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/OverrideClassByAPreferenceDialog.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/OverrideClassByAPreferenceDialog.java @@ -17,6 +17,7 @@ import com.magento.idea.magento2plugin.indexes.ModuleIndex; import com.magento.idea.magento2plugin.magento.packages.Package; import com.magento.idea.magento2plugin.ui.FilteredComboBox; +import com.magento.idea.magento2plugin.validators.ValidatorBundle; import org.jetbrains.annotations.NotNull; import javax.swing.*; import java.awt.event.*; @@ -123,7 +124,9 @@ private void onOK() { getPreferenceArea() ), project).generate(OverrideClassByAPreferenceAction.ACTION_NAME); if (diXml == null) { - JOptionPane.showMessageDialog(null, "Preference already declared in the target module!", "Error", JOptionPane.ERROR_MESSAGE); + String errorMessage = ValidatorBundle.message("validator.class.alreadyDeclared", "Preference"); + JOptionPane.showMessageDialog(null, errorMessage, "Error", JOptionPane.ERROR_MESSAGE); + return; } diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/validator/CreateAPluginDialogValidator.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/validator/CreateAPluginDialogValidator.java index a1bddc2c9..496bcbe23 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/validator/CreateAPluginDialogValidator.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/validator/CreateAPluginDialogValidator.java @@ -75,7 +75,9 @@ public boolean validate(Project project) } if (!pluginName.matches(Regex.IDENTIFIER)) { - JOptionPane.showMessageDialog(null, "Plugin Name must contain letters, numbers, dashes, and underscores only.", errorTitle, JOptionPane.ERROR_MESSAGE); + String errorMessage = ValidatorBundle.message("validator.identifier", "Plugin Name"); + JOptionPane.showMessageDialog(null, errorMessage, errorTitle, JOptionPane.ERROR_MESSAGE); + return false; } @@ -88,7 +90,9 @@ public boolean validate(Project project) } if (!sortOrder.matches(Regex.NUMERIC)) { - JOptionPane.showMessageDialog(null, "Sort Order must contain numbers only.", errorTitle, JOptionPane.ERROR_MESSAGE); + String errorMessage = ValidatorBundle.message("validator.onlyNumbers", "Sort Order"); + JOptionPane.showMessageDialog(null, errorMessage, errorTitle, JOptionPane.ERROR_MESSAGE); + return false; } @@ -102,7 +106,9 @@ public boolean validate(Project project) List allModulesList = ModuleIndex.getInstance(project).getEditableModuleNames(); if (!allModulesList.contains(pluginModule)) { - JOptionPane.showMessageDialog(null, "No such module '".concat(pluginModule).concat("'."), errorTitle, JOptionPane.ERROR_MESSAGE); + String errorMessage = ValidatorBundle.message("validator.module.noSuchModule", pluginModule); + JOptionPane.showMessageDialog(null, errorMessage, errorTitle, JOptionPane.ERROR_MESSAGE); + return false; } diff --git a/src/com/magento/idea/magento2plugin/actions/generation/dialog/validator/OverrideClassByAPreferenceDialogValidator.java b/src/com/magento/idea/magento2plugin/actions/generation/dialog/validator/OverrideClassByAPreferenceDialogValidator.java index ddeab4126..839e7d59c 100644 --- a/src/com/magento/idea/magento2plugin/actions/generation/dialog/validator/OverrideClassByAPreferenceDialogValidator.java +++ b/src/com/magento/idea/magento2plugin/actions/generation/dialog/validator/OverrideClassByAPreferenceDialogValidator.java @@ -36,12 +36,16 @@ public boolean validate(Project project) } if (!preferenceClassName.matches(Regex.ALPHANUMERIC)) { - JOptionPane.showMessageDialog(null, "Preference Class Name must contain letters and numbers only.", errorTitle, JOptionPane.ERROR_MESSAGE); + String errorMessage = ValidatorBundle.message("validator.alphaNumericCharacters", "Preference Class"); + JOptionPane.showMessageDialog(null, errorMessage, errorTitle, JOptionPane.ERROR_MESSAGE); + return false; } if (!Character.isUpperCase(preferenceClassName.charAt(0)) && !Character.isDigit(preferenceClassName.charAt(0))) { - JOptionPane.showMessageDialog(null, "Preference Class Name must start from a number or a capital letter", errorTitle, JOptionPane.ERROR_MESSAGE); + String errorMessage = ValidatorBundle.message("validator.startWithNumberOrCapitalLetter", "Preference Class"); + JOptionPane.showMessageDialog(null, errorMessage, errorTitle, JOptionPane.ERROR_MESSAGE); + return false; }