/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package jsf.entity;
import entity.User;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import jpa.controllers.UserJpaController;
/**
*
* @author atap
*/
public class UserConverter implements Converter {
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
if (value == null || value.length() == 0) {
return null;
}
Integer id = new Integer(value);
UserJpaController controller = (UserJpaController) context.getApplication().getELResolver().getValue(context.getELContext(), null, "userJpa");
return controller.findUser(id);
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
if (value == null) {
return null;
}
if (value instanceof User) {
User o = (User) value;
return o.getId() == null ? "" : o.getId().toString();
} else {
throw new IllegalArgumentException("object " + value + " is of type " + value.getClass().getName() + "; expected type: entity.User");
}
}
}