Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  
  package org.richfaces.validator;
  
  import java.util.Locale;
  
  import  javax.faces.application.FacesMessage;
 import  javax.faces.component.UIInput;
 import  javax.faces.context.FacesContext;
 import  javax.validation.MessageInterpolator;
 import  javax.validation.MessageInterpolator.Context;
 import  javax.validation.Validation;
 import  javax.validation.ValidationException;
 import  javax.validation.Validator;
 import  javax.validation.ValidatorContext;
 import  javax.validation.ValidatorFactory;
 import  javax.validation.metadata.ConstraintDescriptor;

Author(s):
asmirnov
 
 public class RichFacesBeanValidatorFactory implements BeanValidatorFactory {
     private ValidatorFactory validatorFactory;
     private ValidatorContext validatorContext;
 
     public RichFacesBeanValidatorFactory() {
         // Enforce class to load
         ValidatorFactory.class.getName();
     }
 
     public void init() throws InitializationException {
         // Check Factory, to avoid instantiation errors
         // https://jira.jboss.org/jira/browse/RF-7226
         try {
              = Validation.buildDefaultValidatorFactory();
              = .usingContext();
             MessageInterpolator jsfMessageInterpolator = new JsfMessageInterpolator(.getMessageInterpolator());
             .messageInterpolator(jsfMessageInterpolator);
         } catch (ValidationException e) {
             throw new InitializationException(e);
         }
     }
 
     /*
      * (non-Javadoc)
      *
      * @see org.richfaces.validator.BeanValidatorFactory#getValidator(javax.faces.context.FacesContext)
      */
     public Validator getValidator(FacesContext context) {
         return .getValidator();
     }
 
     public FacesMessage interpolateMessage(FacesContext contextfinal ConstraintDescriptor<? extends Annotationconstrain) {
         if (constrain.getAttributes().containsKey("message")) {
             Object object = constrain.getAttributes().get("message");
             String interpolatedMessage;
             interpolatedMessage = .getMessageInterpolator().interpolate(object.toString(), new Context() {
                 public Object getValidatedValue() {
                     return "{0}";
                 }
 
                 public ConstraintDescriptor<?> getConstraintDescriptor() {
                     return constrain;
                 }
             }, MessageFactory.getCurrentLocale(context));
             return new FacesMessage(interpolatedMessage);
         } else {
             return MessageFactory.createMessage(context, UIInput.UPDATE_MESSAGE_ID);
         }
     }
 
     private static final class JsfMessageInterpolator implements MessageInterpolator {
         private MessageInterpolator delegate;
 
         public JsfMessageInterpolator(MessageInterpolator delegate) {
             this. = delegate;
         }
 
         public String interpolate(String messageTemplate, Context context) {
 
             Locale locale = MessageFactory.getCurrentLocale(FacesContext.getCurrentInstance());
             if (null != locale) {
                 return .interpolate(messageTemplatecontextlocale);
             } else {
                 return .interpolate(messageTemplatecontext);
             }
         }
 
         public String interpolate(String messageTemplate, Context contextLocale locale) {
             Locale faceslocale = MessageFactory.getCurrentLocale(FacesContext.getCurrentInstance());
             if (null != faceslocale) {
                 return .interpolate(messageTemplatecontextfaceslocale);
             } else {
                 return .interpolate(messageTemplatecontextlocale);
             }
         }
    }
New to GrepCode? Check out our FAQ X