public List<Arvore> getUpdatedArvores() throws Exception {
List<Arvore> arvores = Collections.synchronizedList(new ArrayList<Arvore>());
Vector dv = getDataVector();
Arvore arvore = null;
for (Iterator it = dv.iterator(); it.hasNext();) {
Vector<Double> object = (Vector) it.next();
Object idArvore = object.get(0);
if (cenario.getArvoreByID((Long) idArvore) == null) {
arvore = new Arvore((Long) idArvore);
} else {
arvore = cenario.getArvoreByID((Long) idArvore);
}
for (int i = 1; i < object.size(); i++) {
String chave = getColumnName(i);
Object valor = object.get(i);
if (valor == null || valor.equals("")) {
throw new Exception("Informe um número válido");
}
if (valor instanceof Long) {
Double value = ((Long) valor).doubleValue();
arvore.put(chave, value);
} else if (valor instanceof String) {
Double value = Double.parseDouble((String) valor);
arvore.put(chave, value);
} else {
arvore.put(chave, object.get(i));
}
}
arvores.add(arvore);
}
return arvores;