package com.softgraf.vendas.model.xml;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Arrays;
import java.util.List;

import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;

import javafx.application.Application;
import javafx.application.Platform;
import javafx.stage.FileChooser;
import javafx.stage.Stage;

public class TesteGravadorXml extends Application {

	public static void main(String[] args) {
		launch(args);
	}

	@Override
	public void start(Stage primaryStage) throws Exception {
		
		try {
			FileChooser chooser = new FileChooser();
			FileChooser.ExtensionFilter filtro = new FileChooser.ExtensionFilter("Arquivos XML", "*.xml");
			chooser.getExtensionFilters().add(filtro);
			File arquivo = chooser.showSaveDialog(null);
			
			if (arquivo != null){
				String arquivoXml = arquivo.toString();
	
				// tags a serem gravados
				List<String> listaTags = Arrays.asList("id", "nome", "rua", "cidade", "estado");
				
				// valores a serem gravados
				List<String> cliente1 = Arrays.asList("1", "Joćo da Silva", "Rua XV de Novembro, 123", "Ponta Grossa", "Parana");
				List<String> cliente2 = Arrays.asList("2","Luiz Carlos Xavier", "Av. Dr. Vicente Machado, 456", "Curitiba", "Parana");
				List<List<String>> listaValores = Arrays.asList(cliente1, cliente2);
		
			
				GravadorXml xml = new GravadorXml();
				xml.processar(arquivoXml, "clientes", "cliente", listaTags, listaValores);
				System.out.println("XML criado com sucesso!");
			}
	
		} catch (ParserConfigurationException | FileNotFoundException | TransformerException e) {
			e.printStackTrace();
		}	
		
		Platform.exit();
	}
}
