package com.fitbank.test;

import java.io.File;
import java.util.prefs.Preferences;

import javax.swing.JFileChooser;

import com.fitbank.common.FileHelper;
import com.fitbank.common.Helper;
import com.fitbank.common.conectivity.HbSession;
import com.fitbank.common.helper.XMLParser;
import com.fitbank.common.logger.FitbankLogger;
import com.fitbank.dto.management.Detail;
import com.fitbank.processor.RequestProcessor;
import com.fitbank.util.Debug;

public class Test {

    public static final String PREF_NAME = "in";

    public static Preferences preferences = Preferences.userNodeForPackage(
            Test.class);

    public void testNothing() {
    }

    public static void main(String[] args) throws Exception {
        FitbankLogger.initStandalone();
        System.out.println("Iniciando...");
        Detail detail;

        File in = new File(preferences.get(PREF_NAME, ""));

        JFileChooser chooser = new JFileChooser();
        chooser.setCurrentDirectory(in);
        chooser.setSelectedFile(in);

        if (chooser.showOpenDialog(null) == JFileChooser.CANCEL_OPTION) {
            return;
        }

        in = chooser.getSelectedFile();
        preferences.put(PREF_NAME, in.getAbsolutePath());

        File dir = in.getParentFile();

        String data = FileHelper.readFile(in.toString());
        detail = new Detail(new XMLParser(data));

        detail = new RequestProcessor(null, detail).process();

        FileHelper.writeFile(new File(dir, "out.xml").toString(), detail.toXml());

        Helper.setSession(HbSession.getInstance().getSession());
        Helper.closeSession();

        if (detail.getResponse().getStackTrace() != null) {
            Debug.error("Stacktrace:\n" + detail.getResponse().getStackTrace());
        }

        Debug.info("Terminado.");
    }

}
