/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.ohnosequences.util; import com.ohnosequences.xml.model.util.Argument; import com.ohnosequences.xml.model.util.Arguments; import com.ohnosequences.xml.model.util.Execution; import com.ohnosequences.xml.model.util.ScheduledExecutions; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import org.jdom2.Element; /** * * @author Pablo Pareja Tobes <ppareja@era7.com> */ public class ExecuteFromFile { public static void main(String[] args){ if(args.length != 1){ System.out.println("El programa espera un parametro: " + "\n" + "1. Nombre del archivo xml con las ejecuciones programadas."); }else{ try { File xmlFile = new File(args[0]); BufferedReader buff = new BufferedReader(new FileReader(xmlFile)); String temp = null; StringBuilder stBuilder = new StringBuilder(); while((temp = buff.readLine()) != null){ stBuilder.append(temp); } ScheduledExecutions exec = new ScheduledExecutions(stBuilder.toString()); ArrayList<Execution> executions = exec.getExecutions(); for(Execution execution : executions){ String className = execution.getClassFullName(); Class classToExecute = Class.forName(className); Arguments arguments = execution.getArguments(); List<Element> list = arguments.getRoot().getChildren(Argument.TAG_NAME); ArrayList<String> listString = new ArrayList<String>(); Class[] params = new Class[1]; params[0] = listString.getClass(); for(Element elem : list){ Argument tempArgument = new Argument(elem); listString.add(tempArgument.getArgumentText()); } Object object = classToExecute.newInstance(); Executable executable = (Executable)object; executable.execute(listString); } buff.close(); } catch (Exception ex) { Logger.getLogger(ExecuteFromFile.class.getName()).log(Level.SEVERE, null, ex); } } } }