VTDGen vg = new VTDGen();
if (vg.parseFile(f.toString(), true)) {
AutoPilot ap;
VTDNav vn = vg.getNav();
try {
//main
if (vn.matchElement(TAG_XML_MAIN)) {
db = new com.conf.Db();
if (vn.toElement(VTDNav.FIRST_CHILD, com.conf.Db.TAG_XML_DB)) {
if (vn.toElement(VTDNav.FIRST_CHILD, com.conf.Db.TAG_XML_CLAZZ)) {
db.setClazz(vn.toString(vn.getText()));
}
if (vn.toElement(VTDNav.NEXT_SIBLING, com.conf.Db.TAG_XML_CONN)) {
db.setConn(vn.toString(vn.getText()));
}
if (vn.toElement(VTDNav.NEXT_SIBLING, com.conf.Db.TAG_XML_QUERY)) {
if (vn.toElement(VTDNav.FIRST_CHILD, com.conf.Db.TAG_XML_CREATE)) {
do {
db.addCreate(vn.toString(vn.getText()));
} while (vn.toElement(VTDNav.NEXT_SIBLING, com.conf.Db.TAG_XML_CREATE));
}
}
}//if()
stats = new com.conf.Db();
vn.toElement(VTDNav.ROOT);
vn.matchElement(TAG_XML_MAIN);
if (vn.toElement(VTDNav.FIRST_CHILD, com.conf.Db.TAG_XML_STATS)) {
if (vn.toElement(VTDNav.FIRST_CHILD, com.conf.Db.TAG_XML_CLAZZ)) {
stats.setClazz(vn.toString(vn.getText()));
}
if (vn.toElement(VTDNav.NEXT_SIBLING, com.conf.Db.TAG_XML_CONN)) {
stats.setConn(vn.toString(vn.getText()));
}
if (vn.toElement(VTDNav.NEXT_SIBLING, com.conf.Db.TAG_XML_QUERY)) {
if (vn.toElement(VTDNav.FIRST_CHILD, com.conf.Db.TAG_XML_CREATE)) {
do {
stats.addCreate(vn.toString(vn.getText()));
} while (vn.toElement(VTDNav.NEXT_SIBLING, com.conf.Db.TAG_XML_CREATE));
}
}
if (vn.toElement(VTDNav.NEXT_SIBLING, com.conf.Db.TAG_XML_KEY)) {
stats.setKey(vn.toString(vn.getText()));
}
}//if()
//QRcode
qrcode = new com.conf.Qrcode();
ap = getAp(vn, "/" + TAG_XML_MAIN + "/" + Qrcode.TAG_XML_QRCODE + "/*");
int r = 0;
while ((r = ap.evalXPath()) != -1) {
if (vn.toString(r).equals(Qrcode.TAG_XML_QRCODE_URL)) {
qrcode.setUrl(vn.toString(vn.getText()));
}
if (vn.toString(r).equals(Qrcode.TAG_XML_QRCODE_DIM)) {
qrcode.setDim(vn.toString(vn.getText()));
}
if (vn.toString(r).equals(Qrcode.TAG_XML_QRCODE_STORAGE)) {
qrcode.setStorage(vn.toString(vn.getText()));
}
}
//LOG
log = this.getLogBlock(vn, "/" + TAG_XML_MAIN + "/" + Log.TAG_XML_LOG + "/*");
if(log == null){
System.out.println("Errore nei cercare i parametri del " + "/" + TAG_XML_MAIN + "/" + Log.TAG_XML_LOG + "/*");
}
//Proxy
proxy = new com.conf.Proxy();
ap = getAp(vn, "/" + TAG_XML_MAIN + "/" + Proxy.TAG_XML_PROXY + "/*");
r = 0;
while ((r = ap.evalXPath()) != -1) {
if (vn.toString(r).equals(Proxy.TAG_XML_URL)) {
proxy.setUrl(vn.toString(vn.getText()));
}
if (vn.toString(r).equals(Proxy.TAG_XML_TO)) {
proxy.setTo(vn.toString(vn.getText()));
}
if (vn.toString(r).equals(Proxy.TAG_XML_DOMAIN)) {
proxy.setDomain(vn.toString(vn.getText()));
}
}
//mail
mail = new com.conf.Mail();
ap = getAp(vn, "/" + TAG_XML_MAIN + "/" + Mail.TAG_XML_MAIL + "/*");
r = 0;
while ((r = ap.evalXPath()) != -1) {
if (vn.toString(r).equals(Mail.TAG_XML_MAIL_HOSTNAME)) {
mail.setHostname(vn.toString(vn.getText()));
}
if (vn.toString(r).equals(Mail.TAG_XML_MAIL_USERNAME)) {
mail.setUsername(vn.toString(vn.getText()));
}
if (vn.toString(r).equals(Mail.TAG_XML_MAIL_PASSWORD)) {
mail.setPassword(vn.toString(vn.getText()));
}
if (vn.toString(r).equals(Mail.TAG_XML_MAIL_PORT)) {
mail.setPort(Default.toInt(vn.toString(vn.getText()), 25));
}
}
//URL
url = new com.conf.Url();
ap = getAp(vn, "/" + TAG_XML_MAIN + "/" + TAG_XML_URL + "/*");
r = 0;
while ((r = ap.evalXPath()) != -1) {
if (vn.toString(r).equals(Url.TAG_XML_URL_BEST_BEFORE)) {
url.setBest_before(vn.toString(vn.getText()));
}
if (vn.toString(r).equals(Url.TAG_XML_URL_CHARSET)) {
url.setCharset(vn.toString(vn.getText()));
}
}
//cron job
ap = getAp(vn, "/" + TAG_XML_MAIN + "/" + TAG_XML_CRON + "/" + TAG_XML_CRON_JOB);
r = 0;
HashMap<String, Object> cron_map = new HashMap<String, Object>();
if (this.cron_job == null) {
this.cron_job = new ArrayList<Map<String, Object>>();
}
//scorro i job
while ((r = ap.evalXPath()) != -1) {
cron_map = new HashMap<String, Object>();
//entro nel job
VTDNav vnjob = vn.cloneNav();