package com.sun.faces.test.javaee7.cdimethodvalidation;
import java.io.Serializable;
import javax.enterprise.context.RequestScoped;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import javax.inject.Named;
import javax.validation.ConstraintViolationException;
@Named
@RequestScoped
public class UserBean implements Serializable {
@Inject
HelloService hello;
protected String methodValidationValue = "foo";
protected String valueValidationValue = "foo";
public UserBean() {}
@FooConstraint
public String getValueValidationValue() {
return valueValidationValue;
}
public void setValueValidationValue(String ValueValidationValue) {
this.valueValidationValue = ValueValidationValue;
}
public String getMethodValidationValue() {
return methodValidationValue;
}
public void setMethodValidationValue(String firstName) {
this.methodValidationValue = firstName;
}
public String getHelloValue() {
return hello.sayHello(getMethodValidationValue());
}
public void preRenderViewListener() {
FacesContext context = FacesContext.getCurrentInstance();
String value = (String) context.getExternalContext().getRequestMap().get("value");
if (null != value && value.equals("bar")) {
try {
hello.sayHello(value);
} catch (ConstraintViolationException e) {
FacesMessage m = new FacesMessage(e.getMessage());
context.addMessage(null, m);
}
}
}
}