Search in sources :

Example 31 with ValidationInfo

use of com.intellij.openapi.ui.ValidationInfo in project azure-tools-for-java by Microsoft.

the class AzureDockerUIResources method validateComponent.

public static ValidationInfo validateComponent(String msgErr, JPanel panel, JComponent component, JComponent componentLabel) {
    panel.requestFocus();
    component.requestFocus();
    if (componentLabel != null) {
        componentLabel.setVisible(true);
    }
    panel.repaint();
    ValidationInfo info = new ValidationInfo(msgErr, component);
    return info;
}
Also used : ValidationInfo(com.intellij.openapi.ui.ValidationInfo)

Example 32 with ValidationInfo

use of com.intellij.openapi.ui.ValidationInfo in project azure-tools-for-java by Microsoft.

the class AzureDockerHostUpdateLoginPanel method doValidate.

public ValidationInfo doValidate(boolean shakeOnError) {
    // User name
    String vmUsername = dockerHostUsernameTextField.getText();
    if (vmUsername == null || vmUsername.isEmpty() || (dockerHostSecondPwdField.isVisible() && !AzureDockerValidationUtils.validateDockerHostUserName(vmUsername))) {
        ValidationInfo info = AzureDockerUIResources.validateComponent("Missing username", mainPanel, dockerHostUsernameTextField, dockerHostUsernameLabel);
        if (shakeOnError) {
            DialogShaker(info);
        }
        return info;
    }
    editableHost.updatedDockerHost.certVault.vmUsername = vmUsername;
    // Password login
    String vmPwd1 = new String(dockerHostFirstPwdField.getPassword());
    String vmPwd2 = new String(dockerHostSecondPwdField.getPassword());
    if (((dockerHostKeepSshRadioButton.isSelected() && editableHost.originalDockerHost.hasSSHLogIn) || dockerHostFirstPwdField.getPassword().length > 0 || dockerHostSecondPwdField.getPassword().length > 0) && (vmPwd1.isEmpty() || vmPwd2.isEmpty() || !vmPwd1.equals(vmPwd2) || (dockerHostSecondPwdField.isVisible() && !AzureDockerValidationUtils.validateDockerHostPassword(vmPwd1)))) {
        ValidationInfo info = AzureDockerUIResources.validateComponent("Incorrect password", mainPanel, dockerHostFirstPwdField, dockerHostFirstPwdLabel);
        if (shakeOnError) {
            DialogShaker(info);
        }
        return info;
    }
    if (dockerHostFirstPwdField.getPassword().length > 0) {
        editableHost.updatedDockerHost.certVault.vmPwd = new String(dockerHostFirstPwdField.getPassword());
        editableHost.updatedDockerHost.hasPwdLogIn = true;
    } else {
        editableHost.updatedDockerHost.certVault.vmPwd = null;
        editableHost.updatedDockerHost.hasPwdLogIn = false;
    }
    // Keep current SSH keys
    if (dockerHostKeepSshRadioButton.isSelected() && editableHost.originalDockerHost.hasSSHLogIn) {
        AzureDockerCertVaultOps.copyVaultSshKeys(editableHost.updatedDockerHost.certVault, editableHost.originalDockerHost.certVault);
        editableHost.updatedDockerHost.hasSSHLogIn = editableHost.originalDockerHost.hasSSHLogIn;
    }
    // SSH key auto generated
    if (dockerHostAutoSshRadioButton.isSelected()) {
        AzureDockerCertVault certVault = AzureDockerCertVaultOps.generateSSHKeys(null, "SSH keys for " + editableHost.updatedDockerHost.name);
        AzureDockerCertVaultOps.copyVaultSshKeys(editableHost.updatedDockerHost.certVault, certVault);
        editableHost.updatedDockerHost.hasSSHLogIn = true;
    }
    // SSH key imported from local file directory
    if (dockerHostImportSshRadioButton.isSelected()) {
        if (dockerHostImportSSHBrowseTextField.getText() == null || dockerHostImportSSHBrowseTextField.getText().isEmpty() || !AzureDockerValidationUtils.validateDockerHostSshDirectory(dockerHostImportSSHBrowseTextField.getText())) {
            ValidationInfo info = AzureDockerUIResources.validateComponent("SSH key files were not found in the selected directory", mainPanel, dockerHostImportSSHBrowseTextField, dockerHostImportSSHBrowseLabel);
            if (shakeOnError) {
                DialogShaker(info);
            }
            return info;
        } else {
            AzureDockerCertVault certVault = AzureDockerCertVaultOps.getSSHKeysFromLocalFile(dockerHostImportSSHBrowseTextField.getText());
            AzureDockerCertVaultOps.copyVaultSshKeys(editableHost.updatedDockerHost.certVault, certVault);
            editableHost.updatedDockerHost.hasSSHLogIn = true;
        }
    }
    return null;
}
Also used : ValidationInfo(com.intellij.openapi.ui.ValidationInfo) AzureDockerCertVault(com.microsoft.azure.docker.model.AzureDockerCertVault)

Example 33 with ValidationInfo

use of com.intellij.openapi.ui.ValidationInfo in project azure-tools-for-java by Microsoft.

the class WebAppDeployDialog method doValidate.

