Ajuda trecho de código

A parte:

public List<Reclamacao> todos(String cpf) {
    return  reclamacaoCRUD.findAll().stream().filter(e -> e.getCorredorId().equals(cpf)).collect(Collectors.toList());
}

não ta funcionando nao sei pq ocódigo é para filtrar se o ID da reclamação bate com o CPF de quem fez a mesma

public class ReclamacaoRepository implements IReclamacaoRepository{
    //private JdbcTemplate jdbcTemplate;
    private IReclamacaoCRUD reclamacaoCRUD;
    private IUsuarioCRUD usuarioCRUD;    

    @Autowired
    //public ReclamacaoRepository(JdbcTemplate jdbcTemplate) {
    public ReclamacaoRepository(IReclamacaoCRUD reclamacaoCRUD,
    IUsuarioCRUD corredorCRUD) {
        this.reclamacaoCRUD = reclamacaoCRUD;
        this.usuarioCRUD = usuarioCRUD;
    }  

    public List<Reclamacao> todos() {
        List<Reclamacao> resp = reclamacaoCRUD.findAll();
        return resp;
        /*
        List<Evento> resp = this.jdbcTemplate.query("SELECT * from eventos",
                (rs, rowNum) -> new Evento(rs.getInt("id"), rs.getString("nome"), rs.getInt("dia"), rs.getInt("mes"),
                        rs.getInt("ano"), rs.getInt("distancia"), rs.getInt("horas"), rs.getInt("minutos"),
                        rs.getInt("segundos")));
        return resp;
        */
    }

    public List<Reclamacao> todos(String cpf) {
        return  reclamacaoCRUD.findAll().stream().filter(e->e.getCorredorId().equals(cpf)).collect(Collectors.toList());     
    }

    public boolean cadastra(String cpf, Reclamacao reclamacao){
        Usuario usuario = usuarioCRUD.findById(cpf).get();
        if (usuario != null) {
            reclamacao.setUsuario(usuario);
            reclamacaoCRUD.save(reclamacao);
            return true;
        }
        return false;
    }

    @Override
    public List<Reclamacao> todos(String titulo, String descricao, int dia, int mes, int ano, String bairro, String endereco, String categoria) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public boolean cadastra(String titulo, String descricao, int dia, int mes, int ano, String bairro, String endereco, String categoria, Reclamacao reclamacao) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

Não funciona pq não retorna o dado correto ou pq dá algum erro?

da erro no get id

Eita, que getId()? Só achei getCorredorId(). E que erro dá?

então nele mesmo, não aceita o (). equals

Então é bem capaz que o ID é do tipo int, ou seja, tipo primitivo. Para o tipo primitivo int, vc deve comparar com ==.

Agora reparei que o valor a ser comparado é com uma String. O corredorId é de qual tipo?

Para que retornar tudo do banco de dados e depois fazer o filtro do lado do código? A maneira correta é fazer o filtro diretamente na BD.

1 curtida