Ajuda com datatable [RESOLVIDO]

Olá gente boa, alguem pode me ajudar a setar uma linha do datatable que esta dentro de um dialog num inputText?

tenho isso:

campo onde deve aparecer a linha selecionada
<h:outputLabel id="aceClas_lbl" value="Classificação:"  for="classBtn" />
                                    <p:inputText value="#{acervoJsfBean.classificacao.clasClass}"/>


table que jah mostra as colunas 

<p:dataTable id="tabbleCDU" value="#{classificacaoJsfBean.classificacaoList}" var="lista" 
                                                     emptyMessage="Nenhum registro encontrado." 
                                                     paginator="true" rows="10"  pageLinks="10"
                                                     paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} Registros por página: {RowsPerPageDropdown}"
                                                     rowsPerPageTemplate="10,25,35,50">    

                                            <p:column headerText="Classificação">
                                                <h:outputText value="#{lista.clasClass}"></h:outputText>
                                            </p:column>

                                            <p:column headerText="Descrição">
                                                <h:outputText value="#{lista.clasDescricao}"></h:outputText>
                                            </p:column>

                                            <p:column style="width:4%">  
// nao sei se eh assim que faz
                                                <p:commandButton id="selectButton" update="@form" image="ok" title="View">  
                                                    <f:setPropertyActionListener value="#{lista}" target="#{acervoJsfBean.classificacao}" />  
                                                </p:commandButton>  
                                            </p:column>  

                                        </p:dataTable>

noa bean somente faço 

Classificacao classificacao = new Classificacao();

// gets sets

agradeço

Bem, teoricamente está certo, você está obtendo algum erro ou coisa do tipo?

sem erro, na verdade ele até chama agora, depois de umas mudanças. porem nao vou poder gravar, pois gravo usando crud, exemplo em anexo.

Aqui eh um campo normal, salva beleza:

<h:outputLabel id="aceCdd_lbl" value="CDD:" for="aceCdd" /> <p:inputText id="aceCdd" value="#{acervoJsfBean.crudObj.aceCdd}" style="width: 75%" maxlength="10"/>
Mas aqui, onde aparece o que foi selecionado, como faço pra salvar no banco, ideias ?

<h:outputLabel id="aceCDU_lbl" value="CDU:" for="classBtn" /> <h:outputText value="#{acervoJsfBean.classificacao.clasDescricao}" />

Deixa eu ver se entendi, o mesmo cara que voce pega voce quer adicionar o banco? Voce pode salvar no banco na action do seu botao, que voce seta o valor p input. Eh isso?

Não. Oq pretendo fazer é selecionar uma linha da tabela e clicar num botao aceitar que seta o valor da linha num campo de texto
Depois, (mais tarde, quando termino de prencher minha tela de cadastro) clico em salvar e ele salva o valor do campo de texto no banco como aqui

<h:outputLabel id="aceCdd_lbl" value="CDD:" for="aceCdd" /> <p:inputText id="aceCdd" value="#{acervoJsfBean.crudObj.aceCdd}" style="width: 75%" maxlength="10"/>

só que aqui eu simplismente escrevo oque eu quero, e o crud salva no campo aceCdd.

No outro campo (que eu chamo da tabela) eu consigo mostrar na tela, mas nao consigo gravar, pois nao tenho como por o crud.

<h:outputText value="#{acervoJsfBean.classificacao.clasDescricao}" />

Não estou entendendo muito bem ainda, tem como você postar seu bean e sua página? Você está usando hibernate ou está fazendo os DAOs na mão mesmo?

<h:outputLabel id="aceClas_lbl" value="Classificação:"  for="classBtn" />
<p:inputText value="#{acervoJsfBean.classificacao.clasClass}"/>  

Voce poderia explicar o que significa isso ? o que seria classificacao ? e o clasClass ?

Voce poderia passar o id como parametro para um metodo de consulta, e o resultado seria atualizado no outputText ou algo do tipo.

[quote=rof20004] <h:outputLabel id="aceClas_lbl" value="Classificação:" for="classBtn" /> <p:inputText value="#{acervoJsfBean.classificacao.clasClass}"/>

Voce poderia explicar o que significa isso ? o que seria classificacao ? e o clasClass ?

Voce poderia passar o id como parametro para um metodo de consulta, e o resultado seria atualizado no outputText ou algo do tipo.[/quote]

classificacao é a variavel que eu criei no meu ben

private Classificacao classificacao = new Classificacao();

clasClass é uma das colunas do banco de dados (clas se refere a tabela classificacao e Class ao nome classificacao)

Fala, Elvis.

Posta seu MB pra nós?

Veja se esse exemplo te ajuda em algo: http://www.mkyong.com/jsf2/jsf-2-setpropertyactionlistener-example/

Ps.: Eu não usaria esse setProperty, faria abrir um dialog para eu atualizar o que eu desejar.

Abraços

[quote=ninvit]Fala, Elvis.

Posta seu MB pra nós?

Veja se esse exemplo te ajuda em algo: http://www.mkyong.com/jsf2/jsf-2-setpropertyactionlistener-example/

Ps.: Eu não usaria esse setProperty, faria abrir um dialog para eu atualizar o que eu desejar.

Abraços[/quote]

eai tudo certo ? :D:D vlw por ajudar, ai esta o bean

package com.systempro.sapiweb.ui.beans;

import com.systempro.sapiweb.dominio.*;
import com.systempro.sapiweb.service.*;
import com.systempro.sapiweb.util.JsfUtil;
import java.util.*;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import org.omg.CORBA.ULongLongSeqHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@ManagedBean
@SessionScoped
public class AcervoJsfBean extends BaseCRUDJSFBean&lt;Acervo&gt; {

    public static final String RELATORIO_ACERVO = "acervo";
    private static Logger log = LoggerFactory.getLogger(AcervoJsfBean.class);
    private Exemplar exemplar = new Exemplar();
    @EJB
    private AcervoService a;
    @EJB
    private TipoMaterialService m;
    @EJB
    private IdiomaService i;
    @EJB
    private EditorasService e;
    @EJB
    private AutoresService y;
    @EJB
    private ClassificacaoService c;
    @EJB
    private AcervoxAutoresService aa;
    private int quantExemplar;
    private List&lt;Acervo&gt; acervoList = new ArrayList&lt;Acervo&gt;();
    private List&lt;Exemplar&gt; exemplarList = new ArrayList&lt;Exemplar&gt;();
    private List&lt;TipoMaterial&gt; TipoMaterialList = new ArrayList&lt;TipoMaterial&gt;();
    private List&lt;Idioma&gt; idiomaList = new ArrayList&lt;Idioma&gt;();
    private List&lt;Editoras&gt; editorasList = new ArrayList&lt;Editoras&gt;();
    private List&lt;Classificacao&gt; classificacaoList = new ArrayList&lt;Classificacao&gt;();
    private List&lt;Autores&gt; autoresList = new ArrayList&lt;Autores&gt;();
    private List&lt;AcervoxAutores&gt; acervoXautorLista = new ArrayList&lt;AcervoxAutores&gt;();
    private Acervoxassuntos acervoxassuntos = new Acervoxassuntos();
    private Classificacao classificacao = new Classificacao();
    private List&lt;Acervoxassuntos&gt; acervoXassuntosLista = new ArrayList&lt;Acervoxassuntos&gt;();
    private AutoresJsfBean autoresJsfBean = new AutoresJsfBean();
    private AcervoxAutores acervoxAutores = new AcervoxAutores();
    private UsuarioLogado usuarioLogado = new UsuarioLogado();
    private Acervo acervo = new Acervo();
    private Autores autores = new Autores();
    private String aceTitulo;
    private String aceSubtitulo;
    private String aceIsbn;
    private String aceLocalizacao;
    private String aceeditora;
    private String aceidioma;
    private String aceclass;
    private String acetipomate = &quot;&quot;;
    private Classificacao aceClasFiltro;

