package Main;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;

import Model.Item;
import Model.Rss;

public class Main {

	public static void main(String[] args) throws FileNotFoundException {
		lerXml();
	}
	
	private static void lerXml() throws FileNotFoundException {
		
		List<Item> listaItem = new ArrayList<Item>();
		
		XStream xStream = new XStream();
		XStream xstream = new XStream(new DomDriver());
		xstream.processAnnotations(Rss.class);
		//xstream.processAnnotations(Model.Channel.class);
		//xstream.processAnnotations(Item.class);
		
		String filename = "C:\\xml\\google.xml";
		File file = new File(filename);
		
		Rss minhaPesquisa = (Rss) xstream.fromXML(new FileInputStream(file));
		
		for (Item item : minhaPesquisa.getChannel().getListaItens()) {
			Item obj = new Item();
			
			System.out.println("codigo_barra:" + item.getCodigoBarras().replace("\r", "").replace("\t", "").replace("\n", "").trim());
			System.out.println("valor:" + item.getPreco().replace("\r", "").replace("\t", "").replace("\n", "").replaceAll("[^0-9.]", "").trim());
			System.out.println("descricao:"+ item.getTitulo().replace("\r", "").replace("\t", "").replace("\n", "").trim());
			System.out.println("url_produto:" + item.getLink().replace("\r", "").replace("\t", "").replace("\n", "").trim());
			System.out.println("disponibilidade:" + item.getDisponibilidade().replace("\r", "").replace("\t", "").replace("\n", "").trim());
			System.out.println("codigo_promocao:" + item.getNumeroPecaFabricante().replace("\r", "").replace("\t", "").replace("\n", "").trim());
			System.out.println("mensagem_personalizada:" + item.getCondicao().replace("\r", "").replace("\t", "").replace("\n", "").trim());
			System.out.println("************************************");
			
			
			
			obj.setCodigoBarras(item.getCodigoBarras().replace("\r", "").replace("\t", "").replace("\n", "").trim());
			obj.setPreco(item.getPreco().replace("\r", "").replace("\t", "").replace("\n", "").replaceAll("[^0-9.]", "").trim());
			obj.setTitulo(item.getTitulo().replace("\r", "").replace("\t", "").replace("\n", "").trim());
			obj.setLink(item.getLink().replace("\r", "").replace("\t", "").replace("\n", "").trim());
			obj.setDisponibilidade(item.getDisponibilidade().replace("\r", "").replace("\t", "").replace("\n", "").trim());
			obj.setNumeroPecaFabricante("");
			obj.setCondicao(item.getCondicao().replace("\r", "").replace("\t", "").replace("\n", "").trim());
			listaItem.add(obj);
			
	
		
		}
		
		
		xStream.alias("rss", Rss.class);
		xStream.alias("item", List.class);
        //xstream.aliasField("codigo_barra", Item.class, "g:gtin");
		
		File arquivo = new File("C:\\xml\\produto2.xml");
        FileOutputStream gravar;
        try {
            gravar = new FileOutputStream(arquivo);
            gravar.write(xstream.toXML(listaItem).getBytes());
            System.out.println("XML criado com sucesso!");
            gravar.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        
        
		
	}
	
}
