package com.robotoworks.mechanoid.ops.validation;
import org.eclipse.xtext.common.types.JvmType;
import org.eclipse.xtext.common.types.util.TypeReferences;
import org.eclipse.xtext.validation.Check;
import com.google.inject.Inject;
import com.robotoworks.mechanoid.MechanoidPlugin;
import com.robotoworks.mechanoid.ops.opServiceModel.Model;
import com.robotoworks.mechanoid.ops.opServiceModel.OpServiceModelPackage;
import com.robotoworks.mechanoid.validation.MechanoidIssueCodes;
import com.robotoworks.mechanoid.validation.MechanoidLibClasspathValidationHelper;
public class OpServiceModelJavaValidator extends AbstractOpServiceModelJavaValidator {
@Inject TypeReferences typeReferences;
@Inject MechanoidLibClasspathValidationHelper libValidationHelper;
@Check
public void checkMechanoidLibOnClasspath(Model m) {
if(libValidationHelper.shouldValidateMechanoidLibOnClassPath(m)) {
JvmType type = typeReferences.findDeclaredType(MechanoidPlugin.MECHANOID_LIB_CLASS, m);
if(type == null) {
error("mechanoid.jar is required in your /libs folder or on the classpath", OpServiceModelPackage.Literals.MODEL__PACKAGE_NAME, MechanoidIssueCodes.MISSING_MECHANOID_LIBS);
}
}
}
}