Executar arquivos a medida que forem solicitados

0 respostas
jeovane.reges

Olá a todos do GUJ, boa tarde.
Pessoal, minha dúvida é a seguinte. Imaginem que tenho N elementos onde a hierarquia entre estes é do tipo pai pra filho.
Ou seja, pra cada elemento pai tenho apenas um único elemento filho.
O que eu gostaria era de executar o elemento pai (pai de todos os filhos e netos e etc) logo de entrada e os demais a medida que fossem sendo solicitados.
Além disso, gostaria de ir exibindo o resultado de cada elemento que fosse sendo executado.

No código abaixo tento fazer o que descrevi acima. No entanto, ele funciona meio que ao contrário, ou seja, pedi primeiro a confirmação se quero executar os elementos filhos e mostra apenas o último resultado.
public String executeQueryVCD() throws Exception {
    String resultQuery = "";
    Scanner sc = new Scanner(System.in).useDelimiter("\r\n");

    for (ExtractsContentVCD e : sortList()) {
        if (e.getNameVCD().equalsIgnoreCase(e.getVCDMain())) {
           // Executo o elemento pai
            queryJena = new ExecuteQueryJena(e.getServiceURI(), e.getQueryVCD());
            resultQuery = queryJena.printQueryConsole() + "\n";
        } else {
           // Executo os demais elementos na medida que forem sendo solicitados
            System.out.print("Deseja processar o próximo arquivo? y/n: ");
            String resposta = sc.nextLine();
            if (resposta.trim().equalsIgnoreCase("y")) {
                queryJena = new ExecuteQueryJena(e.getServiceURI(), e.getQueryVCD());
                for (String vcde : getDestinationVCD(e)) {
                    System.out.print("Digite o nome para " + vcde + ": ");
                    String val = sc.nextLine();
                    queryJena.setParameterList(vcde + "," + val);
                }
                resultQuery = queryJena.printQueryConsole() + "\n";
            } else {
                break;
            }
        }
    }
    return resultQuery;
}
Para executar o código acima faço da seguinte maneira abaixo.
ExecuteQueryVCDS eQuery = new ExecuteQueryVCDS(elementsVCDS, fhv);
System.out.println(eQuery.executeQueryVCD());
Alguém sabe me dizer o que devo alterar para alcançar o objetivo que estou pretendendo alcançar? Desde já obrigado pela ajuda de todos.
Criado 8 de maio de 2013
Respostas 0
Participantes 1