Hola gente como estan ????
Tengo un problema querer ejecutar mi pagina el picklist al parecer no me funciona el componente correctamente me informa un error de
ar.com.sibs.sca.pagos.beans.EntidadRol cannot be cast to javax.faces.model.SelectItem
con este strack trace------------------------------->
java.lang.ClassCastException: ar.com.sibs.sca.pagos.beans.EntidadRol cannot be cast to javax.faces.model.SelectItem
at org.richfaces.renderkit.PickListRenderer.getConvertedItems(PickListRenderer.java:514)
at org.richfaces.renderkit.html.PickListRendererGen.doEncodeChildren(PickListRendererGen.java:283)
at org.richfaces.renderkit.html.PickListRendererGen.doEncodeChildren(PickListRendererGen.java:264)
at org.ajax4jsf.renderkit.RendererBase.encodeChildren(RendererBase.java:120)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:277)
at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:258)
at org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:200)
at org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:195)
at org.ajax4jsf.renderkit.RendererBase.encodeChildren(RendererBase.java:120)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:930)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:930)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:619)
asi tengo configurado mi pick list
<rich:pickList value="#{configurarEntidadesParaExcedente.entidadesRolSinExcedentes}" showButtonsLabel="false" >
<f:selectItems value="#{configurarEntidadesParaExcedente.entidadesRolConExcedentes}" />
</rich:pickList>
y esta es mi codigo java donde optengo la lista
private List<EntidadRol> entidadesRolSinExcedentes = new ArrayList<EntidadRol>();
private List<EntidadRol> entidadesRolConExcedentes = new ArrayList<EntidadRol>();
private ArrayList<EntidadExcedentes> operarListaEntRolConExcedentes = null;
private ArrayList<EntidadExcedentes> operarListaEntRolSinExcedentes = null;
private static short PAGAEXCEDENTE = 1;
private static short NOPAGAEXCEDENTE = 0;
@SuppressWarnings("unchecked")
public List<EntidadRol> getEntidadesRolSinExcedentes() {
log.info("ConfigurarEntidadesPagoExcedente::getEntidadesRolSinExcedentes");
// Lista de Entidades - Roles
ArrayList<EntidadRol> entidadesRoles = (ArrayList<EntidadRol>) this
.getFacade().getEntidadesRol();
// Lista de Entidades - Roles a modificar
entidadesRolSinExcedentes = (ArrayList<EntidadRol>) entidadesRoles
.clone();
// Lista de EntidadesRoles con pagoPorExcedente
List<EntidadExcedentes> entidadesRolPagoConExcedente = this.getFacade()
.getEntidadesRolConExcedente();
//Si no poseo entidades-rol con excedente mi lista sin excedente es mi lista completa de entidad-rol
if (!entidadesRolPagoConExcedente.isEmpty()) {
// Filtro todas las entidades rol no tiene pago por excedente
for (EntidadRol entidadRol : entidadesRoles) {
for (EntidadExcedentes entidadExcedentes : entidadesRolPagoConExcedente) {
// Comparo por codigoEntidad y codigoRol
if (entidadRol.getCodigoentidad().getCodigoentidad()
.equals(entidadExcedentes.getCodigoEntidadPago())
&& entidadRol.getCodigorol().getCodigorol().equals(
entidadExcedentes.getCodigoRolPago())) {
entidadesRolSinExcedentes.remove(entidadRol);
}
}
}
}
return entidadesRolSinExcedentes;
}
/**
*
* @return
*/
public List<EntidadRol> getEntidadesRolConExcedentes() {
log
.info("ConfigurarEntidadesPagoExcedente::getEntidadesRolConExcedentes");
ArrayList<EntidadRol> entidadesRoles = (ArrayList<EntidadRol>) this
.getFacade().getEntidadesRol();
entidadesRoles.removeAll(entidadesRolSinExcedentes);
entidadesRolConExcedentes = (List<EntidadRol>) entidadesRoles.clone();
log.info(" dato entidadesRoles" + entidadesRolConExcedentes.toString());
return entidadesRolConExcedentes;
}
***************************** Esto continua
Desde ya gracias cualquier comentario, ya que en internet o lo que encontre pick list tendria que funcionar tranquilamente , talves puede ser que este componente no me reconozca el objeto que yo quiero mostrar si no que solo acepte List de String .
Desde ya cualquier respuesta sera agradecida
Saludos Cordiales
Juan Manuel Lopez