    public AcervoJsfBean() {
    }

    @Override
    protected void setup() {
        super.setup();
        this.TipoMaterialList = getCrudService().findAll(TipoMaterial.class, &quot;tipoDescricao&quot;);
        this.idiomaList = getCrudService().findAll(Idioma.class, &quot;idiDescricao&quot;);
        this.editorasList = getCrudService().findAll(Editoras.class, &quot;ediDescricao&quot;);
        this.classificacaoList = getCrudService().findAll(Classificacao.class, &quot;clasDescricao&quot;);
        this.autoresList = getCrudService().findAll(Autores.class, &quot;autDescricao&quot;);
        this.acervoList = getCrudService().findAll(Acervo.class, &quot;aceCodigo&quot;);
    }

    public String reinit() {
        if (acervoxAutores != null) {
            acervoxAutores = null;
        }
        acervoxAutores = new AcervoxAutores();
        return null;
    }

    public String reinitAssuntos() {
        if (acervoxassuntos != null) {
            acervoxassuntos = null;
        }
        acervoxassuntos = new Acervoxassuntos();
        return null;
    }

    @Override
    public void salva() {
        int setaCodigoExemplar=1;

        /*
         * DESENVOLVIMENTO
         * testes aqui !
         */

        for (int j = 1; j &lt;= quantExemplar; j++) {
            exemplar = new Exemplar();
            exemplar.setExeacervo(crudObj);
            exemplar.setExeSituacao(&quot;D&quot;);
            exemplar.setExeDatabaixa(null);
            exemplar.setExeMotivbaixa(null);
            exemplar.setExeObs(&quot;Observação&quot; + 1);
//            exemplar.setExebiblio();
            exemplar.setExeExemplar(setaCodigoExemplar);

            /*
             * datosSesion.put(&quot;ano&quot;,
             * Calendar.getInstance().get(Calendar.YEAR));
             */

//            exemplar2.setExeLocalizacao(null);
//            exemplar2.setExeVolume(23);

            exemplarList.add(exemplar);
            acervo.setBibAcervoCollection(exemplarList);
            setaCodigoExemplar++;
        }
        crudObj.setBibAcervoxAutoresCollection(acervoXautorLista);
        crudObj.setBibAcervoxassuntosCollection(acervoXassuntosLista);
        crudObj.setBibAcervoCollection(exemplarList);
        super.salva();
        acervoXautorLista.clear();
        acervoXassuntosLista.clear();

    }

    public void limpaListas() {
        acervoXautorLista.clear();
        acervoXassuntosLista.clear();
    }

    @Override
    public void editaObj(Acervo obj) {
        if (obj.getBibAcervoxAutoresCollection() != null) {
            acervoXautorLista = (List&lt;AcervoxAutores&gt;) obj.getBibAcervoxAutoresCollection();
        }
        if (obj.getBibAcervoxassuntosCollection() != null) {
            acervoXassuntosLista = (List&lt;Acervoxassuntos&gt;) obj.getBibAcervoxassuntosCollection();
        }
        super.editaObj(obj);
    }

    @Override
    public void renovarTabela() {
        filtraAcervo();
    }

    public void filtraAcervo() {
        acervoList = a.listaAcervoRelatorio(montaParametros());
    }

    private Map&lt;String, Object&gt; montaParametros() {
        Map&lt;String, Object&gt; p = new HashMap&lt;String, Object&gt;();

        p.put("aceTitulo", aceTitulo);
        p.put("aceSubtitulo", aceSubtitulo);
        p.put("aceIsbn", aceIsbn);
        p.put("aceLocalizacao", aceLocalizacao);
        p.put("aceeditora", aceeditora);
        p.put("aceidioma", aceidioma);
        p.put("aceclass", aceclass);
        p.put("acetipomate", acetipomate);

        return p;
    }

    @Override
    public void criaObjeto() {
        super.criaObjeto();
        Date data = new Date();
        crudObj.setAceDatacad(data);
    }

    @Override
    public void atualizar() {
        renovarTabela();
        ativaAbaListagem();
    }

    public void geraRelatorioAcervoPDF() {
        geraRelatorioAcervo(true);
    }

    public void geraRelatorioAcervo(boolean isPDF) {
        List&lt;Acervo&gt; listaRelatorio = a.listaAcervoRelatorio(montaParametros());
        if (isPDF) {
            // Relatorio em PDF com folha de rosto padrao
            geraRelatorioPDF(listaRelatorio, RELATORIO_ACERVO);
        }
    }

    public List&lt;Classificacao&gt; completaClassificacao(String query) {
        this.classificacaoList = c.findClassificacaoByNome(query);
        return c.findClassificacaoByNome(query);
    }

    public List&lt;Autores&gt; completaAutores(String query) {
        this.autoresList = y.findAutoresByNome(query);
        return y.findAutoresByNome(query);
    }

    public List&lt;Acervo&gt; completaAcervo(String query) {
        this.acervoList = a.findAcervoByNome(query);
        return a.findAcervoByNome(query);
    }

    public List&lt;TipoMaterial&gt; getTipoMaterialList() {
        return TipoMaterialList;
    }

    public void setTipoMaterialList(List&lt;TipoMaterial&gt; TipoMaterialList) {
        this.TipoMaterialList = TipoMaterialList;
    }

    public Classificacao getAceClasFiltro() {
        return aceClasFiltro;
    }

    public void setAceClasFiltro(Classificacao aceClasFiltro) {
        this.aceClasFiltro = aceClasFiltro;
    }

    public String getAceIsbn() {
        return aceIsbn;
    }

    public void setAceIsbn(String aceIsbn) {
        this.aceIsbn = aceIsbn;
    }

    public String getAceLocalizacao() {
        return aceLocalizacao;
    }

    public void setAceLocalizacao(String aceLocalizacao) {
        this.aceLocalizacao = aceLocalizacao;
    }

    public String getAceSubtitulo() {
        return aceSubtitulo;
    }

    public void setAceSubtitulo(String aceSubtitulo) {
        this.aceSubtitulo = aceSubtitulo;
    }

    public String getAceTitulo() {
        return aceTitulo;
    }

    public void setAceTitulo(String aceTitulo) {
        this.aceTitulo = aceTitulo;
    }

    public String getAceclass() {
        return aceclass;
    }

    public void setAceclass(String aceclass) {
        this.aceclass = aceclass;
    }

    public String getAceeditora() {
        return aceeditora;
    }

    public void setAceeditora(String aceeditora) {
        this.aceeditora = aceeditora;
    }

    public String getAceidioma() {
        return aceidioma;
    }

    public void setAceidioma(String aceidioma) {
        this.aceidioma = aceidioma;
    }

    public Acervo getAcervo() {
        return acervo;
    }

    public void setAcervo(Acervo acervo) {
        this.acervo = acervo;
    }

