Author: rjung
Date: Tue Mar  3 02:09:27 2009
New Revision: 749506

URL: http://svn.apache.org/viewvc?rev=749506&view=rev
Log:
In status worker, when doing Show - Edit - Show
you always end up with a single lb member show,
even when started from an all members lb show.
Like we use "from" to save the previous cmd,
we now also use "psw" to save and restore the
previously used sub worker.

Modified:
    tomcat/connectors/trunk/jk/native/common/jk_status.c
    tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml

Modified: tomcat/connectors/trunk/jk/native/common/jk_status.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_status.c?rev=749506&r1=749505&r2=749506&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_status.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_status.c Tue Mar  3 02:09:27 
2009
@@ -60,6 +60,7 @@
 #define JK_STATUS_ARG_REFRESH              "re"
 #define JK_STATUS_ARG_WORKER               "w"
 #define JK_STATUS_ARG_SUB_WORKER           "sw"
+#define JK_STATUS_ARG_PREV_SUB_WORKER      "psw"
 #define JK_STATUS_ARG_ATTRIBUTE            "att"
 #define JK_STATUS_ARG_MULT_VALUE_BASE      "val"
 #define JK_STATUS_ARG_OPTIONS              "opt"
@@ -1036,6 +1037,8 @@
     int sz;
     int started = 0;
     int from;
+    int restore_sub_worker = JK_FALSE;
+    int save_sub_worker = JK_FALSE;
     int prev;
     unsigned int opt = 0;
     const char *arg;
@@ -1048,11 +1051,15 @@
     from = status_cmd_int(arg);
     status_get_string(p, JK_STATUS_ARG_CMD, NULL, &arg, l);
     prev = status_cmd_int(arg);
+    if (cmd == JK_STATUS_CMD_SHOW && prev == JK_STATUS_CMD_EDIT) {
+        restore_sub_worker = JK_TRUE;
+    }
     if (cmd == JK_STATUS_CMD_UNKNOWN) {
         if (prev == JK_STATUS_CMD_UPDATE ||
             prev == JK_STATUS_CMD_RESET ||
             prev == JK_STATUS_CMD_RECOVER) {
             cmd = from;
+            restore_sub_worker = JK_TRUE;
         }
     }
     if (cmd != JK_STATUS_CMD_UNKNOWN) {
@@ -1063,6 +1070,7 @@
             cmd == JK_STATUS_CMD_RECOVER) {
             jk_printf(s, "%s%s=%s", "&",
                       JK_STATUS_ARG_FROM, status_cmd_text(prev));
+            save_sub_worker = JK_TRUE;
         }
         started=1;
     }
@@ -1103,7 +1111,24 @@
         if (!strcmp(k, JK_STATUS_ARG_WORKER) && worker) {
             continue;
         }
-        if (!strcmp(k, JK_STATUS_ARG_SUB_WORKER) && (sub_worker || cmd == 
JK_STATUS_CMD_LIST)) {
+        if (!strcmp(k, JK_STATUS_ARG_SUB_WORKER)) {
+            if (save_sub_worker == JK_TRUE) {
+                jk_printf(s, "%s%s=%s", started ? "&" : "?",
+                          JK_STATUS_ARG_PREV_SUB_WORKER, v);
+                started=1;
+                continue;
+            }
+            else if (sub_worker || cmd == JK_STATUS_CMD_LIST) {
+                continue;
+            }
+            else if (restore_sub_worker == JK_TRUE) {
+                continue;
+            }
+        }
+        if (!strcmp(k, JK_STATUS_ARG_PREV_SUB_WORKER) && restore_sub_worker == 
JK_TRUE && cmd != JK_STATUS_CMD_LIST) {
+            jk_printf(s, "%s%s=%s", started ? "&" : "?",
+                      JK_STATUS_ARG_SUB_WORKER, v);
+            started=1;
             continue;
         }
         if (!strcmp(k, JK_STATUS_ARG_ATTRIBUTE) && attribute) {

Modified: tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml?rev=749506&r1=749505&r2=749506&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml (original)
+++ tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml Tue Mar  3 
02:09:27 2009
@@ -44,6 +44,10 @@
   <subsection name="Native">
     <changelog>
       <fix>
+        Status: Show - Edit - Show always ends in single lb member show,
+        even when started from all members lb show.
+      </fix>
+      <fix>
         Status: Wildcards in sub worker names were broken for update actions. 
(rjung)
       </fix>
       <update>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to