import java.io.*;
import java.util.*;
import javax.xml.bind.*;
import javax.xml.marshal.*;

public class TestClient
{
    public static void pokażKsiążki( List listaKsiążek )
    {
        for( Iterator i=listaKsiążek.iterator(); i.hasNext(); )
        {
            Książka książka = ( Książka )i.next();
            System.out.println( "Książka: " + 
                                książka.getTytuł() + ", " + 
                                książka.getAutor() + ", " +
                                książka.getCena() + ", " +
                                książka.getKategoria() );
        }
    }
    
    public static void main( String[] args )
    {
        try
        {
      // Otwórz plik book.xml
            File plik = new File( "book.xml" );
            if( !plik.exists() )
            {
                System.out.println( "Nie znaleziono pliku..." );
                return;
            }
            FileInputStream fis = new FileInputStream( plik );
            Książki książki = Książki.unmarshal( fis );
            fis.close();

      // Pokaż pierwotną zawartość pliku
            pokażKsiążki( książki.getKsiążka() );

            // Dołącz książkę
            System.out.println( "\nDodawanie książki" );
            Książka książka = new Książka();
            książka.setTytuł( "Java w komercyjnych usługach sieciowych" );
            książka.setAutor( "Kilku facetów" );
            książka.setCena( "49.95" );
            książka.setKategoria( "Computer Programming" );
            książki.getKsiążka().add( książka );

      // Pokaż zaktualizowaną zawartość dokumentu XML
            pokażKsiążki( książki.getKsiążka() );

      // Wyświetl na ekranie kompletny dokument XML
            XMLWriter writer = new XMLWriter( System.out, "US-ASCII", true );
            książki.validate();
            książki.marshal( writer );
        }
        catch( Exception e )
        {
            e.printStackTrace();
        }
        
    }
}