@Nullable
@Override
protected ValidationInfo doValidate() {
    int selectedRow = table.getSelectedRow();
    if (selectedRow < 0) {
        return new ValidationInfo("Please select an App Service to deploy to", table);
    }
    DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
    WebAppDetails wad = webAppWebAppDetailsMap.get(tableModel.getValueAt(selectedRow, 0));
    if (wad.webApp.javaVersion() == JavaVersion.OFF) {
        return new ValidationInfo("Please select java based App Service", table);
    }
    return super.doValidate();
}
Also used : WebAppDetails(com.microsoft.azuretools.utils.WebAppUtils.WebAppDetails) ValidationInfo(com.intellij.openapi.ui.ValidationInfo) DefaultTableModel(javax.swing.table.DefaultTableModel) Nullable(org.jetbrains.annotations.Nullable)

Example 34 with ValidationInfo

use of com.intellij.openapi.ui.ValidationInfo in project android by JetBrains.

the class CreateXmlResourceDialog method checkIfResourceAlreadyExists.

@Nullable
public static ValidationInfo checkIfResourceAlreadyExists(@NotNull Project project, @NotNull VirtualFile resourceDir, @NotNull String resourceName, @NotNull ResourceType resourceType, @NotNull List<String> dirNames, @NotNull String fileName) {
    if (resourceName.length() == 0 || dirNames.size() == 0 || fileName.length() == 0) {
        return null;
    }
    for (String directoryName : dirNames) {
        final VirtualFile resourceSubdir = resourceDir.findChild(directoryName);
        if (resourceSubdir == null) {
            continue;
        }
        final VirtualFile resFile = resourceSubdir.findChild(fileName);
        if (resFile == null) {
            continue;
        }
        if (resFile.getFileType() != StdFileTypes.XML) {
            return new ValidationInfo("File " + FileUtil.toSystemDependentName(resFile.getPath()) + " is not XML file");
        }
        final Resources resources = AndroidUtils.loadDomElement(project, resFile, Resources.class);
        if (resources == null) {
            return new ValidationInfo(AndroidBundle.message("not.resource.file.error", FileUtil.toSystemDependentName(resFile.getPath())));
        }
        for (ResourceElement element : AndroidResourceUtil.getValueResourcesFromElement(resourceType, resources)) {
            if (resourceName.equals(element.getName().getValue())) {
                return new ValidationInfo("resource '" + resourceName + "' already exists in " + FileUtil.toSystemDependentName(resFile.getPath()));
            }
        }
    }
    return null;
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) ResourceElement(org.jetbrains.android.dom.resources.ResourceElement) ValidationInfo(com.intellij.openapi.ui.ValidationInfo) Resources(org.jetbrains.android.dom.resources.Resources) Nullable(org.jetbrains.annotations.Nullable)

Example 35 with ValidationInfo

use of com.intellij.openapi.ui.ValidationInfo in project android by JetBrains.

the class ExtractStyleDialog method doValidate.

@Override
protected ValidationInfo doValidate() {
    final String styleName = getStyleName();
    if (styleName.length() == 0) {
        return new ValidationInfo("specify style name", myStyleNameField);
    }
    if (!AndroidResourceUtil.isCorrectAndroidResourceName(styleName)) {
        return new ValidationInfo("incorrect style name", myStyleNameField);
    }
    final Module module = getChosenModule();
    if (module == null) {
        return new ValidationInfo("specify module", myModuleCombo);
    }
    VirtualFile resourceDir = getResourceDirectory();
    if (resourceDir == null) {
        return new ValidationInfo("specify a module with resources", myModuleCombo);
    }
    return CreateXmlResourceDialog.checkIfResourceAlreadyExists(module.getProject(), resourceDir, getStyleName(), ResourceType.STYLE, myDirNames, myFileName);
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) ValidationInfo(com.intellij.openapi.ui.ValidationInfo) Module(com.intellij.openapi.module.Module)

Aggregations

ValidationInfo (com.intellij.openapi.ui.ValidationInfo)53 Nullable (org.jetbrains.annotations.Nullable)24 VirtualFile (com.intellij.openapi.vfs.VirtualFile)11 File (java.io.File)7 Module (com.intellij.openapi.module.Module)3 Pattern (java.util.regex.Pattern)3 DocumentEvent (javax.swing.event.DocumentEvent)3 DefaultTableModel (javax.swing.table.DefaultTableModel)3 ActionButton (com.intellij.openapi.actionSystem.impl.ActionButton)2 Project (com.intellij.openapi.project.Project)2 PatternSyntaxException (java.util.regex.PatternSyntaxException)2 ResourceRepository (com.android.ide.common.resources.ResourceRepository)1 IAndroidTarget (com.android.sdklib.IAndroidTarget)1 Configuration (com.android.tools.idea.gradle.structure.dependencies.android.Configuration)1 PsArtifactDependencySpec (com.android.tools.idea.gradle.structure.model.PsArtifactDependencySpec)1 PsModule (com.android.tools.idea.gradle.structure.model.PsModule)1 PsAndroidModule (com.android.tools.idea.gradle.structure.model.android.PsAndroidModule)1 PsBuildType (com.android.tools.idea.gradle.structure.model.android.PsBuildType)1 PsLibraryAndroidDependency (com.android.tools.idea.gradle.structure.model.android.PsLibraryAndroidDependency)1 FilterData (com.android.tools.idea.logcat.PersistentAndroidLogFilters.FilterData)1