JSF problemas com ListaDataModel RESOLVIDO

Pagina do Cadastro de Pessoa

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>

<f:view>
	<html>
	<head>
	<title>Loca- Cadastro Pessoa</title>
	</head>
	<body>
	<h:form>
		<h:outputLabel value="Cadastro Pessoa" style="FONT-WEIGHT: bold;" /> / 
			     <h:outputLink
			value="#{facesContext.externalContext.requestContextPath}/pages/cadastro.jsf">
			<f:verbatim>Cadastro</f:verbatim>
		</h:outputLink> / 
        <h:outputLink
			value="#{facesContext.externalContext.requestContextPath}/pages/login.jsf">
			<f:verbatim>Logout</f:verbatim>
		</h:outputLink>
		<br>
		<br>
		&lt;h:commandButton action="#{pessoaMB.novoPessoaMB}" value="Novo" immediate="true" onchange="submit"/&gt;
		&lt;h:commandButton action="#{pessoaMB.salvarPessoaMB}" value="Salvar"/&gt;
		&lt;h:commandButton action="#{pessoaMB.excluirPessoaMB}" value="Excluir" /&gt;
		&lt;h:commandButton action="#{pessoaMB.imprimirPessoaMB}" value="Imprimir" /&gt;

Imaginem que eu cliquei em neste comando:
<h:commandButton action="#{pessoaMB.imprimirPessoaMB}" value=“Imprimir” />

Ele vai chamar esse metodo que esta dentro da classe PessoaMB >>> .imprimirPessoaMB ele é desse jeito mesmo so para chamar
o meu Relatorio.

public String imprimirPessoaMB(){
			
	return &quot;pessoarelato&quot;;
}

Agora imagine chamou meu relatorio OK,  neste instante ele chama um metodo dentro do relatorio:
	&lt;h:dataTable value="#{pessoaMB.pessoaData}"  var="pessoa" &gt;

=====================================================================================

Pagina do Relatorio report/pessoa.jsf


