Instanciação de Classe (URGENTE)

Oi internautas,

Eu sou nova no java e estou com uma dúvida.

Eu tenho uma classe chamada ListDadosBean nela estão declaradas algumas listas. Ex.:

public class ListDadosBean {

private List<DashboardForecastTO> dashboardForecast;
private List<DashboardFaturadoTO> dashboardFaturado;
private List<DashboardPendenteAgendadoTO> dashboardPendente;
private List<DashboardPendenteAgendadoTO> dashboardAgendado;

o construtor dela está assim:

public ListDadosBean(DashboardService service) {
	this.service = service;
}

e seus getters e setters.

Em outra classe chamada DashboardServiceImpl eu estou declarando esta classe como:

ListDadosBean listdados = new ListDadosBean(service);

Só que na hora de debugar percebo que os objetos estão todos setados como null.

Alguém poderia me ajudar a entender porque isso acontece, o que estou fazendo de errado?

Obrigada!

se vc esta se referindo aos atributos:

private List&lt;DashboardForecastTO&gt; dashboardForecast; 
private List&lt;DashboardFaturadoTO&gt; dashboardFaturado; 
private List&lt;DashboardPendenteAgendadoTO&gt; dashboardPendente; 
private List&lt;DashboardPendenteAgendadoTO&gt; dashboardAgendado;

é pq eles não fora inicializados…

private List&lt;DashboardForecastTO&gt; dashboardForecast = new ArrayList() ; 
private List&lt;DashboardFaturadoTO&gt; dashboardFaturado= new ArrayList() ; 
private List&lt;DashboardPendenteAgendadoTO&gt; dashboardPendente= new ArrayList() ; 
private List&lt;DashboardPendenteAgendadoTO&gt; dashboardAgendado= new ArrayList() ; 

Oi Giulliano,

Eu coloquei os atributos com new Array list, na hora de debugar ele cria só que seta todos objetos como null. Você sabe por que isso acontece?

será que está faltando alguma coisa?

Valew!

de quais objetos vc esta falando ???

se for o conteúdo dos list é assim mesmo que funciona …

Giulliano,

o list vem de uma pesquisa no banco.

Ex.:

this.dashboardFaturado = service.findAllFaturado(quarter, ano);

Eu trabalho com hibernate e JPA.

bom quando eu declaro o list :
private List dashboardFaturado= new ArrayList() ;

ele faz referencia a busca no banco. entaum ele não pode vir null. Porque tem dados na pesquisa.

a lista tem que trazer todos os dados q vir do banco.

Em algum momento eu estou fazendo a instanciação errada chamando da classe DashboardServiceImpl e até agora eu não consegui descobrir aonde.

Não sei se consegui explicar bem.

hummm…então seu problema não esta na classe q vc me mandou e sim na hora da pesquisa…

tenta mandar apenas o trecho onde acontece o problema : )

Na verdade é na instanciação mesmo.

Veja só o trecho q estou tentando chamar os dados:

public void save(int quarter,int ano) throws ParseException {

			ListDadosBean listdados = new ListDadosBean(service);
		
			for (DashboardFaturadoTO dashFaturado : listdados.getDashboardFaturado()) {

este é o método save, na hora de debugar passando pelo listdados, ele cria os objetos com arrayList como vc havia sugerido, mas todos estão indexados com valor null.

acho q é algum problema na hora de chamar a classe, a pesquisa está retornando os dados corretamente.

então eu não to vendo ainda onde é q vc ta preenchendo a lista ?!?!?!

vc dá um new na sua classe a manda um service…ok

mas onde é q esta a parte q faz a consulta e põe os valores na lista ???

isso e feito dentro da classe DashboardServiceImpl mesmo.

Query c = em.createNativeQuery(SQL_FATURADO.replaceAll(":mesesQuarter",
mesesQuarter));
c.setParameter(“ano”, ano);
c.setParameter(“primeiroMes”, primeiroMes);

	List<DashboardFaturadoTO> listResult = (List<DashboardFaturadoTO>) new PopulateTO()
			.execute(c.getResultList(), new Populable() {
				public Object populate(Object[] obj) {
					DashboardFaturadoTO faturado = new DashboardFaturadoTO();

					int i = 0;
					faturado.setIdAtestacao((Integer) obj[i++]);
					faturado.setData((String) obj[i++]);
					faturado.setCliente((String) obj[i++]);
					faturado.setIdDepartamento((Integer) obj[i++]);
					faturado.setDepartamento((String) obj[i++]);
					faturado.setId((Integer) obj[i++]);
					faturado.setNF((String) obj[i++]);
					faturado.setEstado((String) obj[i++]);
					faturado.setOS2((String) obj[i++]);
					faturado.setValorFaturado(((BigDecimal) obj[i++])
							.doubleValue());
					faturado.setIdDolar((Integer) obj[i++]);
					faturado
							.setDolar(((BigDecimal) obj[i++]).doubleValue());
					faturado
							.setValorFaturadoDolar(faturado.getDolar() > 0 ? faturado
									.getValorFaturado()
									/ faturado.getDolar()
									: 0);

					DecimalFormat df = new DecimalFormat("###,###,##0.00");
					faturado.setPior(faturado.getEstado().equals(
							"Reconhecido") ? df.format(faturado
							.getValorFaturadoDolar()) : "");
					faturado.setProvavel(df.format(faturado
							.getValorFaturadoDolar()));
					faturado.setMelhor(df.format(faturado
							.getValorFaturadoDolar()));

					return faturado;
				}
			});

	return listResult;
}