public class GraphMLExport extends AbstractExportTool implements WandoraTool
Exports selected topic map in Wandora as GraphML file. See http://graphml.graphdrawing.org/ or http://en.wikipedia.org/wiki/GraphML for more info about GraphML format.
Note that the GraphML file format is rather simple and can't represent all details of Topic Maps. Export converts all topics and occurrences as graph nodes. All associations are exported as graph edges. If association has more than two players, an intermediator node is added to link all players.
Export doesn't convert subject locators, subject identifiers, different variant names, association roles, occurrence scopes etc.
Purpose of the export feature is to enable topic map visualization in GraphML supporting applications such as yEd.
Modifier and Type | Field and Description |
---|---|
static boolean |
EXPORT_CLASSES |
static boolean |
EXPORT_DIRECTED |
static boolean |
EXPORT_N_ASSOCIATIONS |
static boolean |
EXPORT_OCCURRENCES |
boolean |
EXPORT_SELECTION_INSTEAD_TOPIC_MAP |
Constructor and Description |
---|
GraphMLExport() |
GraphMLExport(boolean exportSelection) |
Modifier and Type | Method and Description |
---|---|
void |
configure(Wandora admin,
Options options,
java.lang.String prefix)
If the tool is configurable, shows an user interface to configure the tool.
|
protected void |
echoEdge(java.lang.String source,
java.lang.String target,
java.lang.String label,
java.io.PrintWriter writer) |
protected void |
echoEdge(Topic source,
java.lang.String target,
Topic label,
java.io.PrintWriter writer) |
protected void |
echoEdge(Topic source,
Topic target,
java.lang.String label,
java.io.PrintWriter writer) |
protected void |
echoEdge(Topic source,
Topic target,
Topic label,
java.io.PrintWriter writer) |
protected void |
echoNode(java.lang.String data,
java.io.PrintWriter writer) |
protected void |
echoNode(java.lang.String id,
java.lang.String name,
java.lang.String label,
java.io.PrintWriter writer) |
protected void |
echoNode(Topic t,
java.io.PrintWriter writer) |
void |
execute(Wandora admin,
Context context)
Runs the tool.
|
void |
exportGraphML(java.io.OutputStream out,
TopicMap topicMap,
java.lang.String graphName,
WandoraToolLogger logger) |
java.lang.String |
getDescription()
AdminToolManager views tool descriptions while user browses available
tools and build user customizable GUI elements such as Tools menu.
|
javax.swing.Icon |
getIcon()
All tools may have identifying graphic icon used within tool GUI elements.
|
java.lang.String |
getName()
Tools name represent the tool in UI unless the tool has been given
explicitly another GUI name.
|
boolean |
isConfigurable()
Whether this tool is configurable.
|
protected java.lang.String |
makeID(java.lang.String s) |
protected java.lang.String |
makeID(Topic t) |
protected java.lang.String |
makeString(java.lang.String s) |
protected java.lang.String |
makeString(Topic t) |
protected void |
print(java.io.PrintWriter writer,
java.lang.String str) |
protected void |
println(java.io.PrintWriter writer,
java.lang.String str) |
boolean |
requiresRefresh()
If any visible topic has been changed during tool execution GUI is
automatically refreshed.
|
getType, makeTopicMapWith, makeTopicMapWith
addUndoMarker, addUndoMarker, allowMultipleInvocations, clearAllThreads, clearThreads, clearThreads, clearToolLock, clearToolLock, clearToolLocks, execute, execute, forceStop, forceStop, getContext, getCurrentLogger, getDefaultLogger, getHistory, getLastLogger, getState, getThreads, getThreads, getToolMenuItem, getToolMenuItem, getTopicName, hlog, initialize, interruptAllThreads, interruptThreads, interruptThreads, isRunning, isRunning, lockLog, log, log, log, log, run, runInOwnThread, setContext, setDefaultLogger, setLogTitle, setProgress, setProgressMax, setState, setToolLogger, singleLog, singleLog, singleLog, solveContextTopicMap, solveNameForTopicMap, writeOptions
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
execute, execute, getContext, getToolMenuItem, getType, hlog, initialize, isRunning, log, log, log, log, setContext, setToolLogger, writeOptions
forceStop, getHistory, getState, lockLog, setLogTitle, setProgress, setProgressMax, setState
public boolean EXPORT_SELECTION_INSTEAD_TOPIC_MAP
public static boolean EXPORT_CLASSES
public static boolean EXPORT_OCCURRENCES
public static boolean EXPORT_N_ASSOCIATIONS
public static boolean EXPORT_DIRECTED
public GraphMLExport()
public GraphMLExport(boolean exportSelection)
public javax.swing.Icon getIcon()
AbstractWandoraTool
getIcon
should return Icon
object of
the tool.getIcon
in interface WandoraTool
getIcon
in class AbstractExportTool
public boolean requiresRefresh()
AbstractWandoraTool
If any visible topic has been changed during tool execution GUI is automatically refreshed. If tool doesn't change topics but GUI still requires refresh, tool should override this method and return true.
For example tools that alter the GUI but change no topics should return true.
requiresRefresh
in interface WandoraTool
requiresRefresh
in class AbstractWandoraTool
public boolean isConfigurable()
AbstractWandoraTool
isConfigurable
in interface WandoraTool
isConfigurable
in class AbstractWandoraTool
public void configure(Wandora admin, Options options, java.lang.String prefix) throws TopicMapException
AbstractWandoraTool
configure
in interface WandoraTool
configure
in class AbstractWandoraTool
TopicMapException
public void execute(Wandora admin, Context context)
WandoraTool
execute
in interface WandoraTool
public java.lang.String getName()
AbstractWandoraTool
getName
in interface WandoraTool
getName
in class AbstractWandoraTool
public java.lang.String getDescription()
AbstractWandoraTool
getDescription
in interface WandoraTool
getDescription
in class AbstractWandoraTool
public void exportGraphML(java.io.OutputStream out, TopicMap topicMap, java.lang.String graphName, WandoraToolLogger logger) throws TopicMapException
TopicMapException
protected void echoNode(Topic t, java.io.PrintWriter writer) throws TopicMapException
TopicMapException
protected void echoNode(java.lang.String data, java.io.PrintWriter writer)
protected void echoNode(java.lang.String id, java.lang.String name, java.lang.String label, java.io.PrintWriter writer)
protected void echoEdge(Topic source, Topic target, java.lang.String label, java.io.PrintWriter writer) throws TopicMapException
TopicMapException
protected void echoEdge(java.lang.String source, java.lang.String target, java.lang.String label, java.io.PrintWriter writer)
protected void echoEdge(Topic source, java.lang.String target, Topic label, java.io.PrintWriter writer) throws TopicMapException
TopicMapException
protected void echoEdge(Topic source, Topic target, Topic label, java.io.PrintWriter writer) throws TopicMapException
TopicMapException
protected java.lang.String makeID(Topic t) throws TopicMapException
TopicMapException
protected java.lang.String makeID(java.lang.String s)
protected java.lang.String makeString(java.lang.String s)
protected java.lang.String makeString(Topic t) throws TopicMapException
TopicMapException
protected void print(java.io.PrintWriter writer, java.lang.String str)
protected void println(java.io.PrintWriter writer, java.lang.String str)
Copyright 2004-2015 Wandora Team