/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.components.cluster.execution.validator; import java.util.ArrayList; import java.util.List; import de.rcenvironment.components.cluster.common.ClusterComponentConstants; import de.rcenvironment.core.component.executor.SshExecutorConstants; import de.rcenvironment.core.component.model.api.ComponentDescription; import de.rcenvironment.core.component.validation.api.ComponentValidationMessage; import de.rcenvironment.core.component.validation.spi.AbstractSshExecutorComponentValidator; /** * A {@link AbstractWorkflowNodeValidator} implementation to validate cluster * component configuration. * * @author Doreen Seider * @author Jascha Riedel */ public class ClusterComponentValidator extends AbstractSshExecutorComponentValidator { // this class does not actually extend the // AbstractSshExecutorComponentVaidator. It only needs its methods. @Override public String getIdentifier() { return ClusterComponentConstants.COMPONENT_ID; } @Override protected List<ComponentValidationMessage> validateComponentSpecific(ComponentDescription componentDescription) { return null; } @Override protected List<ComponentValidationMessage> validateOnWorkflowStartComponentSpecific( ComponentDescription componentDescription) { return null; } @Override protected List<ComponentValidationMessage> validateSshComponentSpecific(ComponentDescription componentDescription) { List<ComponentValidationMessage> messages = new ArrayList<>(); messages.addAll(checkIfStringIsConfigured(componentDescription, SshExecutorConstants.CONFIG_KEY_HOST)); messages.addAll(checkIfStringIsConfigured(componentDescription, SshExecutorConstants.CONFIG_KEY_PORT)); messages.addAll(checkIfStringIsConfigured(componentDescription, SshExecutorConstants.CONFIG_KEY_SANDBOXROOT)); if (!Boolean.valueOf( getProperty(componentDescription, ClusterComponentConstants.KEY_IS_SCRIPT_PROVIDED_WITHIN_INPUT_DIR))) { messages.addAll(checkIfStringIsConfigured(componentDescription, SshExecutorConstants.CONFIG_KEY_SCRIPT)); } return messages; } }