/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.gui.workflow.editor.validator;
import java.util.LinkedList;
import java.util.List;
import de.rcenvironment.core.component.api.ComponentUtils;
import de.rcenvironment.core.component.model.api.ComponentDescription;
import de.rcenvironment.core.component.validation.api.ComponentValidationMessage;
import de.rcenvironment.core.component.validation.api.ComponentValidatorListService;
import de.rcenvironment.core.utils.incubator.ServiceRegistry;
/**
*
* This class gives an easy access point to the {@link ComponentValidatorListService}.
*
* @author Jascha Riedel
*
*/
public final class ValidationSupport {
private static ValidationSupport instance = null;
private ValidationSupport() {};
/**
*
* @return the instance of {@link ValidationSupport}.
*/
public static ValidationSupport getInstance() {
if (instance == null) {
instance = new ValidationSupport();
}
return instance;
}
/**
* Validates the given {@link ComponentDescription} using the {@link ComponentValidatorListService}.
*
* @param componentDescription that will be validated.
* @param onWorkflowStart additional validation steps that are only wanted on workflow start
* @return List<{@linkComponentValidationMessage}> as result of the validation.
*/
public List<ComponentValidationMessage> validate(ComponentDescription componentDescription,
boolean onWorkflowStart) {
if (!componentDescription.getIdentifier().startsWith(ComponentUtils.MISSING_COMPONENT_PREFIX)) {
return ServiceRegistry.createAccessFor(this).getService(ComponentValidatorListService.class)
.validateComponentDescription(componentDescription, onWorkflowStart);
}
return new LinkedList<>();
}
}