&lt;%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%&gt;
&lt;%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%&gt;


	&lt;html&gt;
	&lt;head&gt;
	&lt;title&gt;Loca- Imprimir Pessoa&lt;/title&gt;
	&lt;/head&gt;
	&lt;body&gt;
	&lt;f:view&gt;
	&lt;h:form&gt;
		&lt;h:outputLabel value="Imprimir Pessoa" style="FONT-WEIGHT: bold;" /&gt; / 
			     &lt;h:outputLink
			value="#{facesContext.externalContext.requestContextPath}/pages/pessoa.jsf"&gt;
			&lt;f:verbatim&gt;Pessoa&lt;/f:verbatim&gt;
		&lt;/h:outputLink&gt; / 
        &lt;h:outputLink
			value="#{facesContext.externalContext.requestContextPath}/pages/login.jsf"&gt;
			&lt;f:verbatim&gt;Logout&lt;/f:verbatim&gt;
		&lt;/h:outputLink&gt;
		<br>
		<br>
		<br>
		&lt;h:dataTable value="#{pessoaMB.pessoaData}"  var="pessoa" &gt;
			&lt;h:column&gt;
			 	&lt;f:facet name="header"&gt;
				&lt;h:outputLabel value="Codigo Reduzido" style="FONT-SIZE: small;"/&gt;
				&lt;/f:facet&gt;
				&lt;h:outputText value="#{pessoa.mbCodReduzido}" style="FONT-SIZE: small;"/&gt;
			&lt;/h:column&gt;
			&lt;h:column&gt;
				&lt;f:facet name="header"&gt;
				&lt;h:outputLabel value="Nome Completo" style="FONT-SIZE: small;"/&gt;
				&lt;/f:facet&gt;
				&lt;h:commandLink value="#{pessoa.mbNomeCompleto}" action="#{pessoaMB.viewDetail}"/&gt;
			&lt;/h:column&gt;
			&lt;h:column&gt;
				&lt;f:facet name="header"&gt;
				&lt;h:outputLabel value="Endereço" style="FONT-SIZE: small;"/&gt;
				&lt;/f:facet&gt;
				&lt;h:outputText value="#{pessoa.mbEndereco}" style="FONT-SIZE: small;"/&gt;
			&lt;/h:column&gt;
			&lt;h:column&gt;
				&lt;f:facet name="header"&gt;
			    &lt;h:outputLabel value="Numero" style="FONT-SIZE: small;"/&gt;
			    &lt;/f:facet&gt;
				&lt;h:outputText value="#{pessoa.mbNumero}" style="FONT-SIZE: small;"/&gt;
			&lt;/h:column&gt;
			&lt;h:column&gt;
			    &lt;f:facet name="header"&gt;
				&lt;h:outputLabel value="Bairro" style="FONT-SIZE: small;"/&gt;
				&lt;/f:facet&gt;
				&lt;h:outputText value="#{pessoa.mbBairro}" style="FONT-SIZE: small;"/&gt;
			&lt;/h:column&gt;
			&lt;h:column&gt;
			 	&lt;f:facet name="header"&gt;
				&lt;h:outputLabel value="Cidade" style="FONT-SIZE: small;"/&gt;
				&lt;/f:facet&gt;
				&lt;h:outputText value="#{pessoa.mbCidade}" style="FONT-SIZE: small;"/&gt;
			&lt;/h:column&gt;
			&lt;h:column&gt;
				&lt;f:facet name="header"&gt;
			    &lt;h:outputLabel value="Estado" style="FONT-SIZE: small;"/&gt;
			    &lt;/f:facet&gt;
				&lt;h:outputText value="#{pessoa.mbEstado}" style="FONT-SIZE: small;"/&gt;
			&lt;/h:column&gt;
			&lt;h:column&gt;
				&lt;f:facet name="header"&gt;
			    &lt;h:outputLabel value="CEP" style="FONT-SIZE: small;"/&gt;
			    &lt;/f:facet&gt;
				&lt;h:outputText value="#{pessoa.mbCep}" style="FONT-SIZE: small;"/&gt;
			&lt;/h:column&gt;
			&lt;h:column&gt;
				&lt;f:facet name="header"&gt;
			    &lt;h:outputLabel value="E-mail" style="FONT-SIZE: small;"/&gt;
			    &lt;/f:facet&gt;
				&lt;h:outputText value="#{pessoa.mbEmail}" style="FONT-SIZE: small;"/&gt;
			&lt;/h:column&gt;
			&lt;h:column&gt;
				&lt;f:facet name="header"&gt;
			    &lt;h:outputLabel value="RG" style="FONT-SIZE: small;"/&gt; 
			    &lt;/f:facet&gt;
				&lt;h:outputText value="#{pessoa.mbRg}" style="FONT-SIZE: small;"/&gt;
			&lt;/h:column&gt;
			&lt;h:column&gt;
				&lt;f:facet name="header"&gt;
			    &lt;h:outputLabel value="CPF" style="FONT-SIZE: small;"/&gt;
			    &lt;/f:facet&gt;
				&lt;h:outputText value="#{pessoa.mbCpf}" style="FONT-SIZE: small;"/&gt;
			&lt;/h:column&gt;
		&lt;/h:dataTable&gt;
		&lt;div style="COLOR: #ff8000;" align="center"&gt;
		_________________________________________________________________________________________________________________________________________________________________________
		&lt;h:graphicImage value="/imagem/LocaDeveloper.jpg"
			style="height : 32px; width : 128px;" /&gt; 
	    &lt;/div&gt;
	&lt;/h:form&gt;
&lt;/f:view&gt;

	&lt;/body&gt;

	&lt;/html&gt;

