Boa noite Galera beleza? Galera é o seguinte, so novato nisso e não sei o que to fazendo de errado... to seguindo um exemplo mais nunca da certo... funciona mais ou menos assim...
Eu tenho um CADASTRO de GRUPOS, nesse cadastro vai algumas informações e uma LISTA de PESSOAS, então qual o meu problema, eu criei o botão Adicionar tals, puxei uma Combo com o nome das PESSOAS ja cadastradas, mais quando clico em adicionar, ele não funciona... alguem sabe me dizer como posso resolver? Vou postar todos os códigos aqui... Abraços.
Adicionar -<p:fieldset legend="Beneficiários">
<p:selectOneMenu value="#{grupoControle.grupo.beneficiarios}" id="benselect" converter="#{grupoControle.converterBen}">
<f:selectItems value="#{grupoControle.beneficiarios}"/>
</p:selectOneMenu>
<p:commandButton value="Adicionar" actionListener="#{grupoControle.adicionarBeneficiario}" update="tabelabeneficiario"/>
<p:dataTable id="tabelabeneficiario" value="#{grupoControle.grupo.beneficiarios}" var="g">
<p:column headerText="Beneficiário">
<h:outputText value="#{g.nomeben}"/>
</p:column>
</p:dataTable>
</p:fieldset>
@Entity
public class GrupoEntidade implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String nomegrupo;
private String descricaogrupo;
private Double verbareceber;
private Double verbaentregue;
@Temporal(javax.persistence.TemporalType.DATE)
private Date abertura;
@Temporal(javax.persistence.TemporalType.DATE)
private Date fechamento;
@ManyToOne
private EntEntidade entidade;
@ManyToOne
private ForEntidade fornecedor;
@OneToMany(cascade = CascadeType.ALL, fetch= FetchType.EAGER)
private List<BenEntidade> beneficiarios;
//============ Getters e Setters ============//
public List<BenEntidade> getBeneficiarios() {
return beneficiarios;
}
public void setBeneficiarios(List<BenEntidade> beneficiarios) {
this.beneficiarios = beneficiarios;
}
public Date getAbertura() {
return abertura;
}
public void setAbertura(Date abertura) {
this.abertura = abertura;
}
public String getDescricaogrupo() {
return descricaogrupo;
}
public void setDescricaogrupo(String descricaogrupo) {
this.descricaogrupo = descricaogrupo;
}
public EntEntidade getEntidade() {
return entidade;
}
public void setEntidade(EntEntidade entidade) {
this.entidade = entidade;
}
public Date getFechamento() {
return fechamento;
}
public void setFechamento(Date fechamento) {
this.fechamento = fechamento;
}
public ForEntidade getFornecedor() {
return fornecedor;
}
public void setFornecedor(ForEntidade fornecedor) {
this.fornecedor = fornecedor;
}
public Double getVerbaentregue() {
return verbaentregue;
}
public void setVerbaentregue(Double verbaentregue) {
this.verbaentregue = verbaentregue;
}
public Double getVerbareceber() {
return verbareceber;
}
public void setVerbareceber(Double verbareceber) {
this.verbareceber = verbareceber;
}
public String getNomegrupo() {
return nomegrupo;
}
public void setNomegrupo(String nomegrupo) {
this.nomegrupo = nomegrupo;
}
//============ Padrão ============//
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof GrupoEntidade)) {
return false;
}
GrupoEntidade other = (GrupoEntidade) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
return false;
}
return true;
}
@Override
public String toString() {
return String.valueOf(id);
}
}
@ManagedBean(name = "grupoControle")
@SessionScoped
public class GrupoControle {
private GrupoEntidade grupo;
private GrupoEntidade selectedGrupo;
@EJB
private GrupoFacade grupoFacade;
private List<GrupoEntidade> lista = new ArrayList<GrupoEntidade>();
@EJB
private BenFacade benDao;
private Converter converterBen;
private BenEntidade beneficiario;
@EJB
private EntFacade entDao;
private Converter converterEnt;
@EJB
private ForFacade forDao;
private Converter converterFor;
//============ Entidade ============//
public BenEntidade getBeneficiario() {
return beneficiario;
}
public void setBeneficiario(BenEntidade beneficiario) {
this.beneficiario = beneficiario;
}
public GrupoEntidade getGrupo() {
return grupo;
}
public void setGrupo(GrupoEntidade grupo) {
this.grupo = grupo;
}
public GrupoEntidade getSelectedGrupo() {
return selectedGrupo;
}
public void setSelectedGrupo(GrupoEntidade selectedGrupo) {
this.selectedGrupo = selectedGrupo;
}
//============ Converter ============//
public Converter getConverterBen() {
if (converterBen == null) {
converterBen = new ConverterGenerico(benDao);
}
return converterBen;
}
public void setConverterBen(Converter converterBen) {
this.converterBen = converterBen;
}
public Converter getConverterEnt() {
if (converterEnt == null) {
converterEnt = new ConverterGenerico(entDao);
}
return converterEnt;
}
public void setConverterEnt(Converter converterEnt) {
this.converterEnt = converterEnt;
}
public Converter getConverterFor() {
if (converterFor == null) {
converterFor = new ConverterGenerico(forDao);
}
return converterFor;
}
public void setConverterFor(Converter converterFor) {
this.converterFor = converterFor;
}
//============ Facade ============//
public BenFacade getBenDao() {
return benDao;
}
public void setBenDao(BenFacade benDao) {
this.benDao = benDao;
}
public EntFacade getEntDao() {
return entDao;
}
public void setEntDao(EntFacade entDao) {
this.entDao = entDao;
}
public ForFacade getForDao() {
return forDao;
}
public void setForDao(ForFacade forDao) {
this.forDao = forDao;
}
public GrupoFacade getGrupoFacade() {
return grupoFacade;
}
public void setGrupoFacade(GrupoFacade grupoFacade) {
this.grupoFacade = grupoFacade;
}
//============ Lista ============//
public List<GrupoEntidade> getLista() {
return grupoFacade.findAll();
}
public void setLista(List<GrupoEntidade> lista) {
this.lista = lista;
}
//============ Lista Menu ============//
public List<SelectItem> getEntidades() {
List<SelectItem> listEntidades = new ArrayList<SelectItem>();
for (EntEntidade object : getEntDao().findAll()) {
listEntidades.add(new SelectItem(object, object.getNomeent()));
}
return listEntidades;
}
public List<SelectItem> getFornecedores() {
List<SelectItem> listFornecedores = new ArrayList<SelectItem>();
for (ForEntidade object : getForDao().findAll()) {
listFornecedores.add(new SelectItem(object, object.getNomefor()));
}
return listFornecedores;
}
public List<SelectItem> getBeneficiarios() {
List<SelectItem> listBeneficiarios = new ArrayList<SelectItem>();
for (BenEntidade object : getBenDao().findAll()) {
listBeneficiarios.add(new SelectItem(object, object.getNomeben()));
}
return listBeneficiarios;
}
//============ Comandos ============//
public void novo() {
grupo = new GrupoEntidade();
}
public void salvar() {
grupoFacade.salvar(grupo);
}
public void editar(ActionEvent e) {
grupo = (GrupoEntidade) e.getComponent().getAttributes().get("grupo");
}
public void excluir(ActionEvent e) {
grupo = (GrupoEntidade) e.getComponent().getAttributes().get("grupo");
grupoFacade.remover(grupo);
}
public void adicionaBeneficiario(){
grupo.getBeneficiarios().add(beneficiario);
}
}