Listar informações por usuario

Bom dia galera blz ?

Estou com um pequeno problema.Eu tenho um sistema (exemplo) em que os usuários fazem especie de cadastro de chamados.Porem o dataTable está retornando todos os chamados independente do usuario que acesso o sistema.

Creio que esta faltando alguma coisinha para que os chamados exibidos sejam apenas aqueles que o usuário logado realmente cadastrou.

Segue os dados.

UsuarioBean

[code] public Usuarios() {
}

public Usuarios(String login) {
    this.login = login;
}

public Usuarios(String login, String senha, String autorizacao) {
    this.login = login;
    this.senha = senha;
    this.autorizacao = autorizacao;
}

public String getLogin() {
    return login;
}

public void setLogin(String login) {
    this.login = login;
}

public String getSenha() {
    return senha;
}

public void setSenha(String senha) {
    this.senha = senha;
}

public String getAutorizacao() {
    return autorizacao;
}

public void setAutorizacao(String autorizacao) {
    this.autorizacao = autorizacao;
}

@XmlTransient
public Collection<Chamado> getChamadoCollection() {
    return chamadoCollection;
}

public void setChamadoCollection(Collection<Chamado> chamadoCollection) {
    this.chamadoCollection = chamadoCollection;
}

@Override
public int hashCode() {
    int hash = 0;
    hash += (login != null ? login.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 Usuarios)) {
        return false;
    }
    Usuarios other = (Usuarios) object;
    if ((this.login == null && other.login != null) || (this.login != null && !this.login.equals(other.login))) {
        return false;
    }
    return true;
}

@Override
public String toString() {
    return "beans.Usuarios[ login=" + login + " ]";
}

}[/code]

ChamadoBean

[code]@Entity
@Table(name = “chamado”)
@XmlRootElement
@NamedQueries({
@NamedQuery(name = “Chamado.findAll”, query = “SELECT c FROM Chamado c”),
@NamedQuery(name = “Chamado.findById”, query = “SELECT c FROM Chamado c WHERE c.id = :id”),
@NamedQuery(name = “Chamado.findByDataChamado”, query = “SELECT c FROM Chamado c WHERE c.dataChamado = :dataChamado”)})
public class Chamado implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = “id”)
private Integer id;
@Lob
@Column(name = “assunto”)
private String assunto;
@Column(name = “dataChamado”)
@Temporal(TemporalType.DATE)
private Date dataChamado;
@Lob
@Column(name = “duvida”)
private String duvida;
@JoinColumn(name = “loginUsuario”, referencedColumnName = “login”)
@ManyToOne
private Usuarios loginUsuario;

public Chamado() {
}

public Chamado(Integer id) {
    this.id = id;
}

public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

public String getAssunto() {
    return assunto;
}

public void setAssunto(String assunto) {
    this.assunto = assunto;
}

public Date getDataChamado() {
    return dataChamado;
}

public void setDataChamado(Date dataChamado) {
    this.dataChamado = dataChamado;
}

public String getDuvida() {
    return duvida;
}

public void setDuvida(String duvida) {
    this.duvida = duvida;
}

public Usuarios getLoginUsuario() {
    return loginUsuario;
}

public void setLoginUsuario(Usuarios loginUsuario) {
    this.loginUsuario = loginUsuario;
}

@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 Chamado)) {
        return false;
    }
    Chamado other = (Chamado) 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 "beans.Chamado[ id=" + id + " ]";
}

}[/code]

DaoChamado

