import java.util.Iterator; import net.ontopia.topicmaps.core.TopicMapIF; import net.ontopia.topicmaps.core.TopicMapStoreIF; import net.ontopia.topicmaps.entry.TopicMapReferenceIF; import net.ontopia.topicmaps.impl.rdbms.RDBMSTopicMapSource; /** * EXAMPLE: A simple command line tool that lists the topic maps that * are stored in a relational database. */ public class RdbmsList { public static void main(String[] argv) throws Exception { // Usage: // // java RdbmsList <propfile> // java RdbmsList /tmp/myprops.xml System.err.println("Connecting..."); String propfile = argv[0]; // create a source which can enumerate the topic maps RDBMSTopicMapSource source = new RDBMSTopicMapSource(); source.setPropertyFile(propfile); Iterator tms = source.getReferences().iterator(); while (tms.hasNext()) { TopicMapReferenceIF ref = null; TopicMapStoreIF store = null; try { ref = (TopicMapReferenceIF) tms.next(); store = ref.createStore(true); TopicMapIF tm = store.getTopicMap(); System.err.println("Topic Map ID: " + tm.getObjectId()); System.err.println(" Topics: " + tm.getTopics().size()); System.err.println(" Associations: " + tm.getAssociations().size()); store.close(); } finally { if (store != null) store.close(); if (ref != null) ref.close(); } } System.err.println("Done."); } }