Primefaces - datatable colunas dinamicas sem classe definida

0 respostas
T

Amigos, faço o upload de um arquivo CSV e realizo seu processamento. A quantidade de colunas do arquivo pode variar de acordo com quantidade de métricas coletadas, podendo ter uma métrica coletada até mais de 400 métricas.

DadosColetados.csv

ENTIDADE; Metrica 1; Metrica 2; Metrica 3;
E1;1;2;3
E2;4;5;6
E3;8;9;0


Após o processamento do CSV instancio três listas (ArrayList). A primeira, lista_entidades, contém objetos do tipo Entidade referente aos dados da primeira coluna do arquivo CSV. A segunda lista, lista_metricas, contém os objetos do tipo Metrica recuperados do BD segundo o nome das métricas lidos no CSV. A terceira lista_dados contém objetos do tipo Dado. Dado é utilizado para guardar uma referencia para uma Entidade e uma Métrica, além de armazenar o valor lido do CSV. Até aqui tudo funcionando perfeitamente.

O relacionamento é:

  • UMA Entidade possui MUITAS Métrica.
  • UMA Métrica possui MUITOS Dado.

class Entidade {

          Integer id;
          String nome;
          (....)
}

Class Metrica {
        Integer id;
        String nome;
        String contexto;
        (...)
}

class Dado {
          Metrica m;
          Entidade e;
          Double valor; 
          (....)
}

A pergunta é como eu consigo mostrar estes dados no primefaces utilizando o datatable. Tentei trabalhar com colunas dinâmicas mas não deu certo, pois eu não tenho uma classe que contenha definida todas as metricas como atributos para selecionar qual eu quero mostrar. Qual a melhor maneira de apresentar estes dados para o usuário dar apenas um OK na visualização dos dados? Parece básico, mas travei aqui.

Meu ManagedBean contém as três listas com os valores que preciso utilizar.

Criado 23 de dezembro de 2016
Respostas 0
Participantes 1