[code]package dao;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import beans.Chamado;
import static dao.DAOChamado.emf;
import static dao.DAOChamado.mensagem;
/**

  • Esta classe representa um DAO genérico que pode ser utilizado para
  • manipular dados de qualquer javabean da aplicação
    */
    public class DAOChamado
    {
    public static EntityManagerFactory emf;
    public static String mensagem;
    static{
    emf = Persistence.createEntityManagerFactory(“CanalColaboradorPU”);
    EntityManager em = emf.createEntityManager();
    mensagem = “”;
    }

public static boolean create(Chamado chamado) {
EntityManager em = null;
try {
em = emf.createEntityManager();
em.getTransaction().begin();
em.persist(chamado); //Executa a query
em.getTransaction().commit(); //Persiste os dados definitivamente
return true;
} catch (Exception ex) {
System.err.println("Erro: " + ex.getMessage());
ex.printStackTrace();
} finally {
em.close();
}
return false;
}

/**
* Este método retorna um JavaBean buscado no banco de dados

  • a partir de sua chave
  • @param c A classe da qual o JavaBean pertence
  • @param id A chave de busca
  • @return O JavaBean buscado ou null caso ele não seja encontrado
    */
    public static Object retrieve(Class c, Object id) {
    EntityManager em = null;
    try
    {
    em = emf.createEntityManager();
    Object obj = em.find(c, id); //Busca o JavaBean
    return obj;
    }
    catch (Exception ex)
    {
    System.err.println("Erro: " + ex.getMessage());
    ex.printStackTrace();
    }
    finally
    {
    em.close();
    }
    return null;
    }

/**
* Este método atualiza os dados de um JavaBean no banco de dados

  • @param bean O JavaBean cujos dados serão atualizados
  • @return true se os dados forem atualizados ou false caso contrário
    */
    public static boolean update(Object bean)
    {
    EntityManager em = null;
    try
    {
    em = emf.createEntityManager();
    em.getTransaction().begin();
    em.merge(bean); //Executa a query
    em.getTransaction().commit(); //Atualiza o banco de fato
    return true;
    }
    catch (Exception ex)
    {
    System.err.println("Erro: " + ex.getMessage());
    ex.printStackTrace();
    }
    finally
    {
    em.close();
    }
    return false;
    }

/**
* Este método remove os dados de um JavaBean do banco de dados

  • @param bean O JavaBean cujos dados serão removidos do banco de dados
  • @return true se os dados forem removidos com sucesso e false caso contrário
    */
    public static boolean delete(Object bean)
    {
    EntityManager em = null;
    try
    {
    em = emf.createEntityManager();
    em.getTransaction().begin();
    Object obj = em.merge(bean);
    em.remove(obj); //Executa a query
    em.getTransaction().commit();
    return true;
    }
    catch (Exception ex)
    {
    System.err.println("Erro: " + ex.getMessage());
    ex.printStackTrace();
    }
    finally
    {
    em.close();
    }
    return false;
    }

public static List list(Class classe){
String aux = “select classe from " + classe.getSimpleName() + " as classe”;
EntityManager em = null;
List lista = null;
try
{
em = emf.createEntityManager();
Query query = em.createQuery(aux);
lista = query.getResultList();
}
catch (Exception ex)
{
System.err.println("Erro: " + ex.getMessage());
ex.printStackTrace();
}
finally
{
em.close();
}
return lista;
}

public static List<Chamado> list() {
EntityManager em = null;
List<Chamado> lista = null;
try {
em = emf.createEntityManager();
lista = em.createQuery("SELECT c FROM Chamado c").getResultList();
} catch (Exception ex) {
System.err.println("Erro: " + ex.getMessage());
ex.printStackTrace();
} finally {
em.close();
}
return lista;
}

public static List executeJPQLQuery(String q, Parametro [] parametros)
{
EntityManager em = null;
List lista = null;
try
{
em = emf.createEntityManager();
Query query = em.createQuery(q);
for(int i=0; i < parametros.length; i++)
{
query.setParameter(parametros[i].getNomeParametro(), parametros[i].getParametro());
}
lista = query.getResultList();
}
catch(Exception ex)
{
System.err.println("Erro: " + ex.getMessage());
ex.printStackTrace();
}
finally
{
em.close();
}
return lista;
}
public static List list(String query)
{
EntityManager em = null;
List lista = null;
try
{
em = emf.createEntityManager();
Query q = em.createNativeQuery(query);
lista = q.getResultList();
}
catch(Exception ex)
{
System.err.println("Erro: " + ex.getMessage());
ex.printStackTrace();
}
finally
{
em.close();
}
return lista;
}
}[/code]

Parte do Xhtml

[code] <h:panelGrid columns=“2” cellpadding=“10”>

           &lt;h:form id="form2"&gt; 
            
            &lt;p:dataTable id="dataTablechamado" var="chamado" value="#{chamadoManagedBean.listaChamado}" widgetVar="cChamado"   
                                                    emptyMessage="Nada encontrado" paginator="true" rows="10" rowsPerPageTemplate="10,20,30" &gt;  
                
   
    &lt;!--   &lt;f:facet name="header"&gt;  
         &lt;p:outputPanel&gt;
            &lt;h:outputText value="Procurar por todos:" /&gt;  
            &lt;p:inputText id="globalFilter" onkeyup= "clientesTable.filter()" style="width:150px" /&gt;  
         &lt;/p:outputPanel&gt; 
    &lt;/f:facet&gt;  --&gt;

    
             &lt;p:column id="codigo" filterBy="#{chamado.id}"   
                    headerText="Codigo" footerText="Codigo TUSS"&gt;  
                    &lt;h:outputText value="#{chamado.id}" /&gt;  
            &lt;/p:column&gt;
    
            &lt;p:column id="data" filterBy="#{chamado.dataChamado}"   
                     headerText="Data" footerText="Data"&gt;  
                    &lt;h:outputText value="#{chamado.dataChamado}"&gt;
                    &lt;f:convertDateTime pattern="dd/MM/yyyy"/&gt;
                    &lt;/h:outputText&gt;  
            &lt;/p:column&gt;
    
    
            &lt;p:column id="assunto" filterBy="#{chamado.assunto}"   
                      headerText="Assunto" footerText="Codigo TUSS"&gt;  
                        &lt;h:outputText value="#{chamado.assunto}" /&gt;  
            &lt;/p:column&gt;  

 
            &lt;p:column headerText="Detalhes" style="width:4%"&gt;  
                    &lt;p:commandButton  id="selectButton"  oncomplete="carDialog.show()" icon="ui-icon-search" title="View"&gt;  
                    &lt;/p:commandButton&gt;  
            &lt;/p:column&gt;  


            &lt;/p:dataTable&gt;

       &lt;/h:form&gt;  
     &lt;/h:panelGrid&gt;[/code]

Abraços.