Pessoal, sou novo com o Primefaces, tenho dúvidas de como usar o Autocomplete, podem me ajudar?
Abaixo eu postei meu Managed, assim como o repository conrrespondente, gostaria de saber como criá-lo, se precisaria criar um método para isso e com faze-lo, se assim fosse necessário e também implementá-lo na visão, Agradeço muito, desde já.
Este é meu Managed Bean
[code]
package br.com.managedbeans;
import java.util.List;
import java.util.Map;
import javax.faces.bean.ManagedBean;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.persistence.EntityManager;
import javax.servlet.http.HttpServletRequest;
import br.com.modelo.Evento;
import br.com.repository.EventoRepository;
@ManagedBean
public class EventoBean {
private Evento evento = new Evento();
private List<Evento> eventos;
public void adiciona() {
EntityManager manager = this.getManager();
EventoRepository repository = new EventoRepository(manager);
if (this.evento.getId() == null) {
repository.adiciona(this.evento);
} else {
repository.atualiza(this.evento);
}
this.evento = new Evento();
this.evento = null;
}
public void preparaAlteracao() {
Map<String, String> params = FacesContext.getCurrentInstance()
.getExternalContext().getRequestParameterMap();
Long id = Long.parseLong(params.get("id"));
EntityManager manager = this.getManager();
EventoRepository repository = new EventoRepository(manager);
this.evento = repository.procura(id);
}
public void remove() {
Map<String, String> params = FacesContext.getCurrentInstance()
.getExternalContext().getRequestParameterMap();
Long id = Long.parseLong(params.get("id"));
EntityManager manager = this.getManager();
EventoRepository repository = new EventoRepository(manager);
repository.remove(id);
this.evento = null;
}
public List<Evento> getEventos() {
if (this.eventos == null) {
EntityManager manager = this.getManager();
EventoRepository repository = new EventoRepository(manager);
this.eventos = repository.getLista();
}
return this.eventos;
}
private EntityManager getManager() {
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec = fc.getExternalContext();
HttpServletRequest request = (HttpServletRequest) ec.getRequest();
EntityManager manager = (EntityManager) request
.getAttribute("EntityManager");
return manager;
}
public Evento getEvento() {
return evento;
}
public void setEvento(Evento evento) {
this.evento = evento;
}
public void setEventos(List<Evento> eventos) {
this.eventos = eventos;
}
}
}[/code]
Repository:
[code]
package br.com.repository;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import br.com.modelo.Evento;
public class EventoRepository {
private EntityManager manager;
public EventoRepository(EntityManager manager) {
this.manager = manager;
}
public void adiciona(Evento evento) {
this.manager.persist(evento);
}
public void remove(long id) {
Evento evento = this.procura(id);
this.manager.remove(evento);
}
public Evento atualiza(Evento evento) {
return this.manager.merge(evento);
}
public Evento procura(Long id) {
return this.manager.find(Evento.class, id);
}
@SuppressWarnings("unchecked")
public List<Evento> getLista() {
Query query = this.manager.createQuery("SELECT e FROM Evento e");
return query.getResultList();
}
}
}[/code]