Senhores,
Venho pedir ajuda pois estou implementando esses métodos para que eu possa recuperar a partir da cunsulta de unidades(Departamentos) os bens de um determinado departamento inclusive os bens dos subdepartamentos, ou seja caso eu escolha um departamento, devo varrer os bens do próprio e os bens dos departamentos que pertençam ao departamento superior. Estou tendo problema ao fazer o addAll(col), a variável unids está declarada globalmente.
public Collection getBensDaUnidadeESubUnidades(GerenteDePatrimonio gp,String idUniMae){
System.out.println("idUniMae: "+idUniMae);
getBensDaUnidadeESubUnidadesRec(gp,idUniMae);
return unids;
}
private void getBensDaUnidadeESubUnidadesRec(GerenteDePatrimonio gp,String idUniMae) {
try {
Iterator uniInf = gp.pesquisaUnidadesPorSuperior(idUniMae);
Collection col=null;
System.out.println("************************col: "+col+"*******************");
System.out.println("************************uniInf: "+uniInf+"*******************");
System.out.println("Antes do if");
System.out.println("uniInf.hasNext()"+uniInf.hasNext());
if(uniInf!=null && uniInf.hasNext()){
System.out.println("Entrou: if(uniInf!=null && uniInf.hasNext()");
while(uniInf.hasNext()){
trlg.patrimonio.Unidade uni = (trlg.patrimonio.Unidade)uniInf.next();
System.out.println("**********************uni: "+uni+"***********************");
col=gp.getBensDaLocalizacao(uni,true);
System.out.println("************************col: "+col+"*******************");
System.out.println("Antes do unids.addAll(col)");
[b]unids.addAll(col);[/b]
System.out.println(unids);
getBensDaUnidadeESubUnidades(gp,uni.getId());
}
}else{
System.out.println("Entrou no else");
trlg.patrimonio.Unidade uni = (trlg.patrimonio.Unidade)uniInf;
System.out.println("************Passou de uni*************");
[b]col=gp.getBensDaLocalizacao(uni,true);[/b]
unids.addAll(col);
}
}catch (Exception ex) {
System.out.println("Caiu na exceção do: getBensDaUnidadeESubUnidadesRec(GerenteDePatrimonio gp,String idUniMae)");
ex.printStackTrace();
}
}