Author: dolander Date: Sat Jan 29 21:06:29 2005 New Revision: 149103 URL: http://svn.apache.org/viewcvs?view=rev&rev=149103 Log: Add the InheritableState to the ITreeRootElement so that the tree command handler can access it. This fixes part of the problem with cascading the inheritable state properly.
Modified: incubator/beehive/trunk/netui/src/javascript/tagshtml/netui-tree.js incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/ITreeRootElement.java incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeCRI.java incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeElement.java incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeRenderer.java incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeRootElement.java Modified: incubator/beehive/trunk/netui/src/javascript/tagshtml/netui-tree.js Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/javascript/tagshtml/netui-tree.js?view=diff&rev=149103&p1=incubator/beehive/trunk/netui/src/javascript/tagshtml/netui-tree.js&r1=149102&p2=incubator/beehive/trunk/netui/src/javascript/tagshtml/netui-tree.js&r2=149103 ============================================================================== --- incubator/beehive/trunk/netui/src/javascript/tagshtml/netui-tree.js (original) +++ incubator/beehive/trunk/netui/src/javascript/tagshtml/netui-tree.js Sat Jan 29 21:06:29 2005 @@ -200,7 +200,12 @@ var treeName = netUI.netUITree.getTreeName(this); var nodeName = this.getAttribute("netui-tree-id"); var expandOnServer = this.getAttribute("netui:expandOnServer"); - var url = netUI.netUITree.getTreeCommandUrl("treeExpand",treeName,nodeName,expandOnServer); + var expandPath = this.getAttribute("netui:expandPath"); + var cmd = "treeExpand"; + if (expandPath != null) { + cmd = expandPath + "/" + cmd; + } + var url = netUI.netUITree.getTreeCommandUrl(cmd,treeName,nodeName,expandOnServer); netUI.raiseCommand(url,NetUITreeXmlHttpRequestReturn); // find the image child so we can change the image Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/ITreeRootElement.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/ITreeRootElement.java?view=diff&rev=149103&p1=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/ITreeRootElement.java&r1=149102&p2=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/ITreeRootElement.java&r2=149103 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/ITreeRootElement.java (original) +++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/ITreeRootElement.java Sat Jan 29 21:06:29 2005 @@ -44,4 +44,8 @@ * @param trs */ void setTreeRenderState(TreeRenderState trs); + + InheritableState getInheritableState(); + + void setInheritableState(InheritableState state); } Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java?view=diff&rev=149103&p1=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java&r1=149102&p2=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java&r2=149103 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java (original) +++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java Sat Jan 29 21:06:29 2005 @@ -669,6 +669,7 @@ assert(treeRoot instanceof ITreeRootElement); ITreeRootElement tre = (ITreeRootElement) treeRoot; tre.setTreeRenderState(_trs); + tre.setInheritableState(_iState); } // create a containing tree level <div> and place the tree level styles on it. Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeCRI.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeCRI.java?view=diff&rev=149103&p1=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeCRI.java&r1=149102&p2=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeCRI.java&r2=149103 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeCRI.java (original) +++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeCRI.java Sat Jan 29 21:06:29 2005 @@ -18,6 +18,8 @@ package org.apache.beehive.netui.tags.tree; import org.apache.beehive.netui.pageflow.requeststate.*; +import org.apache.beehive.netui.pageflow.PageFlowController; +import org.apache.beehive.netui.pageflow.PageFlowUtils; import org.apache.beehive.netui.tags.rendering.AbstractRenderAppender; import org.apache.beehive.netui.tags.rendering.StringBuilderRenderAppender; import org.apache.beehive.netui.tags.TagConfig; @@ -56,10 +58,12 @@ // catch any runtime errors here and return. try { - cmd = cmd.substring(ctxtPath.length() + 1); - int idx = cmd.lastIndexOf('.'); - if (idx != -1) { - cmd = cmd.substring(0, idx); + System.err.println("cmd:" + cmd); + int dot = cmd.lastIndexOf('.'); + int slash = cmd.lastIndexOf('/'); + if (slash != -1 && slash != -1) { + cmd = cmd.substring(slash+1,dot); + System.err.println("cmd:" + cmd); } } catch (RuntimeException e) { @@ -117,16 +121,15 @@ // add a tree identifier writeElement(writer, "node",node); - InheritableState iState = new InheritableState(); - iState.initalizeTreeState(); - iState.setImageRoot(req.getContextPath() + "/" + - TagConfig.getTreeImageLocation()); - try { TreeElement children[] = elem.getChildren(); AttributeRenderer extraAttrs = new AttributeRenderer(); int newLevel = elem.getLevel() + 1; StringBuilder treeRendering = new StringBuilder(); + InheritableState iState = root.getInheritableState(); + //PageFlowController pageFlow = PageFlowUtils.getCurrentPageFlow(req); + //ServletContext sCtxt = pageFlow.getServletContext(); + ServletTreeRenderer str = new ServletTreeRenderer(root.getTreeRenderState(),iState,req, (HttpServletResponse) response,ctxt,writer,treeRendering); for (int i = 0; i < children.length; i++) { Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeElement.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeElement.java?view=diff&rev=149103&p1=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeElement.java&r1=149102&p2=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeElement.java&r2=149103 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeElement.java (original) +++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeElement.java Sat Jan 29 21:06:29 2005 @@ -44,6 +44,7 @@ public static final String TREE_ANCHOR = "netui-tree-anchor"; public static final String TREE_ANCHOR_ID = "netui-tree-id"; public static final String TREE_EXPAND = "netui:expandOnServer"; + public static final String TREE_EXPAND_PATH = "netui:expandPath"; public static final String TREE_EXPAND_STATE = "expand"; public static final String TREE_COLLAPSE_STATE = "collapse"; Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeRenderer.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeRenderer.java?view=diff&rev=149103&p1=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeRenderer.java&r1=149102&p2=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeRenderer.java&r2=149103 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeRenderer.java (original) +++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeRenderer.java Sat Jan 29 21:06:29 2005 @@ -19,6 +19,7 @@ import org.apache.beehive.netui.core.URLCodec; import org.apache.beehive.netui.pageflow.PageFlowUtils; +import org.apache.beehive.netui.pageflow.PageFlowController; import org.apache.beehive.netui.pageflow.internal.AdapterManager; import org.apache.beehive.netui.pageflow.internal.InternalUtils; import org.apache.beehive.netui.pageflow.scoping.ScopedServletUtils; @@ -489,7 +490,13 @@ (expanded ? TreeElement.TREE_EXPAND_STATE : TreeElement.TREE_COLLAPSE_STATE)); _anchorState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, TreeElement.TREE_ANCHOR_ID, encodedNodeName); if (node.isExpandOnServer() && !node.isExpanded()) { + String path = _req.getServletPath(); + int idx = path.lastIndexOf('/'); + if (idx != -1) { + path = path.substring(1,idx); + } _anchorState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, TreeElement.TREE_EXPAND, "true"); + _anchorState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, TreeElement.TREE_EXPAND_PATH, path); } sb.append(" "); Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeRootElement.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeRootElement.java?view=diff&rev=149103&p1=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeRootElement.java&r1=149102&p2=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeRootElement.java&r2=149103 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeRootElement.java (original) +++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/TreeRootElement.java Sat Jan 29 21:06:29 2005 @@ -26,6 +26,7 @@ { private TreeElement _selectedNode; private TreeRenderState _trs; + private InheritableState _state; private String _name = null; private static final Logger logger = Logger.getInstance(TreeRootElement.class); @@ -79,9 +80,19 @@ public TreeRenderState getTreeRenderState() { return _trs; } - + public void setTreeRenderState(TreeRenderState trs) { _trs = trs; + } + + public InheritableState getInheritableState() + { + return _state; + } + + public void setInheritableState(InheritableState state) + { + _state = state; } public void setObjectName(String name)
