Listar informações por usuario

0 respostas
tiago.frioli

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

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 + " ]";
    }
    
}

ChamadoBean

@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 + " ]";
    }
    
}

DaoChamado

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;
    }
}

Parte do Xhtml

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

        
                 <p:column id="codigo" filterBy="#{chamado.id}"   
                        headerText="Codigo" footerText="Codigo TUSS">  
                        <h:outputText value="#{chamado.id}" />  
                </p:column>
        
                <p:column id="data" filterBy="#{chamado.dataChamado}"   
                         headerText="Data" footerText="Data">  
                        <h:outputText value="#{chamado.dataChamado}">
                        <f:convertDateTime pattern="dd/MM/yyyy"/>
                        </h:outputText>  
                </p:column>
        
        
                <p:column id="assunto" filterBy="#{chamado.assunto}"   
                          headerText="Assunto" footerText="Codigo TUSS">  
                            <h:outputText value="#{chamado.assunto}" />  
                </p:column>  
  
     
                <p:column headerText="Detalhes" style="width:4%">  
                        <p:commandButton  id="selectButton"  oncomplete="carDialog.show()" icon="ui-icon-search" title="View">  
                        </p:commandButton>  
                </p:column>  

   
                </p:dataTable>
  
           </h:form>  
         </h:panelGrid>

Abraços.

Criado 29 de maio de 2013
Respostas 0
Participantes 1