Duvida no uso Digester ..iniciante ....java.lang.NullPointerException

0 respostas
P

peguei um exemplo da internet para uso Digester pois estou querendo ler o
arquivo xml persistence.xml

qdo vai executar a linha Persiste c = (Persiste)digester.parse( input );
da o erro abaixo …

e não sei aonde estou errando …se alguem puder me ajudar agradeceria …

abs

Caminho File = /C:/workspace/TesteJPA/build/classes/META-INF/persistence.xml
java.lang.NullPointerException
	at xml.PersisDriver.main(PersisDriver.java:48)
public class PersisDriver {

   public static void main( String[] args ) {

      try {
    	  
    	  
    	  
         Digester digester = new Digester();
         digester.setValidating( false );

         digester.addObjectCreate( "persistence-unit", Persiste.class );

         digester.addObjectCreate( "persistence-unit/description", Description.class );
         digester.addBeanPropertySetter( "persistence-unit/description", "name" );
         
         digester.addSetNext( "persistence-unit/description/description", "addDescription" );

         digester.addObjectCreate( "persistence-unit/provider", Provider.class );
         digester.addBeanPropertySetter( "persistence-unit/provider/provider", "name" );
         
         digester.addSetNext( "persistence-unit/description", "addProvider" );
         
         URL myurl = Manager.class.getResource("/META-INF/persistence.xml");
         System.out.println("Caminho File = "+myurl.getFile());
         File input = new File(myurl.getFile());

         
         Persiste c = (Persiste)digester.parse( input );

         System.out.println( c.toString() );

      } catch( Exception exc ) {
         exc.printStackTrace();
      }
   }
}
import java.util.Vector;

public class Persiste {
     private String name ;

	
	private Vector descriptions;
	private Vector providers;
	
	 public Persiste() {
		 descriptions = new Vector();
	     providers = new Vector();
    }
	 
    public void addDescription( Description ds ) {
    	descriptions.addElement( ds );
	}
    
    public void addProvider( Provider ps ) {
    	providers.addElement( ps );
	}
   
    public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String toString() {
        String newline = System.getProperty( "line.separator" );
        StringBuffer buf = new StringBuffer();

        buf.append( "--- Descriptions ---" ).append( newline );
        for( int i=0; i<descriptions.size(); i++ ){
           buf.append( descriptions.elementAt(i) ).append( newline );
        }

        buf.append( "--- Providers ---" ).append( newline );
        for( int i=0; i><providers.size(); i++ ){
           buf.append( providers.elementAt(i) ).append( newline );
        }

        return buf.toString();
     }
    
}
-------------

public class Description {

	
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	
}
----
public class Provider {

	
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	
}

–xml

><!-- ?xml version="1.0" encoding="UTF-8"?-->
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
	<persistence-unit name="JPA9">
                <description>
                        Exemplo simples de persistência usando JPA. 
                </description>
                <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <class>br.com.exemplojpa.modelo.Usuario</class>
    <class>br.com.exemplojpa.modelo.Usuario1</class>   
    <class>br.com.exemplojpa.modelo.NotaFiscal</class>
    <class>br.com.exemplojpa.modelo.NotaFiscalItem</class>      
    <class>br.com.exemplojpa.modelo.Universidade</class>
    <class>br.com.exemplojpa.modelo.Centro</class>   
    <class>br.com.exemplojpa.modelo.Turma</class>
    <class>br.com.exemplojpa.modelo.Aluno</class>   
    <class>br.com.exemplojpa.modelo.Cliente</class>
    <class>br.com.exemplojpa.modelo.Estados</class>
    <class>br.com.exemplojpa.modelo.Cidades</class>                    
                <properties>
                        <property name="hibernate.archive.autodetetion" value="class"/>
                        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
                        <property name="hibernate.connection.driver_class"  value="com.mysql.jdbc.Driver" />
                        <property name="hibernate.connection.username" value="root" />
                        <property name="hibernate.connection.password" value="root" />
                        <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/exemplojpa" />
                        <property name="hibernate.show_sql" value="true" />  
                        <property name="hibernate.hbm2ddl.auto" value="update" />  
                           
                        <property name="hibernate.format_sql" value="true" />   
                                       
                </properties>
        </persistence-unit>
Criado 3 de fevereiro de 2009
Respostas 0
Participantes 1