JSf - Erro de Cast

1 resposta
kleins

Pessoal..

Estou recebbendo este abaixo.

javax.faces.FacesException: #{ListTransactMB.rastrear}: java.lang.ClassCastException: br.org.system4.entity.Transact cannot be cast to br.org.system4.entity.Transact

No cast abaixo....

public String rastrear(){
        
        br.org.system4.entity.Transact t = (br.org.system4.entity.Transact) this.getDataTableBinding().getRowData();
         
        System.out.println("  Transact :   "+t.getTransactid());
        
        //Object ob = this.dataTableBinding.getRowData();
        
       // System.out.print("Objeto "+ob.getClass());
        
        
        return null;
    }

Mas no codigo comentado, eu vejo que a classe que está vindo do dataTableBinding é esta mesmo.... "br.org.system4.entity.Transact"

Já passaram por algo parecido ?

abraço e valeu.

Rodrigo

Segue o codigo do datatable e do MB

<rich:dataTable binding="#{ListTransactMB.dataTableBinding}" id="transacttable" value="#{ListTransactMB.transactList}" 
             var="transact" width="1000" rows="20"        onRowMouseOver="this.style.backgroundColor='#F1F1F1'"
                    onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'">
            
            <f:facet name="header">
                
                <rich:columnGroup>
                   <rich:column>
                    <h:outputText id="lblID" value="Transação" />
                   </rich:column>
                   
                    <rich:column>
                    <h:outputText id="lblIUM" value="IUM" />
                   </rich:column>
                   
                     <rich:column >
                    <h:outputText id="lblParceiro" value="Origem" />
                     </rich:column>
                   
                 
                   
                           <rich:column>
                    <h:outputText id="lblDataOrigem" value="Data Origem" />
                   </rich:column>
                   
                         <rich:column>
                    <h:outputText id="lblParceiro2" value="destino" />
                   </rich:column>
                    
                             <rich:column>
                    <h:outputText id="lblDataDestino" value="Data destino" />
                   </rich:column>
                   
                    <rich:column>
                    <h:outputText id="lblTipo" value="Operação" />
                   </rich:column>
                   
                    <rich:column>
                    <h:outputText id="lbltrace" value="" />
                    </rich:column> 
              
                    
                </rich:columnGroup>
                
            </f:facet>
            
                   <h:column>
                       <h:commandLink id="track" action="#{ListTransactMB.rastrear}">
                    <h:outputText id="id" value="#{transact.transactid}" />
                        </h:commandLink>
                   </h:column>
                   <h:column>
                       
                    <h:outputText id="ium" value="#{transact.iumid.codeid.ium}" />
                       
                  </h:column>
                  <h:column>
                    <h:outputText id="origem" value="#{transact.partneridOrigem.nome}" />
                  </h:column>
                   <h:column>
                    <h:outputText id="dataorigem" value="#{transact.dateOrig}">
                        <f:convertDateTime pattern="dd/MM/yyyy" />
                    </h:outputText>
                  </h:column>
                  
                    <h:column>
                    <h:outputText id="destino" value="#{transact.partneridDest.nome}" />
                  </h:column>
                  
                   <h:column>
                    <h:outputText id="datadestino" value="#{transact.dateDest}">
                        <f:convertDateTime pattern="dd/MM/yyyy" />
                    </h:outputText>
                  </h:column>
                  
                  <h:column>
                    <h:outputText id="tipo" value="#{transact.type}">
                        
                    </h:outputText>
                  </h:column>
                  
                   <h:column>
                      <h:commandLink id="trace" action="#{ListTransactMB.rastrear}">
                          <h:graphicImage url="imagens/stock_stop.gif"  />
                          
                      </h:commandLink>
                  </h:column>
                  
     
                  
           </rich:dataTable>    

            <rich:datascroller for="transacttable" maxPages="20" id="dts1" />
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.org.system4.MB;


import br.org.system4.bus.TransactBus;
import java.util.List;
import org.richfaces.component.html.HtmlDataTable;


/**
 *
 * @author rodrigo.klein
 */

public class ListTransactMB {

    /** Creates a new instance of ListTransactMB */
    public ListTransactMB() {
    }

    private List TransactList;
    
    private HtmlDataTable dataTableBinding; 

    public List getTransactList() {
        
        TransactBus t = new TransactBus();
        
        this.setTransactList(t.getTransactList());
        
        
        return TransactList;
    }

    public void setTransactList(List TransactList) {
        this.TransactList = TransactList;
    }


    public HtmlDataTable getDataTableBinding() {
        return dataTableBinding;
    }

    public void setDataTableBinding(HtmlDataTable dataTableBinding) {
        this.dataTableBinding = dataTableBinding;
    }
    
        
    public String rastrear(){
        
        br.org.system4.entity.Transact t = (br.org.system4.entity.Transact) this.getDataTableBinding().getRowData();
         
        System.out.println("  Transact :   "+t.getTransactid());
        
        Object ob = this.dataTableBinding.getRowData();
        
        
        
        System.out.print("###################################   Objeto "+ob.getClass());
        
        
        return null;
    }
    
}

1 Resposta

kleins

Pessoal.

Ainda náo identifiquei o problema, mas troquei a maquina e resolveu…

Achei estranho depois de que uma rotina que já funcionava faz tempo parou também.

Abraço.

Criado 19 de agosto de 2008
Ultima resposta 19 de ago. de 2008
Respostas 1
Participantes 1