    public List&lt;Acervo&gt; getAcervoList() {
        return acervoList;
    }

    public void setAcervoList(List&lt;Acervo&gt; acervoList) {
        this.acervoList = acervoList;
    }

    public AcervoxAutores getAcervoxAutores() {
        return acervoxAutores;
    }

    public void setAcervoxAutores(AcervoxAutores acervoxAutores) {
        this.acervoxAutores = acervoxAutores;
    }

    public String getAcetipomate() {
        return acetipomate;
    }

    public void setAcetipomate(String acetipomate) {
        this.acetipomate = acetipomate;
    }

    public Autores getAutores() {
        return autores;
    }

    public void setAutores(Autores autores) {
        this.autores = autores;
    }

    public AutoresJsfBean getAutoresJsfBean() {
        return autoresJsfBean;
    }

    public void setAutoresJsfBean(AutoresJsfBean autoresJsfBean) {
        this.autoresJsfBean = autoresJsfBean;
    }

    public List&lt;AcervoxAutores&gt; getAcervoXautorLista() {
        return acervoXautorLista;
    }

    public void setAcervoXautorLista(List&lt;AcervoxAutores&gt; acervoXautorLista) {
        this.acervoXautorLista = acervoXautorLista;
    }

    public List&lt;Acervoxassuntos&gt; getAcervoXassuntosLista() {
        return acervoXassuntosLista;
    }

    public void setAcervoXassuntosLista(List&lt;Acervoxassuntos&gt; acervoXassuntosLista) {
        this.acervoXassuntosLista = acervoXassuntosLista;
    }

    public Acervoxassuntos getAcervoxassuntos() {
        return acervoxassuntos;
    }

    public void setAcervoxassuntos(Acervoxassuntos acervoxassuntos) {
        this.acervoxassuntos = acervoxassuntos;
    }

    public List&lt;Autores&gt; getAutoresList() {
        return autoresList;
    }

    public void setAutoresList(List&lt;Autores&gt; autoresList) {
        this.autoresList = autoresList;
    }

    public List&lt;Classificacao&gt; getClassificacaoList() {
        return classificacaoList;
    }

    public void setClassificacaoList(List&lt;Classificacao&gt; classificacaoList) {
        this.classificacaoList = classificacaoList;
    }

    public List&lt;Editoras&gt; getEditorasList() {
        return editorasList;
    }

    public void setEditorasList(List&lt;Editoras&gt; editorasList) {
        this.editorasList = editorasList;
    }

    public Exemplar getExemplar() {
        return exemplar;
    }

    public void setExemplar(Exemplar exemplar) {
        this.exemplar = exemplar;
    }

    public List&lt;Exemplar&gt; getExemplarList() {
        return exemplarList;
    }

    public void setExemplarList(List&lt;Exemplar&gt; exemplarList) {
        this.exemplarList = exemplarList;
    }

    public List&lt;Idioma&gt; getIdiomaList() {
        return idiomaList;
    }

    public void setIdiomaList(List&lt;Idioma&gt; idiomaList) {
        this.idiomaList = idiomaList;
    }

    public Classificacao getClassificacao() {
        return classificacao;
    }

    public void setClassificacao(Classificacao classificacao) {
        this.classificacao = classificacao;
    }

    public int getQuantExemplar() {
        return quantExemplar;
    }

    public void setQuantExemplar(int quantExemplar) {
        this.quantExemplar = quantExemplar;
    }

    public UsuarioLogado getUsuarioLogado() {
        return usuarioLogado;
    }

    public void setUsuarioLogado(UsuarioLogado usuarioLogado) {
        this.usuarioLogado = usuarioLogado;
    }
}

Ola Elvis, bom dia, voce poderia fazer uma teste ? so pra desencargo de consciencia, coloca um breakpoint dentro desses metodos:

 public Classificacao getClassificacao() {  
        return classificacao;  
 }  
  
 public void setClassificacao(Classificacao classificacao) {  
        this.classificacao = classificacao;  
 }

E clique no seu commandButton, e veja se ele esta entrando nesses metodos, ou somente um deles e poste aqui o resultado por favor.

Resultado:

Quando entro na tela de acervo o getClassificacao já é chamado com os seguintes dados:

classificacao Classificacao 3658
persistence_shouldRe: boolean = false
classCodigo = null
classClass = null
ClassDescricao = null
… = null

quando clicoem novo acervo na minha tela de cadastro o mesmo metodo é chamado contendo as mesmas informações

classificacao Classificacao 3658
persistence_shouldRe: boolean = false
classCodigo = null
classClass = null
ClassDescricao = null
… = null

quando clico no botao para abrir o dialog o metodo setClassificacao é chamado contendo:

this.classificacao = null

Ok, agora um ultimo pedido. Pode postar o codigo da sua pagina completo ? Queria saber o nome do id do form. De qualquer forma, vou escrever algo:

Colque este trecho do seu codigo dentro de um panelGrid, assim:

<h:panelGrid id="atualizarPanel" columns="2">
           <h:outputLabel id="aceClas_lbl" value="Classificação:"  for="classBtn" />  
           <p:inputText value="#{acervoJsfBean.classificacao.clasClass}"/>  
</h:panelGrid>

La no commandButton voce poe assim:

<p:commandButton id="selectButton" actionListener="#{acervoJsfBean.atualizarInput}" update=":idForm:atualizarPanel" image="ok" title="View">    
       <f:setPropertyActionListener value="#{lista}" target="#{acervoJsfBean.classificacao}" />    
</p:commandButton> 

No seu bean voce cria um metodo assim:

public void atualizaInput() {
         this.classificacao = getClassificacao();
}

Faça os testes agora, e um detalhe, coloque um breakpoint dentro do metodo novo, e verifique se ele entra nele e se o getClassificacao() esta vindo com as informacoes que estao no form.

Abraços.

Não tem jeito, sera que nao tem uma forma mais ‘direta’ de setar o texto da linha da tabela num inputText?? ;s;s
o erro que dá é:

GRAVE: javax.faces.FacesException: Cannot find component with identifier ":idForm:atualizarPanel" referenced from "tab:tabbleCDU:j_idt124".

Já conferi os ids, ‘axo’ que esta certo.
Antes disso dava erro no campo

size must be between 1 and 10

inclusive com campos menores de 10 caracteres.

Em anexo meus codigos, para quando você tiver tempo de analisar.

