package com.vst.webapp.validators;
import com.vst.model.ConstructionDefect;
import com.vst.model.DefectAuthentification;
import com.vst.model.DefectParameter;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;
import java.util.List;
/**
* Created by IntelliJ IDEA.
* User: ALEXEI
* Date: 05.01.2008
* Time: 0:16:07
* To change this template use File | Settings | File Templates.
*/
public class ConstructionDefectValidator implements Validator {
public boolean supports(Class candidate) {
return ConstructionDefect.class.isAssignableFrom(candidate);
}
public void validate(Object obj, Errors errors) {
ConstructionDefect constructionDefect = (ConstructionDefect) obj;
if (constructionDefect.getDangerCategory().getDangerCategoryId().equals(new Long(-1))) {
errors.rejectValue("dangerCategory", "constructionDefect.noDangerCategory");
}
if (constructionDefect.getDefectType().getDefectTypeId().equals(new Long(-1))) {
errors.rejectValue("defectType", "constructionDefect.noDefectType");
} else {
//checking if all defect parameters were filled
List defectParameterList = constructionDefect.getDefectParameters();
for (int i = 0; i < defectParameterList.size(); i++) {
DefectParameter defectParameter = (DefectParameter) defectParameterList.get(i);
if (defectParameter.getParameterValue() == 0.0) {
errors.rejectValue("defectParameters[" + i + "]", "constructionDefect.noDefectParameterValue");
}
}
}
if (constructionDefect.getDefectVarity().getVarityId().equals(new Long(-1))) {
errors.rejectValue("defectVarity", "constructionDefect.noDefectVarity");
}
if (constructionDefect.getDefectZone().getDefectZoneId().equals(new Long(-1))) {
errors.rejectValue("defectZone", "constructionDefect.noDefectZone");
}
}
}