Package net.ontopia.topicmaps.nav2.utils
Class DynamicTreeWidget
java.lang.Object
net.ontopia.topicmaps.nav2.utils.DynamicTreeWidget
EXPERIMENTAL: This class can output a nice collapsing/expanding
tree view of a topic map implemented with DHTML, which uses tolog
queries to produce the tree. The class is configurable in various
ways, and can also be subclassed to further fine-tune the
rendering.
- Since:
- 3.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final intprotected static final intprotected NavigatorPageIFprotected static final intprotected Stringprotected Stringprotected static final intprotected Stringprotected QueryProcessorIFprotected Stringprotected static final intprotected int -
Constructor Summary
ConstructorsConstructorDescriptionPUBLIC: Sets up the widget ready for use.DynamicTreeWidget(TopicMapIF topicmap, String tablequery, String ownpage, String nodepage) PUBLIC: Sets up the widget ready for use. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidPUBLIC: Called after the tree has been rendered.protected StringescapeName(String name) protected Stringprotected StringgetQualifiedId(String id) protected TopicIFprotected voidinitializeContext(javax.servlet.http.HttpServletRequest request) protected Stringprotected StringmakeNodeUrl(TopicTreeNode node) PUBLIC: Produces the URL to the given node.protected voidrenderBackButton(Writer out, int topline) PUBLIC: Renders the back button at the top/bottom of the form.protected voidrenderCloseAllButton(Writer out, int topline) PUBLIC: Renders the close all button at the top/bottom of the form.protected voidrenderExpandAllButton(Writer out, int topline) PUBLIC: Renders the expand all button at the top/bottom of the form.protected voidrenderForwardButton(Writer out, int topline) PUBLIC: Renders the close all button at the top/bottom of the form.protected voidrenderNode(TopicTreeNode node, Writer out) PUBLIC: This method renders the tree node, including its link, but not the button in front of the node.protected voidrenderNodeButton(int topline, int level, int action, String id, Writer out) PUBLIC: Renders the +/- button in front of the node.voidPUBLIC: Runs the widget, producing the output.voidPUBLIC: Runs the widget, producing the output.voidsetChildrenComparator(Comparator childrenComparator) voidsetDebug(boolean debug) INTERNAL: Debug flag.voidsetDependentWidgets(String[] widget_names) PUBLIC: The name of the session key in which the set of open nodes is stored.voidsetImageUrl(String imageurl) PUBLIC: The URL at which the graphics used by the widget are found.voidsetNodeFrame(String nodeFrame) PUBLIC: The name of the HTML frame in which to open links to nodes.voidsetNodePageUrl(String nodePageUrl) PUBLIC: The URL of of the page that shows the nodes.voidsetOwnPageUrl(String ownPageUrl) PUBLIC: The URL of the page the widget is on.voidsetTableQuery(String tablequery) EXPERIMENTAL: The name of the HTML frame in which to open links to nodes.voidsetTableQueryString(String tablequery) PUBLIC: Sets the tolog query that generates the entire tree.voidsetTopicMap(TopicMapIF topicmap) PUBLIC: Sets the topic map used by the widget.voidsetTopQuery(String topquery) voidsetWidgetName(String name) PUBLIC: The name of the session key in which the set of open nodes is stored.voidsetWindowSize(int windowSize) PUBLIC: Sets the maximum number of nodes displayed by the widget at once.protected voidstartRender(Writer out) PUBLIC: Called before rendering of the tree begins.
-
Field Details
-
OPEN
protected static final int OPEN- See Also:
-
CLOSE
protected static final int CLOSE- See Also:
-
EXPAND_ALL
protected static final int EXPAND_ALL- See Also:
-
CLOSE_ALL
protected static final int CLOSE_ALL- See Also:
-
WINDOW_SIZE
protected static final int WINDOW_SIZE- See Also:
-
processor
-
nodepage
-
staticurl
-
imageurl
-
windowSize
protected int windowSize -
context
-
ownpage
-
-
Constructor Details
-
DynamicTreeWidget
public DynamicTreeWidget(TopicMapIF topicmap, String tablequery, String ownpage, String nodepage) throws InvalidQueryException PUBLIC: Sets up the widget ready for use.- Parameters:
topicmap- The topic map being displayed.tablequery- A tolog query that generates the entire tree. The query must have at least two columns, where the first column contains all the parent nodes and the second column contains the children of those parents. Any further columns will be used to populate the data attribute of the tree nodes.ownpage- The URL of the page the widget is on. The widget will append request parameters in the form "a=b&c=d&e=f..."nodepage- The URL of of the page that shows the nodes.- Throws:
InvalidQueryException
-
DynamicTreeWidget
public DynamicTreeWidget()PUBLIC: Sets up the widget ready for use.
-
-
Method Details
-
setTopicMap
PUBLIC: Sets the topic map used by the widget. -
setTableQueryString
PUBLIC: Sets the tolog query that generates the entire tree. The query must have at least two columns, where the first column contains all the parent nodes and the second column contains the children of those parents. Any further columns will be used to populate the data attribute of the tree nodes. -
setOwnPageUrl
PUBLIC: The URL of the page the widget is on. The widget will append request parameters in the form "a=b&c=d&e=f..." -
setNodePageUrl
PUBLIC: The URL of of the page that shows the nodes. -
setDebug
public void setDebug(boolean debug) INTERNAL: Debug flag. Used only for debugging purposes. -
setWidgetName
PUBLIC: The name of the session key in which the set of open nodes is stored. Using the same session key for different widgets will make them share open/closed information. -
setDependentWidgets
PUBLIC: The name of the session key in which the set of open nodes is stored. Using the same session key for different widgets will make them share open/closed information. -
escapeName
-
setImageUrl
PUBLIC: The URL at which the graphics used by the widget are found. The widget will produce HTML like <img src="[imageurl]spacer.gif"> to refer to the graphics. -
setWindowSize
public void setWindowSize(int windowSize) PUBLIC: Sets the maximum number of nodes displayed by the widget at once. If the number of nodes to display exceeds the maximum the widget will break the display into multiple "pages". -
setNodeFrame
PUBLIC: The name of the HTML frame in which to open links to nodes. -
run
public void run(javax.servlet.jsp.PageContext ctxt, Writer writer) throws IOException, InvalidQueryException, NavigatorRuntimeException PUBLIC: Runs the widget, producing the output. -
setTableQuery
EXPERIMENTAL: The name of the HTML frame in which to open links to nodes.- Since:
- 2.0.3
-
setChildrenComparator
-
setTopQuery
-
run
public void run(javax.servlet.http.HttpServletRequest request, Writer writer) throws IOException, InvalidQueryException, NavigatorRuntimeException PUBLIC: Runs the widget, producing the output.- Throws:
IOExceptionInvalidQueryExceptionNavigatorRuntimeException- Since:
- 2.2.1
-
initializeContext
protected void initializeContext(javax.servlet.http.HttpServletRequest request) -
getTopic
-
getId
-
getQualifiedId
-
list
-
toString
-
renderNode
PUBLIC: This method renders the tree node, including its link, but not the button in front of the node. Intended to be overridden by applications wanting to control rendering of nodes in detail.- Throws:
IOException
-
renderNodeButton
protected void renderNodeButton(int topline, int level, int action, String id, Writer out) throws IOException PUBLIC: Renders the +/- button in front of the node. Intended to be overridden.- Throws:
IOException
-
renderBackButton
PUBLIC: Renders the back button at the top/bottom of the form.- Throws:
IOException
-
renderExpandAllButton
PUBLIC: Renders the expand all button at the top/bottom of the form.- Throws:
IOException
-
renderCloseAllButton
PUBLIC: Renders the close all button at the top/bottom of the form.- Throws:
IOException
-
renderForwardButton
PUBLIC: Renders the close all button at the top/bottom of the form.- Throws:
IOException
-
startRender
PUBLIC: Called before rendering of the tree begins.- Throws:
IOException
-
endRender
PUBLIC: Called after the tree has been rendered.- Throws:
IOException
-
makeNodeUrl
PUBLIC: Produces the URL to the given node.
-