<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:treap="http://java.sun.com/jsf/composite/treap"
      xmlns:p="http://primefaces.org/ui" 
      xmlns:cc="http://java.sun.com/jsf/composite">
    <body>
        <h:form id="idForm">
        <ui:composition template="./default_layout_with_menu.xhtml">

            <ui:define name="titulo-pagina">
                Acervo
            </ui:define>

            <ui:define name="content">
                <treap:ajaxStatus/>            
                <p:tabView id="tab" activeIndex="#{acervoJsfBean.indiceAbaSelecionada}" widgetVar="tab1">

                    <p:tab title="Listagem" id="tabList" >

                        <p:panel header="Filtros de Consulta" id="parametros" toggleable="true" collapsed="true">
                            <treap:msgdica msg="Informe um parâmetro para a consulta. Deixe os campos em branco para exibir todos os registros."/>


                            <p:growl id="growl" life="1000"/>
                            <table border="0" cellpadding="2" cellspacing="0" style="margin-right: 40px">
                                <h:panelGrid columns="2" width="100%">
                                    <h:panelGrid columns="2">
                                        <tr>
                                            <td align="right">Título da Obra:</td>
                                            <td>
                                                <p:inputText size="25" value="#{acervoJsfBean.aceTitulo}"/><br/>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td align="right">Subtítulo:</td>
                                            <td>
                                                <p:inputText size="10" value="#{acervoJsfBean.aceSubtitulo}"/><br/>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td align="right">ISBN:</td>
                                            <td>
                                                <p:inputText size="10" value="#{acervoJsfBean.aceIsbn}"/><br/>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td align="right">Localização:</td>
                                            <td>
                                                <p:inputText size="10" value="#{acervoJsfBean.aceLocalizacao}"/><br/>
                                            </td>
                                        </tr>
                                    </h:panelGrid>
                                    <h:panelGrid columns="2" style="height: 100%; border-top: 0">   
                                        <tr>
                                            <td align="right">Editora</td>
                                            <td>
                                                <p:selectOneMenu value="#{acervoJsfBean.aceeditora}">
                                                    <f:selectItem itemLabel="Todas as editoras" itemValue="#{null}"/>
                                                    <f:selectItems value="#{acervoJsfBean.editorasList}" var="e" itemLabel="#{e.ediDescricao}" itemValue="#{e.ediCodigo}"/>
                                                </p:selectOneMenu>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td align="right" >Idioma</td>
                                            <td>
                                                <p:selectOneMenu value="#{acervoJsfBean.aceidioma}"> 
                                                    <f:selectItem itemLabel="Todos os idiomas" itemValue="#{null}"/>
                                                    <f:selectItems value="#{acervoJsfBean.idiomaList}" var="i" itemLabel="#{i.idiDescricao}" itemValue="#{i.idiCodigo}"/>
                                                </p:selectOneMenu>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td align="right" >Classificação</td>
                                            <td>
                                                <p:selectOneMenu value="#{acervoJsfBean.aceclass}">
                                                    <f:selectItem itemLabel="Todas as classificações" itemValue="#{null}"/>
                                                    <f:selectItems value="#{acervoJsfBean.classificacaoList}" var="c" itemLabel="#{c.clasDescricao}" itemValue="#{c.clasCodigo}"/>
                                                </p:selectOneMenu>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td align="right" >Tipo do Material</td>
                                            <td>
                                                <p:selectOneMenu value="#{acervoJsfBean.acetipomate}">
                                                    <f:selectItem itemLabel="Todas os materiais" itemValue="#{null}"/>
                                                    <f:selectItems value="#{acervoJsfBean.tipoMaterialList}" var="m" itemLabel="#{m.tipoDescricao}" itemValue="#{m.tipoCodigo}"/>
                                                </p:selectOneMenu>
                                            </td>
                                        </tr>
                                    </h:panelGrid>
                                </h:panelGrid>

                                <tr>
                                    <td>
                                        <p:commandButton id="btnPesquisar" actionListener="#{acervoJsfBean.atualizar}" value="Consultar"
                                                         update="@form" process="parametros" image="search"/>
                                    </td>
                                </tr>
                            </table>

                            <p:ajaxStatus style="position: fixed; top: 40%; left: 35%; background-color: #ffffff">
                                <f:facet name="start">
                                    <h:graphicImage value="/resources/img/ajaxloadingbar.gif" /><br/>
                                    <p:spacer width="3"/> Processando...
                                </f:facet>
                                <f:facet name="complete">
                                    <h:outputText value="" />
                                </f:facet>
                            </p:ajaxStatus>
                        </p:panel>
                        <br/>

                        <treap:btnCrudNovo bean="#{acervoJsfBean}" visivel="#{sec:ifAnyGranted('ADM')}"/>
                        <treap:btnCrudAtualizar bean="#{acervoJsfBean}"/>
                        <treap:btnRelatorio metodo="#{acervoJsfBean.geraRelatorioAcervoPDF()}"/>

                        <p:dataTable id="tabela1" value="#{acervoJsfBean.acervoList}" var="item"
                                     emptyMessage="Nenhum registro encontrado."
                                     paginator="true" rows="25"  pageLinks="10"
                                     paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} Registros por página: {RowsPerPageDropdown}"
                                     rowsPerPageTemplate="15,25,35,50">
                            <p:column>
                                <p:rowToggler />
                            </p:column>
                            <p:column headerText="Código">
                                <h:outputText value="#{item.aceCodigo}" />
                            </p:column>

                            <p:column headerText="Título da Obra" sortBy="#{item.aceTitulo}">
                                <h:outputText value="#{item.aceTitulo}"/>
                            </p:column>

                            <p:column headerText="Subtítulo">
                                <h:outputText value="#{item.aceSubtitulo}"/>
                            </p:column>

                            <p:column headerText="Data Criação" sortBy="#{item.aceDatacad}">
                                <h:outputText value="#{item.aceDatacad}"/>
                            </p:column>

                            <p:column headerText="Localização">
                                <h:outputText value="#{item.aceLocalizacao}"/>
                            </p:column>

                            <p:column headerText="Ações" style="width:06%">
                                <treap:btnCrudEditar id="botaoEditar" bean="#{acervoJsfBean}" visivel="#{sec:ifAnyGranted('ADM')}"/>
                                <treap:btnCrudExcluir bean="#{acervoJsfBean}" visivel="#{sec:ifAnyGranted('ADM')}"/>

                            </p:column>
                            <p:rowExpansion>
                                <p:dataTable id="exemplar_list" value="#{item.bibExemplarCollection}" var="exemplar"
                                             emptyMessage="Nenhum exemplar encontrado.">
                                    <p:column headerText="Código do Exemplar">
                                        <h:outputText value="#{exemplar.exeCodigo}"/>
                                    </p:column>
                                    <p:column headerText="Biblioteca">
                                        <h:outputText value="#{exemplar.exebiblio.bibNomecomp}"/>
                                    </p:column>
                                    <p:column headerText="Número">
                                        <h:outputText value="#{exemplar.exeExemplar}"/>
                                    </p:column>
                                    <p:column headerText="Situação">
                                        <h:outputText value="#{exemplar.exeSituacaoCompleta}"/>
                                    </p:column>         
                                </p:dataTable>
                            </p:rowExpansion>
                        </p:dataTable>
                    </p:tab>

                    <p:tab title="Cadastro/Alteração" id="tabForm" rendered="#{sec:ifNotGranted('USR')}">
                        <p:growl id="grow2" life="1000"/>

                        <fieldset>
                            <legend>Dados Principais</legend>
                            <h:panelGrid columns="2" width="100%">
                                <h:panelGrid columns="2">

                                    <h:outputLabel id="aceCodigo_lbl" value="Código:" for="aceCodigo" />
                                    <h:outputText id="aceCodigo" value="#{acervoJsfBean.crudObj.aceCodigo}" />

                                    <h:outputLabel id="aceTitulo_lbl" value="Titulo da Obra:" for="aceTitulo" />
                                    <p:inputText id="aceTitulo" value="#{acervoJsfBean.crudObj.aceTitulo}" required="false" requiredMessage="O campo Titulo da Obra deve ser informado." style="width: 150%" maxlength="200"/>

                                    <h:outputLabel id="aceSubtitulo_lbl" value="Subtítulo:" for="aceSubtitulo" />
                                    <p:inputText id="aceSubtitulo" value="#{acervoJsfBean.crudObj.aceSubtitulo}" required="false" style="width: 150%" maxlength="100"/>

                                    <h:outputLabel id="aceeditora_lbl" value="Editora" for="aceeditora" />
                                    <p:selectOneMenu id="aceeditora" value="#{acervoJsfBean.crudObj.aceeditora}" converter="sec" required="false" requiredMessage="O campo editora deve ser selecionado">
                                        <f:selectItem itemLabel="Selecione" itemValue="#{null}"/>
                                        <f:selectItems value="#{acervoJsfBean.editorasList}" var="e" itemLabel="#{e.ediDescricao}" itemValue="#{e}"/>
                                    </p:selectOneMenu>

                                    <h:outputLabel id="aceIsbn_lbl" value="ISBN:" for="aceIsbn" />
                                    <p:inputText id="aceIsbn" value="#{acervoJsfBean.crudObj.aceIsbn}" style="width: 150%" maxlength="20"/>

                                    <h:outputLabel id="aceDatacad_lbl" value="Data:" for="aceDatacad" />
                                    <p:inputMask id="aceDatacad" mask="99/99/9999" value="#{acervoJsfBean.crudObj.aceDatacad}" style="width: 60%">
                                        <f:convertDateTime locale="pt,BR" dateStyle="long" pattern="dd/MM/yyyy" />  
                                    </p:inputMask>

                                    <h:outputLabel id="acetipomate_lbl" value="Tipo do Material" for="acetipomate" />
                                    <p:selectOneMenu id="acetipomate" value="#{acervoJsfBean.crudObj.acetipomate}" converter="sec" required="false" requiredMessage="O campo tipo do material deve ser selecionado">
                                        <f:selectItem itemLabel="Selecione" itemValue="#{null}"/>
                                        <f:selectItems value="#{acervoJsfBean.tipoMaterialList}" var="m" itemLabel="#{m.tipoDescricao}" itemValue="#{m}"/>
                                    </p:selectOneMenu>

                                </h:panelGrid>
                                <h:panelGrid columns="2" style="height: 100%; border-top: 0">

                                    <h:outputLabel id="aceidioma_lbl" value="Idioma" for="aceidioma" />
                                    <p:selectOneMenu id="aceidioma" value="#{acervoJsfBean.crudObj.aceidioma}" converter="sec"  required="false" requiredMessage="O campo classicacao deve ser selecionado">
                                        <f:selectItem itemLabel="Português" itemValue="#{i}"/>
                                        <f:selectItems value="#{acervoJsfBean.idiomaList}" var="i" itemLabel="#{i.idiDescricao}"   itemValue="#{i}"/>
                                    </p:selectOneMenu>

                                    <h:outputLabel id="aceLocalizacao_lbl" value="Localização:" for="aceLocalizacao" />
                                    <p:inputText id="aceLocalizacao" value="#{acervoJsfBean.crudObj.aceLocalizacao}" style="width: 40%" maxlength="10"/>

                                    <h:outputLabel id="aceCutter_lbl" value="Cutter:" for="aceCutter" />
                                    <p:inputText id="aceCutter" value="#{acervoJsfBean.crudObj.aceCutter}" style="width: 75%" maxlength="10"/>

                                    <h:outputLabel id="aceCdd_lbl" value="CDD:" for="aceCdd" />
                                    <p:inputText id="aceCdd" value="#{acervoJsfBean.crudObj.aceCdd}" style="width: 75%" maxlength="10"/>


                                    <h:outputLabel for="qntExemplar" value="Exemplares: " />  
                                    <p:spinner id="qntExemplar"   
                                               value="#{acervoJsfBean.quantExemplar}" min="0" max="100"/>



                                    <h:panelGrid id="atualizarPanel" columns="2">  
                                        <h:outputLabel id="aceClas_lbl" value="Classificação:"  for="classBtn" />    
                                        <p:inputText value="#{acervoJsfBean.classificacao.clasClass}"/>    
                                    </h:panelGrid>  
                                    <p:commandButton id="classBtn" value="..." onclick="classDlg.show()"
                                                     visivel="#{sec:ifAnyGranted('ADM')}" image="search" update="tabbleCDU"/>

                                    <p:dialog header="Selecione a classificação universal do acervo" widgetVar="classDlg" id="classDlg" modal="true" position="400,50">

                                        <p:panel header="Filtros de Consulta" id="parametros5" toggleable="true" collapsed="false">
                                            <table border="0" cellpadding="2" cellspacing="0" style="margin-right: 40px">
                                                <b>Classificação</b>
                                                <br/>
                                                <p:inputText id="inputPesquisaCDU" onfocus="this.value='';" size="40" value="#{classificacaoJsfBean.clasClass}"/><br/>
                                                <span class="field_hint">Informe qualquer classificação</span>
                                                <br/>
                                                <br/>
                                                <b>Descrição:</b>
                                                <br/>
                                                <p:inputText id="inputPesquisaCDU2" onfocus="this.value='';" size="40" value="#{classificacaoJsfBean.clasDescricao}"/><br/>
                                                <span class="field_hint">Informe qualquer parte da descrição</span>
                                                <br/>
                                                <br/>
                                                <tr>
                                                    <td>
                                                        <p:commandButton id="butonConsultarCDU" actionListener="#{classificacaoJsfBean.atualizar}" value="Consultar" image="search"
                                                                         update="tabbleCDU" process="parametros5" onfocus="inputPesquisaCDU"/>
                                                    </td>                                
                                                </tr>
                                            </table>
                                        </p:panel> 

                                        <p:dataTable id="tabbleCDU"
                                                     var="classLista"
                                                     value="#{classificacaoJsfBean.classificacaoList}"
                                                     rowKey="#{classLista.clasCodigo}"  
                                                     selection="#{acervoJsfBean.classificacao}"
                                                     selectionMode="single"
                                                     emptyMessage="Nenhum registro encontrado." 
                                                     paginator="true"
                                                     rows="10"
                                                     pageLinks="10"
                                                     paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} Registros por página: {RowsPerPageDropdown}"
                                                     rowsPerPageTemplate="10,25,35,50">  

                                            <p:column headerText="Classificação">
                                                <h:outputText value="#{classLista.clasClass}"></h:outputText>
                                            </p:column>

                                            <p:column headerText="Descrição">
                                                <h:outputText value="#{classLista.clasDescricao}"></h:outputText>
                                            </p:column>
                                            <f:facet name="footer">  
                                                <p:commandButton  actionListener="#{acervoJsfBean.atualizarInput}" update=":idForm:atualizarPanel" image="ok" title="View">      
                                                    <f:setPropertyActionListener value="#{classLista}" target="#{acervoJsfBean.classificacao}" />      
                                                </p:commandButton>  
                                            </f:facet> 
                                        </p:dataTable>
                                    </p:dialog>

                                </h:panelGrid>
                            </h:panelGrid>
                        </fieldset>
                        <br/>

                        <fieldset>
                            <legend>Autores do acervo</legend>
                            <h:panelGrid id="panelAutoresL" columns="3" width="100%" style="text-align:left" >
                                <p:dataTable id="tabelaacervoXautorLista" value="#{acervoJsfBean.acervoXautorLista}" var="item"
                                             emptyMessage="Nenhum registro encontrado.">
                                    <p:growl id="grow3" life="1000"/>
                                    <p:column headerText="Autores" style="width: 100%">
                                        <h:outputText value="#{item.acxautautor.autDescricao}"/>  
                                    </p:column> 
                                    <p:column headerText="Código" style="width:06%">
                                        <h:outputText value="#{item.acxautautor.autCodigo}" />  
                                    </p:column> 
                                    <p:column headerText="Ação" style="width:06%">
                                        <p:commandLink value="Remover"  update="@form" action="#{acervoJsfBean.excluiObj(item)}">
                                            <p:collector value="#{item}"  
                                                         removeFrom="#{acervoJsfBean.acervoXautorLista}"/>  
                                        </p:commandLink>
                                    </p:column>
                                </p:dataTable>
                            </h:panelGrid>
                            <p:commandButton id="AutoresBtn" value="Selecionar" onclick="autoresDialog.show()"
                                             visivel="#{sec:ifAnyGranted('ADM')}" image="cad-basico"/>
                        </fieldset>

                        <br/>
                        <p:dialog header="Selecione os autores do acervo" widgetVar="autoresDialog" id="autoresDlg" modal="true" position="400,50">

                            <p:panel header="Filtros de Consulta" id="parametros2" toggleable="true" collapsed="false">
                                <table border="0" cellpadding="2" cellspacing="0" style="margin-right: 40px">
                                    <b>Descrição:</b>
                                    <br/>
                                    <p:inputText id="inputPesquisaAutor" onfocus="this.value='';" size="40" value="#{autoresJsfBean.autDescricao}"/><br/>
                                    <span class="field_hint">Informe qualquer parte da descrição</span>
                                    <br/>
                                    <br/>
                                    <tr>
                                        <td>
                                            <p:commandButton id="butonConsultar" actionListener="#{autoresJsfBean.atualizar}" value="Consultar" image="search"
                                                             update="tabela5" process="parametros2" onfocus="inputPesquisaAutor"/>
                                            <treap:btnAdicionar label="Novo Autor" bean="#{acervoJsfBean}" url="autores.xhtml?faces-redirect=true" immediate="true"/>
                                        </td>                                
                                    </tr>
                                </table>
                            </p:panel> 
                            <p:panel id="panelTeste">

                                <p:dataTable id="tabela5" value="#{autoresJsfBean.autoresList}" var="autor" 
                                             emptyMessage="Nenhum registro encontrado." 
                                             paginator="true" rows="10"  pageLinks="10"
                                             paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} Registros por página: {RowsPerPageDropdown}"
                                             rowsPerPageTemplate="10,25,35,50"> 

                                    <p:column headerText="Código" style="width:06%">
                                        <h:outputText value="#{autor.autCodigo}" />  
                                    </p:column>              
                                    <p:column headerText="Descrição" sortBy="#{autor.autDescricao}">
                                        <h:outputText value="#{autor.autDescricao}"/>  
                                    </p:column>

                                    <p:column headerText="Ações" style="width:06%">
                                        <p:commandButton update="@form" ajax="false" value="Adicionar" action="#{acervoJsfBean.reinit()}" >
                                            <f:setPropertyActionListener target="#{acervoJsfBean.acervoxAutores.acxautacervo}" value="#{acervoJsfBean.crudObj}"/>
                                            <f:setPropertyActionListener target="#{acervoJsfBean.acervoxAutores.acxautautor}" value="#{autor}"/>
                                            <p:collector value="#{acervoJsfBean.acervoxAutores}"
                                                         addTo="#{acervoJsfBean.acervoXautorLista}">
                                            </p:collector>
                                        </p:commandButton>
                                    </p:column>

                                </p:dataTable> 
                            </p:panel>
                            <br/>
                        </p:dialog>

                        <fieldset>
                            <legend>Assuntos do acervo</legend>
                            <h:panelGrid id="painelAssuntos" columns="3" width="100%" style="text-align:left" >
                                <p:dataTable id="tabelaacervoXassuntosLista" value="#{acervoJsfBean.acervoXassuntosLista}" var="assuntoSelecionado"
                                             emptyMessage="Nenhum registro encontrado.">
                                    <p:growl id="grow4" life="1000"/>
                                    <p:column headerText="Assuntos" style="width: 100%">
                                        <h:outputText value="#{assuntoSelecionado.acxasCodassunto.assDescricao}"/>  
                                    </p:column> 
                                    <p:column headerText="Código" style="width:06%">
                                        <h:outputText value="#{assuntoSelecionado.acxasCodassunto.assCodigo}" />  
                                    </p:column> 
                                    <p:column headerText="Ação" style="width:06%">
                                        <p:commandLink value="Remover"  update="@form" action="#{acervoJsfBean.excluiObj(assuntoSelecionado)}">
                                            <p:collector value="#{assuntoSelecionado}"  
                                                         removeFrom="#{acervoJsfBean.acervoXassuntosLista}"/>  
                                        </p:commandLink>
                                    </p:column>
                                </p:dataTable>
                            </h:panelGrid>

                            <p:commandButton id="AssuntosBtn" value="Selecionar" onclick="assuntosDialog.show()"
                                             visivel="#{sec:ifAnyGranted('ADM')}" image="cad-basico"/>
                        </fieldset>
                        <br/>
                        <p:dialog header="Selecione os assuntos do acervo" widgetVar="assuntosDialog" id="assuntosDlg" modal="true" position="400,50">

                            <p:panel header="Filtros de Consulta" id="parametrosAssuntos" toggleable="true" collapsed="false">
                                <table border="0" cellpadding="2" cellspacing="0" style="margin-right: 40px">
                                    <b>Descrição:</b>
                                    <br/>
                                    <p:inputText id="inputPesquisaAssunto" onfocus="this.value='';" size="40" value="#{assuntosJsfBean.assDescricao}"/><br/>
                                    <span class="field_hint">Informe qualquer parte da descrição</span>
                                    <br/>
                                    <br/>
                                    <tr>
                                        <td>
                                            <p:commandButton id="botaoConsultar" actionListener="#{assuntosJsfBean.atualizar}" value="Consultar" image="search"
                                                             update="tblAssuntosList" process="parametrosAssuntos" onfocus="inputPesquisaAutor"/>
                                            <treap:btnAdicionar label="Novo Assunto"  bean="#{acervoJsfBean}" url="assuntos.xhtml?faces-redirect=true" immediate="true"/>
                                        </td>                                
                                    </tr>
                                </table>
                            </p:panel> 

                            <p:panel id="pnlAssuntosList">
                                <p:dataTable id="tblAssuntosList" value="#{assuntosJsfBean.assuntosList}" var="assunto" 
                                             emptyMessage="Nenhum registro encontrado." 
                                             paginator="true" rows="10"  pageLinks="10"
                                             paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} Registros por página: {RowsPerPageDropdown}"
                                             rowsPerPageTemplate="10,25,35,50"> 

                                    <p:column headerText="Código" style="width:06%">
                                        <h:outputText value="#{assunto.assCodigo}" />  
                                    </p:column>              
                                    <p:column headerText="Descrição" sortBy="#{assunto.assDescricao}">
                                        <h:outputText value="#{assunto.assDescricao}"/>  
                                    </p:column>

                                    <p:column headerText="Ações" style="width:06%">
                                        <p:commandButton update="@form" ajax="false" value="Adicionar" action="#{acervoJsfBean.reinitAssuntos()}" >
                                            <f:setPropertyActionListener target="#{acervoJsfBean.acervoxassuntos.acxasCodacervo}" value="#{acervoJsfBean.crudObj}"/>
                                            <f:setPropertyActionListener target="#{acervoJsfBean.acervoxassuntos.acxasCodassunto}" value="#{assunto}"/>
                                            <p:collector value="#{acervoJsfBean.acervoxassuntos}"
                                                         addTo="#{acervoJsfBean.acervoXassuntosLista}">
                                            </p:collector>
                                        </p:commandButton>
                                    </p:column>

                                </p:dataTable> 
                            </p:panel>
                            <br/>
                        </p:dialog>

                        <fieldset>
                            <legend>Observações</legend> 
                            <h:panelGrid columns="3" width="100%" style="text-align:center">
                                <h:panelGrid columns="2" style=" text-align: center">
                                    <p:editor id="aceObs" value="#{acervoJsfBean.crudObj.aceObs}"/>
                                </h:panelGrid>
                            </h:panelGrid>
                            <h:outputLabel/>
                            <h:panelGrid columns="2">
                                <treap:btnCrudSalvar bean="#{acervoJsfBean}"/>
                                <treap:btnCrudCancelar bean="#{acervoJsfBean}"/>
                            </h:panelGrid>
                        </fieldset>               

                    </p:tab>
                </p:tabView> 
            </ui:define>
        </ui:composition>
            </h:form>
    </body>
