users@jaxb.java.net

Re: DefaultValidationEventHandler

From: lissette <glorianchu18_at_hotmail.com>
Date: Sat, 19 May 2007 08:01:01 -0700 (PDT)

Sorry, I confuse in my Main class, it is this:

import generated.*;
import generated.impl.*;

import javax.xml.bind.*;
import java.io.*;
import java.math.BigDecimal;
import java.util.*;

public class Main {
        
        public static void main(String[] args) throws FileNotFoundException {
                try {
                        //ponemos la ruta donde esta jaxb.properties
                        JAXBContext jc = JAXBContext.newInstance( "generated" );
                        Unmarshaller u = jc.createUnmarshaller();
                        u.setValidating(true);
                        
                        InputStream in = new FileInputStream("catalogs.xml");
                        if(in == null) {
                                System.out.println("No encuentro el fichero");
                                return;
                        }//if
                        
                        //construimos el modelo a partir el stream de entrada
                        Catalogs mifichero = (Catalogs)u.unmarshal(in );
                        //recuperamos la lista de catalogos y productos
                        List catalogo = mifichero.getCatalog();
                        int numero = catalogo.size();
                        System.out.println("El numero de catalogos es: " +numero );
                        for (int i = 0; i < numero; i++) {
                                Catalog catalogoconcreto = (Catalog)catalogo.get(i);
                                System.out.println("El catalogo se llama: "+catalogoconcreto.getName());
                                //Para obtener los productos de un catalogo
                                List prod = catalogoconcreto.getProduct();
                                System.out.println();
                                int numero2 = prod.size();
                                System.out.println("El numero de productos que tiene el catalogo es: "
+numero2);
                                for (int j = 0; j < numero2; j++) {
                                        Product p=(Product)prod.get(j);
                                        System.out.println(p.getProductName() +" cuyo precio es:
"+p.getPrice());
                                }//for
                        }//for
                        System.out.println();
                        
                        
                        // ahora añadimos un nuevo catalogo
            CatalogTypeImpl nuevoCatalogo = new CatalogTypeImpl();
            
            // establecemos los elementos
            nuevoCatalogo.setName("Cafes1");
            nuevoCatalogo.setCatalogID("2");
            nuevoCatalogo.setDescription("Cafes");
            //Aqui añadimos productos para el catalogo
            ProductTypeImpl nuevoProducto = new ProductTypeImpl();
            nuevoProducto.setProductID("C349K7");
            nuevoProducto.setProductName("Mo");
            nuevoProducto.setPrice(new BigDecimal("23.3"));
            nuevoProducto.setVendor("Corral S.A.");
            //nuevoProducto.setProperty("");
            // añadimos al catalogo nuevos productos
             
            List prod = new ArrayList();
           
           // catalogo.add(nuevoProducto); Si lo añado al primer catalogo
            catalogo.add(nuevoCatalogo);
            catalogo.add(nuevoProducto); //lo añado al segundo catalogo
            
            // vamos a pintar ahora el arbol XML generado para asegurarnos
que se ha añadido
           Marshaller formateador = jc.createMarshaller();
           formateador.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
Boolean.TRUE);
           formateador.marshal( mifichero, System.out );
            
            // ahora escribimos a un fichero, en el correcto juego de
caracteres
           formateador.setProperty(Marshaller.JAXB_ENCODING, "ISO-8859-1");
           FileOutputStream salida = new FileOutputStream("salida.xml");
           formateador.marshal( mifichero, salida);

                }catch(JAXBException e){
                        System.out.println("Error: "+e.toString());
                }//catch
                catch(Exception el){
                        System.out.println("Error: "+el.toString());
                }//catch
        }//main

        
        
}//Main
-- 
View this message in context: http://www.nabble.com/DefaultValidationEventHandler-tf3782577.html#a10697559
Sent from the java.net - jaxb users mailing list archive at Nabble.com.