/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.components.evaluationmemory.execution.validator; import java.util.ArrayList; import java.util.List; import de.rcenvironment.components.evaluationmemory.common.EvaluationMemoryComponentConstants; import de.rcenvironment.core.component.model.api.ComponentDescription; import de.rcenvironment.core.component.validation.api.ComponentValidationMessage; import de.rcenvironment.core.component.validation.spi.AbstractComponentValidator; /** * Validator for Evaluation Memory component. * * @author Doreen Seider * @author Jascha Riedel */ public class EvaluationMemoryComponentValidator extends AbstractComponentValidator { @Override public String getIdentifier() { return EvaluationMemoryComponentConstants.COMPONENT_ID; } @Override protected List<ComponentValidationMessage> validateComponentSpecific(ComponentDescription componentDescription) { List<ComponentValidationMessage> messages = new ArrayList<>(); boolean selectAtWfStart = Boolean.valueOf( getProperty(componentDescription, EvaluationMemoryComponentConstants.CONFIG_SELECT_AT_WF_START)); if (!selectAtWfStart) { String memoryFile = getProperty(componentDescription, EvaluationMemoryComponentConstants.CONFIG_MEMORY_FILE); if (memoryFile == null || memoryFile.trim().isEmpty()) { final ComponentValidationMessage noFile = new ComponentValidationMessage( ComponentValidationMessage.Type.ERROR, EvaluationMemoryComponentConstants.CONFIG_MEMORY_FILE, "Define a evaluation memory file", "No memory file given"); messages.add(noFile); } } checkIfAtLeastInputsOrOutputsAreDefined(componentDescription, messages); return messages; } @Override protected List<ComponentValidationMessage> validateOnWorkflowStartComponentSpecific( ComponentDescription componentDescription) { // TODO Auto-generated method stub return null; } private void checkIfAtLeastInputsOrOutputsAreDefined(ComponentDescription componentDescription, List<ComponentValidationMessage> messages) { if (getInputs(componentDescription).size() < 1) { messages.add(new ComponentValidationMessage(ComponentValidationMessage.Type.WARNING, null, "", "No inputs/outputs defined")); } } }