</html>

BEAN

package com.systempro.sapiweb.ui.beans;

import com.systempro.sapiweb.dominio.*;
import com.systempro.sapiweb.service.*;
import com.systempro.sapiweb.util.JsfUtil;
import java.util.*;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import org.omg.CORBA.ULongLongSeqHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@ManagedBean
@SessionScoped
public class AcervoJsfBean extends BaseCRUDJSFBean<Acervo> {

    public static final String RELATORIO_ACERVO = "acervo";
    private static Logger log = LoggerFactory.getLogger(AcervoJsfBean.class);
    private Exemplar exemplar = new Exemplar();
    @EJB
    private AcervoService a;
    @EJB
    private TipoMaterialService m;
    @EJB
    private IdiomaService i;
    @EJB
    private EditorasService e;
    @EJB
    private AutoresService y;
    @EJB
    private ClassificacaoService c;
    @EJB
    private AcervoxAutoresService aa;
    private int quantExemplar;
    private List<Acervo> acervoList = new ArrayList<Acervo>();
    private List<Exemplar> exemplarList = new ArrayList<Exemplar>();
    private List<TipoMaterial> TipoMaterialList = new ArrayList<TipoMaterial>();
    private List<Idioma> idiomaList = new ArrayList<Idioma>();
    private List<Editoras> editorasList = new ArrayList<Editoras>();
    private List<Classificacao> classificacaoList = new ArrayList<Classificacao>();
    private List<Autores> autoresList = new ArrayList<Autores>();
    private List<AcervoxAutores> acervoXautorLista = new ArrayList<AcervoxAutores>();
    private Acervoxassuntos acervoxassuntos = new Acervoxassuntos();
    private Classificacao classificacao = new Classificacao();
    private List<Acervoxassuntos> acervoXassuntosLista = new ArrayList<Acervoxassuntos>();
    private AutoresJsfBean autoresJsfBean = new AutoresJsfBean();
    private AcervoxAutores acervoxAutores = new AcervoxAutores();
    private UsuarioLogado usuarioLogado = new UsuarioLogado();
    private Acervo acervo = new Acervo();
    private Autores autores = new Autores();
    private String aceTitulo;
    private String aceSubtitulo;
    private String aceIsbn;
    private String aceLocalizacao;
    private String aceeditora;
    private String aceidioma;
    private String aceclass;
    private String acetipomate = "";
    private Classificacao aceClasFiltro;

