Java tutorial
/******************************************************************************* * Educational Online Test Delivery System * Copyright (c) 2013 American Institutes for Research * * Distributed under the AIR Open Source License, Version 1.0 * See accompanying file AIR-License-1_0.txt or at * http://www.smarterapp.org/documents/American_Institutes_for_Research_Open_Source_Software_License.pdf ******************************************************************************/ package org.opentestsystem.authoring.testauth.validation; import java.lang.annotation.ElementType; import java.util.Set; import javax.validation.ConstraintViolation; import javax.validation.ConstraintViolationException; import org.hibernate.validator.internal.engine.ConstraintViolationImpl; import org.hibernate.validator.internal.engine.path.PathImpl; import org.springframework.validation.Errors; import org.springframework.validation.FieldError; import org.springframework.validation.ObjectError; import com.google.common.collect.Sets; public final class ValidationHelper { private ValidationHelper() { // do not instantiate } @SuppressWarnings("unchecked") public static <T> ConstraintViolationException convertErrorsToConstraintException(final T validatedObject, final Errors errors) { if (errors.hasErrors()) { final Set<ConstraintViolation<?>> violations = Sets.newHashSet(); for (final FieldError error : errors.getFieldErrors()) { final ConstraintViolation<T> violation = ConstraintViolationImpl.forBeanValidation(error.getCode(), org.springframework.util.StringUtils.arrayToCommaDelimitedString(error.getArguments()), (Class<T>) validatedObject.getClass(), validatedObject, validatedObject, error.getRejectedValue() == null ? "" : error.getRejectedValue(), PathImpl.createPathFromString(error.getField()), null, ElementType.FIELD); violations.add(violation); } for (final ObjectError error : errors.getGlobalErrors()) { final ConstraintViolation<T> violation = ConstraintViolationImpl.forBeanValidation( error.getDefaultMessage(), org.springframework.util.StringUtils.arrayToCommaDelimitedString(error.getArguments()), (Class<T>) validatedObject.getClass(), validatedObject, validatedObject, "", PathImpl.createPathFromString(error.getObjectName()), null, ElementType.TYPE); violations.add(violation); } return new ConstraintViolationException(violations); } return null; } }