package com.atsebak.embeddedlinuxjvm.runner.data; import com.atsebak.embeddedlinuxjvm.localization.EmbeddedLinuxJVMBundle; import com.atsebak.embeddedlinuxjvm.runner.conf.EmbeddedLinuxJVMRunConfiguration; import com.intellij.execution.ExecutionBundle; import com.intellij.execution.configurations.JavaRunConfigurationModule; import com.intellij.execution.configurations.RuntimeConfigurationException; import com.intellij.execution.configurations.RuntimeConfigurationWarning; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.PsiClass; public class EmbeddedLinuxJVMRunnerValidator { /** * Validates the PI Settings are Entered Correctly * * @param rp * @throws RuntimeConfigurationException */ public static void checkEmbeddedSettings(EmbeddedLinuxJVMRunConfigurationRunnerParameters rp) throws RuntimeConfigurationWarning { if (StringUtil.isEmptyOrSpaces(rp.getHostname())) { throw new RuntimeConfigurationWarning(EmbeddedLinuxJVMBundle.getString("pi.invalid.hostname")); } if (StringUtil.isEmptyOrSpaces(rp.getPort())) { throw new RuntimeConfigurationWarning(EmbeddedLinuxJVMBundle.getString("pi.invalid.port")); } if (StringUtil.isEmptyOrSpaces(rp.getUsername())) { throw new RuntimeConfigurationWarning(EmbeddedLinuxJVMBundle.getString("pi.invalid.username")); } if (StringUtil.isEmptyOrSpaces(rp.getKeyPath()) && rp.isUsingKey()) { throw new RuntimeConfigurationWarning(EmbeddedLinuxJVMBundle.getString("pi.invalid.key")); } if(StringUtil.isEmptyOrSpaces(String.valueOf(rp.getSshPort()))) { throw new RuntimeConfigurationWarning(EmbeddedLinuxJVMBundle.getString("pi.invalid.sshport")); } } /** * Validates if the Java Settings are Entered Correctly * * @param configuration * @throws RuntimeConfigurationException */ public static void checkJavaSettings(EmbeddedLinuxJVMRunConfiguration configuration) throws RuntimeConfigurationException { JavaRunConfigurationModule javaRunConfigurationModule = new JavaRunConfigurationModule(configuration.getProject(), false); PsiClass psiClass = javaRunConfigurationModule.findClass(configuration.getRunnerParameters().getMainclass()); if (psiClass == null) { throw new RuntimeConfigurationWarning(ExecutionBundle.message("main.method.not.found.in.class.error.message", configuration.getRunnerParameters().getMainclass())); } } }