    public AcervoJsfBean() {
    }

    @Override
    protected void setup() {
        super.setup();
        this.TipoMaterialList = getCrudService().findAll(TipoMaterial.class, "tipoDescricao");
        this.idiomaList = getCrudService().findAll(Idioma.class, "idiDescricao");
        this.editorasList = getCrudService().findAll(Editoras.class, "ediDescricao");
        this.classificacaoList = getCrudService().findAll(Classificacao.class, "clasDescricao");
        this.autoresList = getCrudService().findAll(Autores.class, "autDescricao");
        this.acervoList = getCrudService().findAll(Acervo.class, "aceCodigo");
    }

    public String reinit() {
        if (acervoxAutores != null) {
            acervoxAutores = null;
        }
        acervoxAutores = new AcervoxAutores();
        return null;
    }

    public String reinitAssuntos() {
        if (acervoxassuntos != null) {
            acervoxassuntos = null;
        }
        acervoxassuntos = new Acervoxassuntos();
        return null;
    }

    @Override
    public void salva() {

        for (int j = 1; j <= quantExemplar; j++) {
            
            exemplar = new Exemplar();
            exemplar.setExeacervo(crudObj);
            exemplar.setExeSituacao("D");
            exemplar.setExeDatabaixa(null);
            exemplar.setExeMotivbaixa(null);
            exemplar.setExeObs("Observação");
            exemplar.setExeExemplar(j);

            exemplarList.add(exemplar);
            acervo.setBibAcervoCollection(exemplarList);
            
        }

        crudObj.setBibAcervoxAutoresCollection(acervoXautorLista);
        crudObj.setBibAcervoxassuntosCollection(acervoXassuntosLista);
        crudObj.setBibAcervoCollection(exemplarList);
        super.salva();
        acervoXautorLista.clear();
        acervoXassuntosLista.clear();
        exemplarList.clear();
    }

