/** * * Copyright (c) 2001 ebXMLsoft Inc. All rights reserved. * */ import javax.sql.*; import java.util.*; import java.io.*; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.DriverManager; import org.xml.sax.ContentHandler; import org.exolab.castor.jdo.*; import org.exolab.castor.util.*; import org.exolab.castor.xml.*; import org.exolab.castor.mapping.Mapping; import org.apache.xml.serialize.*; import mortgage.*; public class Mortgage_marshal { // database configuration file public static final String DatabaseFile = "database.xml"; // mapping file public static final String MappingFile = "marshalmap.xml"; private Mapping _mapping; private JDO _jdo; private Mortgage _mortgage; public void Prepenv( PrintWriter writer ) throws Exception { _jdo = new JDO(); _jdo.setLogWriter( writer ); _jdo.setConfiguration( getClass().getResource( DatabaseFile ).toString() ); _jdo.setDatabaseName( "ebdb" ); } public void run( PrintWriter writer ) throws Exception { Database db; QueryResults results; db = _jdo.getDatabase(); // Marshalling Serializer ser; Marshaller marshal; ContentHandler handler; OQLQuery mortgageOql; boolean asDocument = true; // Load the mapping file _mapping = new Mapping( getClass().getClassLoader() ); _mapping.setLogWriter( writer ); _mapping.loadMapping( getClass().getResource( MappingFile ) ); FileWriter writer1 = new FileWriter("output.xml"); ser = new XMLSerializer( new OutputFormat( "Method.XML", null, true ) ); ser.setOutputCharStream( writer1 ); handler = ser.asContentHandler(); marshal = new Marshaller( ser.asDocumentHandler() ); marshal.setMapping( _mapping ); db.begin(); mortgageOql = db.getOQLQuery( "SELECT p FROM mortgage.Mortgage p" ); results = mortgageOql.execute(); while( results.hasMore() ) marshal.marshal( results.next() ); db.commit(); db.close(); } public static void main( String[] args ) { PrintWriter writer; Mortgage_marshal mortgage_marshal = new Mortgage_marshal(); writer = new Logger( System.out ).setPrefix( "mortgage_marshal" ); try { mortgage_marshal.Prepenv( writer ); mortgage_marshal.run( writer ); } catch ( Exception except ) { writer.println( except ); except.printStackTrace( writer ); } } }