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)

Reply via email to