    public void limpaListas() {
        acervoXautorLista.clear();
        acervoXassuntosLista.clear();
    }

    public void atualizaInput() {
        this.classificacao = getClassificacao();
    }

    @Override
    public void editaObj(Acervo obj) {
        if (obj.getBibAcervoxAutoresCollection() != null) {
            acervoXautorLista = (List<AcervoxAutores>) obj.getBibAcervoxAutoresCollection();
        }
        if (obj.getBibAcervoxassuntosCollection() != null) {
            acervoXassuntosLista = (List<Acervoxassuntos>) obj.getBibAcervoxassuntosCollection();
        }
        super.editaObj(obj);
    }

    @Override
    public void renovarTabela() {
        filtraAcervo();
    }

    public void filtraAcervo() {
        acervoList = a.listaAcervoRelatorio(montaParametros());
    }

    private Map<String, Object> montaParametros() {
        Map<String, Object> p = new HashMap<String, Object>();

        p.put("aceTitulo", aceTitulo);
        p.put("aceSubtitulo", aceSubtitulo);
        p.put("aceIsbn", aceIsbn);
        p.put("aceLocalizacao", aceLocalizacao);
        p.put("aceeditora", aceeditora);
        p.put("aceidioma", aceidioma);
        p.put("aceclass", aceclass);
        p.put("acetipomate", acetipomate);

        return p;
    }

    @Override
    public void criaObjeto() {
        super.criaObjeto();
        Date data = new Date();
        crudObj.setAceDatacad(data);
    }

    @Override
    public void atualizar() {
        renovarTabela();
        ativaAbaListagem();
    }

    public void geraRelatorioAcervoPDF() {
        geraRelatorioAcervo(true);
    }

