/* * This software is Copyright 2005,2006,2007,2008 Langdale Consultants. * Langdale Consultants can be contacted at: http://www.langdale.com.au */ package au.com.langdale.cimtoole.builder; import java.io.IOException; import java.io.InputStream; import org.eclipse.core.resources.IResource; import au.com.langdale.cimtoole.project.Info; import au.com.langdale.inference.StandardFunctorActions; import au.com.langdale.inference.RuleParser.ParserException; import au.com.langdale.kena.OntModel; import au.com.langdale.validation.SplitValidator; import au.com.langdale.validation.ValidatorUtil; import au.com.langdale.validation.ValidatorUtil.ValidatorProtocol; /** * The <code>Buildlet</code> for validating an incremental CIM/XML model. */ public class IncrementalValidationBuildlet extends ValidationBaseBuildlet { @Override protected boolean isInstanceResource(IResource resource) { return Info.isIncremental(resource); } @Override protected ValidatorProtocol getValidator(OntModel schema, InputStream ruleText) throws ParserException, IOException { if( ruleText == null) ruleText = ValidatorUtil.openStandardRules("cimtool-inc"); SplitValidator validator = new SplitValidator(schema, ruleText); validator.setOption(StandardFunctorActions.PROBLEM_PER_SUBJECT, Info.getPreferenceOption(Info.PROBLEM_PER_SUBJECT)); return validator; } }