/** * */ package net.conselldemallorca.helium.webapp.mvc; import net.conselldemallorca.helium.core.model.hibernate.EnumeracioValors; import net.conselldemallorca.helium.core.model.service.DissenyService; import org.springframework.validation.Errors; import org.springframework.validation.ValidationUtils; /** * Validador per gestionar els valors de les enumeracions * * @author Limit Tecnologies <limit@limit.es> */ public class EnumeracioValorsValidator { @SuppressWarnings({ "unchecked", "rawtypes" }) public boolean supports(Class clazz) { return clazz.isAssignableFrom(EnumeracioValorsCommand.class); } private DissenyService dissenyService; public EnumeracioValorsValidator(DissenyService dissenyService) { this.dissenyService = dissenyService; } public void validate(Object command, Errors errors) { EnumeracioValorsCommand enumeracioValorsCommand = (EnumeracioValorsCommand)command; ValidationUtils.rejectIfEmpty(errors, "codi", "not.blank"); ValidationUtils.rejectIfEmpty(errors, "nom", "not.blank"); EnumeracioValors enumeracioValors = dissenyService.findEnumeracioValorsAmbCodi( enumeracioValorsCommand.getEnumeracioId(), enumeracioValorsCommand.getCodi()); if (enumeracioValors != null) { errors.rejectValue("codi", "error.enumeracio.valor.codi.repetit"); } } }