Boa noite.
Esta dando erro no meu converter, quando eu subo o meu sistema.
Erro
out 17, 2015 10:59:47 PM org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [Faces Servlet] in context with path [/cortexWeb] threw exception [java.lang.Integer cannot be cast to model.UfEstado] with root cause
java.lang.ClassCastException: java.lang.Integer cannot be cast to model.UfEstado
at converter.UfEstadoConverter.getAsString(UfEstadoConverter.java:27)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getFormattedValue(HtmlBasicRenderer.java:519)
at com.sun.faces.renderkit.html_basic.MenuRenderer.renderOption(MenuRenderer.java:533)
at com.sun.faces.renderkit.html_basic.MenuRenderer.renderOptions(MenuRenderer.java:791)
at com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:843)
at com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:297)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:437)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:124)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
A minha classe
@FacesConverter(value="ufEstadoConverter")
public class UfEstadoConverter implements Converter{
@Override
public Object getAsObject(FacesContext arg0, UIComponent component, String id) {
if(id == null){
return this.getAttributesFrom(component).get(id);
}
return null;
}
@Override
public String getAsString(FacesContext arg0, UIComponent component, Object value) {
if (value != null && !"".equals(value)){
UfEstado uf = (UfEstado)value;
this.addAttribute(component, uf);
Integer id_uf = uf.getId_uf();
if (id_uf != null){
return String.valueOf(id_uf);
}
}
return (String) value;
}
protected void addAttribute(UIComponent component, UfEstado estado){
String key = Integer.toString(estado.getId_uf());
this.getAttributesFrom(component).put(key, estado);
}
protected Map<String, Object> getAttributesFrom(UIComponent component){
return component.getAttributes();
}
}
<td><h:selectOneMenu id="seletc_uf"
value="#{ufEstadoBean.uf.id_uf}" converter="ufEstadoConverter">
<f:selectItem itemValue="" itemLabel="Selecione..." />
<f:selectItems var="ufs" value="#{ufEstadoBean.listaUfEstado}" />
</h:selectOneMenu></td>
Obrigado pela ajuda.