You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Manveen Kaur <ma...@sun.com> on 2001/12/15 21:03:00 UTC

[PATCH] jakarta-tomcat-4.0/webapps/admin

Hi,

Please commit my patch to the HEAD branch.
(jakarta-tomcat-4.0/webapps/admin)

Thanks,
-Manveen

=================

comments:

In the webadmin navigation tree display, the label for the root node was
hardcoded to "Root  Node". I've made the label to be displayed for the
root node configurable as an init-param  in web.xml.  If this init-param
is absent, then the root node does not get rendered (the rest of the
tree does ofcourse!).
----------------


Index: WEB-INF/web.xml
===================================================================
RCS file:
/home/cvspublic/jakarta-tomcat-4.0/webapps/admin/WEB-INF/web.xml,v
retrieving revision 1.6
diff -u -r1.6 web.xml
--- WEB-INF/web.xml 2001/11/27 02:46:28 1.6
+++ WEB-INF/web.xml 2001/12/15 19:39:52
@@ -42,6 +42,11 @@
       <param-name>validate</param-name>
       <param-value>true</param-value>
     </init-param>
+    <!-- Label to be displayed for rootnode. If absent, rootnode is not
rendered -->
+    <init-param>
+      <param-name>rootnodename</param-name>
+      <param-value>Tomcat Root</param-value>
+    </init-param>
     <init-param>
       <param-name>treebuilders</param-name>

<param-value>org.apache.webapp.admin.TomcatTreeBuilder</param-value>
cvs server: Diffing WEB-INF/classes
cvs server: Diffing WEB-INF/classes/org
cvs server: Diffing WEB-INF/classes/org/apache
cvs server: Diffing WEB-INF/classes/org/apache/webapp
cvs server: Diffing WEB-INF/classes/org/apache/webapp/admin
Index: WEB-INF/classes/org/apache/webapp/admin/SetUpTreeAction.java
===================================================================
RCS file:

/home/cvspublic/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/Set

UpTreeAction.java,v
retrieving revision 1.2
diff -u -r1.2 SetUpTreeAction.java
--- WEB-INF/classes/org/apache/webapp/admin/SetUpTreeAction.java
2001/11/27 02:46:28

1.2
+++ WEB-INF/classes/org/apache/webapp/admin/SetUpTreeAction.java
2001/12/15 19:39:59
@@ -85,6 +85,7 @@
  * for tree widget
  *
  * @author Jazmin Jonson
+ * @author Manveen Kaur
  * @version $Revision: 1.2 $ $Date: 2001/11/27 02:46:28 $
  */

@@ -92,6 +93,7 @@

     public static final int INIT_PLUGIN_MAX = 10;
     public static final String TREEBUILDER_KEY = "treebuilders";
+    public static final String ROOTNODENAME_KEY = "rootnodename";

     // --------------------------------------------------------- Public
Methods

@@ -116,21 +118,30 @@
                                  HttpServletResponse response)
         throws IOException, ServletException {

-        // Make the root node and tree control
-
-        TreeControlNode root =
-            new TreeControlNode("ROOT-NODE",
-                                null, "Root Node",
-                                "treeControlTest.do?select=ROOT-NODE",
-                                null, true);
-        TreeControl control = new TreeControl(root);
         ApplicationServlet servlet = (ApplicationServlet)getServlet();

         // Getting init parms from web.xml

+        // Get the string to be displayed as root node while rendering
the tree
+        String rootnodeName =
+
(String)servlet.getServletConfig().getInitParameter(ROOTNODENAME_KEY);
+
         String treeBuildersStr  =

(String)servlet.getServletConfig().getInitParameter(TREEBUILDER_KEY);
-
+
+        // Make the root node and tree control
+
+        // The root node gets rendered only if its value
+        // is set as an init-param in web.xml
+
+        TreeControlNode root =
+            new TreeControlNode("ROOT-NODE",
+                                null, rootnodeName,
+                                "treeControlTest.do?select=ROOT-NODE",
+                                null, true);
+
+        TreeControl control = new TreeControl(root);
+
         if(treeBuildersStr != null) {
             Class treeBuilderImpl;
             TreeBuilder treeBuilderBase;
Index: WEB-INF/classes/org/apache/webapp/admin/TreeControlTag.java
===================================================================
RCS file:

/home/cvspublic/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/Tre

eControlTag.java,v
retrieving revision 1.4
diff -u -r1.4 TreeControlTag.java
--- WEB-INF/classes/org/apache/webapp/admin/TreeControlTag.java
2001/11/27 02:46:28 1.4
+++ WEB-INF/classes/org/apache/webapp/admin/TreeControlTag.java
2001/12/15 19:40:04
@@ -350,7 +350,22 @@

         HttpServletResponse response =
             (HttpServletResponse) pageContext.getResponse();
-
+
+        // if the node is root node and the label value is
+        // null, then do not render root node in the tree.
+
+        if ("ROOT-NODE".equalsIgnoreCase(node.getName()) &&
+        (node.getLabel() == null)) {
+            // Render the children of this node
+            TreeControlNode children[] = node.findChildren();
+            int lastIndex = children.length - 1;
+            int newLevel = level + 1;
+            for (int i = 0; i < children.length; i++) {
+                render(out, children[i], newLevel, width, i ==
lastIndex);
+            }
+            return;
+        }
+
         // Render the beginning of this node
         out.println("  <tr valign=\"middle\">");




--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>