import java.io.File; import net.ontopia.topicmaps.core.TopicMapIF; import net.ontopia.topicmaps.core.TopicMapStoreIF; import net.ontopia.topicmaps.core.TopicMapImporterIF; import net.ontopia.topicmaps.xml.XTMTopicMapReader; import net.ontopia.topicmaps.impl.rdbms.RDBMSTopicMapStore; /** * EXAMPLE: A simple command line tool that imports an XTM topic map * document into a relational database. */ public class RdbmsImport { public static void main(String[] argv) throws Exception { // Usage: // // java RdbmsImport <propfile> <xtmfile> // java RdbmsImport /tmp/myprops.xml /tmp/hello.xtm System.err.println("Connecting..."); String propfile = argv[0]; String xtmfile = argv[1]; // Create a new topic map store that will add a new topic map to // the database. Note that we are not using store pooling nor a // shared cache here, because there are no other users. After the // import things might be different and we should consider // enabling both store pooling and shared cache. TopicMapStoreIF store = new RDBMSTopicMapStore(propfile); // Get the new topic map object TopicMapIF tm = store.getTopicMap(); // Import the XTM document into the topic map object TopicMapImporterIF reader = new XTMTopicMapReader(new File(xtmfile)); reader.importInto(tm); System.err.println("Imported (id " + tm.getObjectId() + ")."); // Commit the transaction store.commit(); // Close store (and database connection) store.close(); System.err.println("Done."); } }