Olá a todos do GUJ, boa noite.
Pessoal, tenho o seguinte método que vai acrescentando novos valores ao meu array na medida em que ele vai sendo executado.
No entanto, ele só reflete as adições no main na primeira vez em que é executado.
for (Iterator it = buildsObjectProperty(ontology).iterator(); it.hasNext();) {
ts = (TripleStore) it.next();
if (currentClass.equals(ts.getDomain())) {
query += "\n ?" + ts.getDomain() + " "
+ prefix + ":" + ts.getObjectProperty()
+ " ?" + ts.getRange() + "_" + ts.getDomain() + ".";
// Adiciona os novos valores no array
arrayCurrentClass.add(ts.getRange().toString());
arrayCurrentClass.remove(currentClass);
}
}
Abaixo é o código onde chamo-o, ou seja, no meu main.
bsq.buildsSelect("Disease", "");
ArrayList<String> teste = bsq.buildsWhere();
for (String name : teste) {
if (!teste.isEmpty()) {
bsq.buildsSelect(name, "");
teste = bsq.buildsWhere();
}
}
Quando executo-o nessa ordem passando a String Disease ele adiciona “Drug”.
Quando ele é executado já passando a String Drug ele adiciona outros três valores, no entanto, esses outros 3 valores não são passados no for.
É como se eles existissem, mas não são executados.
Caso eu dê um System.out.println(teste) dentro do if ele mostra os 3 valores.
Alguém poderia me dar um dica sobre o que fazer para resolver isso?
Desde de já obrigado pela ajuda de todos.
Abraço.