=====================================================================================

 Esse kra pessoaMB.pessoaData  chama outro metodo:    
	@SuppressWarnings("unchecked")
	public ListDataModel getPessoaData() {
		System.out.println(" GET Link ***********  ");
		pc.imprimirPessoaHb();
		pessoaData = new ListDataModel(pc.pessoaList);
		return pessoaData;
	}

	@SuppressWarnings("unchecked")
	public void setPessoaData(ListDataModel pessoaData) {
		System.out.println(" SET Link ***********  ");
		this.pessoaData = pessoaData;
	}
       Esse kra chama um metodo dentro do meu PessoaControle  pc.imprimirPessoaHb(); responsavel por fazer uma List

e colocar dentro desse kra pessoaData = new ListDataModel(pc.pessoaList); e depois return pessoaData;
E entao volta para o Relatorio populado, OK

	@SuppressWarnings("unchecked")
	public void imprimirPessoaHb() {
		Session sessions = HbLocator.currentSession();
		Transaction tx = sessions.beginTransaction();
		try {
			Query query = sessions.createQuery("from Pessoa");
			Iterator it = query.iterate();
			pessoaList = new ArrayList();
			
			while(it.hasNext()){
				Pessoa p = (Pessoa) it.next();
				pessoa = new Pessoa();
				pessoa.setMbIdPessoa(p.getMbIdPessoa());
				pessoa.setMbCodReduzido(p.getMbCodReduzido());
				pessoa.setMbCodAlternativo(p.getMbCodAlternativo());
				pessoa.setMbNomeCompleto(p.getMbNomeCompleto());
				pessoa.setMbDataNasc(p.getMbDataNasc());
				pessoa.setMbSexo(p.getMbSexo());
				pessoa.setMbEndereco(p.getMbEndereco());
				pessoa.setMbNumero(p.getMbNumero());
				pessoa.setMbBairro(p.getMbBairro());
				pessoa.setMbCidade(p.getMbCidade());
				pessoa.setMbEstado(p.getMbEstado());
				pessoa.setMbCep(p.getMbCep());			
				pessoa.setMbEmail(p.getMbEmail());
				pessoa.setMbRg(p.getMbRg());
				pessoa.setMbCpf(p.getMbCpf());
				pessoa.setMbFuncCadPor(p.getMbFuncCadPor());
				pessoa.setMbFuncCadData(p.getMbFuncCadData());
				pessoa.setMbFuncAltPor(p.getMbFuncAltPor());
				pessoa.setMbFuncAltData(p.getMbFuncAltData());
				pessoa.setMbInss(p.getMbInss());
				pessoa.setMbIss(p.getMbIss());
				pessoa.setMbIrpf(p.getMbIrpf());
				pessoaList.add(pessoa);
				System.out.println("list : "+pessoa.getMbNomeCompleto());
			}

			tx.commit();
		} catch (Exception e) {
			tx.rollback();
		}
		HbLocator.closeSession();
	}

===================================================================================
Vejam o Resultado Final

Imprimir Pessoa / Pessoa / Logout

Codigo Reduzido Nome Completo Endereço Numero Bairro Cidade Estado CEP E-mail RG CPF
F0001 teste01 teste01 1 teste01 teste01 SP 1 teste01@ 1 1
F0002 teste02 teste02 2 teste02 teste02 SP 2 teste02@ 2 2
F0003 teste03 teste03 3 teste03 teste03 SP 3 teste03@ 3 3
F0004 teste04 teste04 4 teste04 teste04 SP 4 teste04@ 4 4
F0005 teste05 teste05 5 teste05 teste05 SP 5 teste05@ 5 5
F0006 teste06 teste06 6 teste06 teste06 SP 6 teste06@ 6 6
F0007 teste07 teste07 7 teste07 teste07 SP 7 teste07@ 7 7

Galera obrigado pela ajuda e foi muito dificil ter conseguido resolver este problema com ListaDataModel
Bom espero ter ajudado varias pessoas com esse pequeno tutorial

Valeuuu!