/** * * 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 java.util.Enumeration; import org.xml.sax.ContentHandler; import org.exolab.castor.jdo.JDO; import org.exolab.castor.jdo.Database; import org.exolab.castor.util.*; import org.exolab.castor.xml.*; import org.exolab.castor.mapping.Mapping; import org.apache.xml.serialize.*; import rim.*; public class SubmitObjects { // database configuration file public static final String DatabaseFile = "database.xml"; // mapping file public static final String MappingFile = "mapping.xml"; private Mapping _mapping; private JDO _jdo; private SubmitObjectsRequest _submitObjectsRequest; private RegistryEntryList _registryEntryList; private RegistryEntryListItem _registryEntryListItem; private Enumeration enumerate; public void Prepenv( PrintWriter writer ) throws Exception { // Load the mapping file _mapping = new Mapping( getClass().getClassLoader() ); _mapping.setLogWriter( writer ); _mapping.loadMapping( getClass().getResource( MappingFile ) ); _jdo = new JDO(); _jdo.setLogWriter( writer ); _jdo.setConfiguration( getClass().getResource( DatabaseFile ).toString() ); _jdo.setDatabaseName( "ebdb" ); } public void run( PrintWriter writer ) throws Exception { System.out.println("Unmarshalling SubmitObjectsRequest"); _submitObjectsRequest = SubmitObjectsRequest.unmarshal(new FileReader("SubmitObjectsRequest.xml")); _registryEntryList = _submitObjectsRequest.getRegistryEntryList(); Database db = _jdo.getDatabase(); db.begin(); enumerate = _registryEntryList.enumerateRegistryEntryListItem(); while (enumerate.hasMoreElements()) { _registryEntryListItem = (RegistryEntryListItem)enumerate.nextElement(); if (_registryEntryListItem.getAssociation() != null) db.create(_registryEntryListItem.getAssociation()); if (_registryEntryListItem.getClassification() != null) db.create(_registryEntryListItem.getClassification()); if (_registryEntryListItem.getClassificationNode() != null) db.create(_registryEntryListItem.getClassificationNode()); if (_registryEntryListItem.getPackage() != null) db.create(_registryEntryListItem.getPackage()); if (_registryEntryListItem.getExternalLink() != null) db.create(_registryEntryListItem.getExternalLink()); if (_registryEntryListItem.getExternalIdentifier() != null) db.create(_registryEntryListItem.getExternalIdentifier()); if (_registryEntryListItem.getOrganization() != null) db.create(_registryEntryListItem.getOrganization()); if (_registryEntryListItem.getExtrinsicObject() != null) db.create(_registryEntryListItem.getExtrinsicObject()); } db.commit(); db.close(); } public static void main( String[] args ) { PrintWriter writer; SubmitObjects _submitObjects = new SubmitObjects(); writer = new Logger( System.out ).setPrefix( "SubmitObjects" ); try { _submitObjects.Prepenv( writer ); _submitObjects.run( writer ); } catch ( Exception except ) { writer.println( except ); except.printStackTrace( writer ); } } }