    public void geraRelatorioAcervo(boolean isPDF) {
        List<Acervo> listaRelatorio = a.listaAcervoRelatorio(montaParametros());
        if (isPDF) {
            // Relatorio em PDF com folha de rosto padrao
            geraRelatorioPDF(listaRelatorio, RELATORIO_ACERVO);
        }
    }

    public List<Classificacao> completaClassificacao(String query) {
        this.classificacaoList = c.findClassificacaoByNome(query);
        return c.findClassificacaoByNome(query);
    }

    public List<Autores> completaAutores(String query) {
        this.autoresList = y.findAutoresByNome(query);
        return y.findAutoresByNome(query);
    }

    public List<Acervo> completaAcervo(String query) {
        this.acervoList = a.findAcervoByNome(query);
        return a.findAcervoByNome(query);
    }

    public List<TipoMaterial> getTipoMaterialList() {
        return TipoMaterialList;
    }

    public void setTipoMaterialList(List<TipoMaterial> TipoMaterialList) {
        this.TipoMaterialList = TipoMaterialList;
    }

    public Classificacao getAceClasFiltro() {
        return aceClasFiltro;
    }

    public void setAceClasFiltro(Classificacao aceClasFiltro) {
        this.aceClasFiltro = aceClasFiltro;
    }

    public String getAceIsbn() {
        return aceIsbn;
    }

    public void setAceIsbn(String aceIsbn) {
        this.aceIsbn = aceIsbn;
    }

    public String getAceLocalizacao() {
        return aceLocalizacao;
    }

    public void setAceLocalizacao(String aceLocalizacao) {
        this.aceLocalizacao = aceLocalizacao;
    }

    public String getAceSubtitulo() {
        return aceSubtitulo;
    }

    public void setAceSubtitulo(String aceSubtitulo) {
        this.aceSubtitulo = aceSubtitulo;
    }

    public String getAceTitulo() {
        return aceTitulo;
    }

    public void setAceTitulo(String aceTitulo) {
        this.aceTitulo = aceTitulo;
    }

    public String getAceclass() {
        return aceclass;
    }

    public void setAceclass(String aceclass) {
        this.aceclass = aceclass;
    }

    public String getAceeditora() {
        return aceeditora;
    }

    public void setAceeditora(String aceeditora) {
        this.aceeditora = aceeditora;
    }

    public String getAceidioma() {
        return aceidioma;
    }

    public void setAceidioma(String aceidioma) {
        this.aceidioma = aceidioma;
    }

    public Acervo getAcervo() {
        return acervo;
    }

    public void setAcervo(Acervo acervo) {
        this.acervo = acervo;
    }

    public List<Acervo> getAcervoList() {
        return acervoList;
    }

    public void setAcervoList(List<Acervo> acervoList) {
        this.acervoList = acervoList;
    }

    public AcervoxAutores getAcervoxAutores() {
        return acervoxAutores;
    }

    public void setAcervoxAutores(AcervoxAutores acervoxAutores) {
        this.acervoxAutores = acervoxAutores;
    }

    public String getAcetipomate() {
        return acetipomate;
    }

    public void setAcetipomate(String acetipomate) {
        this.acetipomate = acetipomate;
    }

    public Autores getAutores() {
        return autores;
    }

    public void setAutores(Autores autores) {
        this.autores = autores;
    }

    public AutoresJsfBean getAutoresJsfBean() {
        return autoresJsfBean;
    }

    public void setAutoresJsfBean(AutoresJsfBean autoresJsfBean) {
        this.autoresJsfBean = autoresJsfBean;
    }

    public List<AcervoxAutores> getAcervoXautorLista() {
        return acervoXautorLista;
    }

    public void setAcervoXautorLista(List<AcervoxAutores> acervoXautorLista) {
        this.acervoXautorLista = acervoXautorLista;
    }

    public List<Acervoxassuntos> getAcervoXassuntosLista() {
        return acervoXassuntosLista;
    }

    public void setAcervoXassuntosLista(List<Acervoxassuntos> acervoXassuntosLista) {
        this.acervoXassuntosLista = acervoXassuntosLista;
    }

    public Acervoxassuntos getAcervoxassuntos() {
        return acervoxassuntos;
    }

    public void setAcervoxassuntos(Acervoxassuntos acervoxassuntos) {
        this.acervoxassuntos = acervoxassuntos;
    }

    public List<Autores> getAutoresList() {
        return autoresList;
    }

    public void setAutoresList(List<Autores> autoresList) {
        this.autoresList = autoresList;
    }

    public List<Classificacao> getClassificacaoList() {
        return classificacaoList;
    }

    public void setClassificacaoList(List<Classificacao> classificacaoList) {
        this.classificacaoList = classificacaoList;
    }

    public List<Editoras> getEditorasList() {
        return editorasList;
    }

    public void setEditorasList(List<Editoras> editorasList) {
        this.editorasList = editorasList;
    }

    public Exemplar getExemplar() {
        return exemplar;
    }

    public void setExemplar(Exemplar exemplar) {
        this.exemplar = exemplar;
    }

    public List<Exemplar> getExemplarList() {
        return exemplarList;
    }

    public void setExemplarList(List<Exemplar> exemplarList) {
        this.exemplarList = exemplarList;
    }

    public List<Idioma> getIdiomaList() {
        return idiomaList;
    }

    public void setIdiomaList(List<Idioma> idiomaList) {
        this.idiomaList = idiomaList;
    }

    public Classificacao getClassificacao() {
        return classificacao;
    }

    public void setClassificacao(Classificacao classificacao) {
        this.classificacao = classificacao;
    }

    public int getQuantExemplar() {
        return quantExemplar;
    }

    public void setQuantExemplar(int quantExemplar) {
        this.quantExemplar = quantExemplar;
    }

    public UsuarioLogado getUsuarioLogado() {
        return usuarioLogado;
    }

    public void setUsuarioLogado(UsuarioLogado usuarioLogado) {
        this.usuarioLogado = usuarioLogado;
    }
}

Obrigado pela disposição em me ajudar;

Calma, esse erro é facil de contornar, se os componentes estao dentro do mesmo form, basta por update=“atualizaPanel” ou o id do panel onde se encontra o campo que voce quer atualizar.

GRAVE: javax.faces.FacesException: Cannot find component with identifier ":idForm:atualizarPanel" referenced from "tab:tabbleCDU:j_idt124".  

só funciona colocando @form ou @all no update e o campo apos eu selecionar algo na tabela e clicar no botao aceitar emite a mensagem

 size must be between 1 and 10 

Resolvido!!

Da seguinte forma:

botao onde pego o item na tabela

[code]
p:commandButton update="@form" value=“Selecionar” image=“ok” title=“Selecionar”>
<f:setPropertyActionListener value="#{classLista}" target="#{acervoJsfBean.crudObj.aceclass}" />
</p:commandButton> [code]

onde jogo o texto que quero exibir

<h:outputLabel id="aceClas_lbl" value="Classificação:"  for="classBtn" />
                                        <h:outputText value="#{acervoJsfBean.crudObj.aceclass.clasDescricao}"/>

onde Crudobj é o meu objeto atual e aceclass é para onde jogo o que selecionei, depois soh percorro o aceclass e esta tudo resolvido.

Muito obrigado aos que me ajudar, foi de grande importancia a ajuda de vocês. :smiley: