You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2003/09/04 19:59:39 UTC

cvs commit: jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager StatusTransformer.java

remm        2003/09/04 10:59:39

  Modified:    webapps/manager xform.xsl
               webapps/manager/WEB-INF/classes/org/apache/catalina/manager
                        StatusTransformer.java
  Log:
  - Implement the XML processor state.
  
  Revision  Changes    Path
  1.3       +7 -7      jakarta-tomcat-catalina/webapps/manager/xform.xsl
  
  Index: xform.xsl
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/manager/xform.xsl,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- xform.xsl	25 Mar 2003 15:40:26 -0000	1.2
  +++ xform.xsl	4 Sep 2003 17:59:39 -0000	1.3
  @@ -83,13 +83,13 @@
   
     <xsl:template match="worker">
      <tr>
  -    <td><xsl:apply-templates select="stage"/></td>
  -    <td><xsl:apply-templates select="requestProcessingTime"/></td>
  -    <td><xsl:apply-templates select="requestBytesSent"/></td>
  -    <td><xsl:apply-templates select="requestBytesReceived"/></td>
  -    <td><xsl:apply-templates select="remoteAddr"/></td>
  -    <td><xsl:apply-templates select="virtualHost"/></td>
  -    <td><xsl:apply-templates select="method"/> <xsl:apply-templates select="currentUri"/>?<xsl:apply-templates select="currentQueryString"/></td>
  +    <td><xsl:value-of select="@stage"/></td>
  +    <td><xsl:value-of select="@requestProcessingTime"/></td>
  +    <td><xsl:value-of select="@requestBytesSent"/></td>
  +    <td><xsl:value-of select="@requestBytesReceived"/></td>
  +    <td><xsl:value-of select="@remoteAddr"/></td>
  +    <td><xsl:value-of select="@virtualHost"/></td>
  +    <td><xsl:value-of select="@method"/> <xsl:value-of select="@currentUri"/>?<xsl:value-of select="@currentQueryString"/> <xsl:value-of select="@protocol"/></td>
      </tr>
     </xsl:template>
   
  
  
  
  1.2       +118 -52   jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusTransformer.java
  
  Index: StatusTransformer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusTransformer.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StatusTransformer.java	4 Sep 2003 14:22:18 -0000	1.1
  +++ StatusTransformer.java	4 Sep 2003 17:59:39 -0000	1.2
  @@ -338,9 +338,7 @@
                   while (enum.hasMoreElements()) {
                       ObjectName objectName = (ObjectName) enum.nextElement();
                       if (name.equals(objectName.getKeyProperty("worker"))) {
  -                        writer.write("<worker>");
                           writeProcessorState(writer, objectName, mBeanServer, mode);
  -                        writer.write("</worker>");
                       }
                   }
                   writer.write("</workers>");
  @@ -361,53 +359,55 @@
                                                 int mode)
           throws Exception {
   
  -        if (mode == 0) {
  -            Integer stageValue = 
  -                (Integer) mBeanServer.getAttribute(pName, "stage");
  -            int stage = stageValue.intValue();
  -            boolean fullStatus = true;
  -            boolean showRequest = true;
  -
  -            writer.write("<td><strong>");
  -
  -            switch (stage) {
  +        Integer stageValue = 
  +            (Integer) mBeanServer.getAttribute(pName, "stage");
  +        int stage = stageValue.intValue();
  +        boolean fullStatus = true;
  +        boolean showRequest = true;
  +        String stageStr = null;
  +
  +        switch (stage) {
  +
  +        case (1/*org.apache.coyote.Constants.STAGE_PARSE*/):
  +            stageStr = "P";
  +            fullStatus = false;
  +            break;
  +        case (2/*org.apache.coyote.Constants.STAGE_PREPARE*/):
  +            stageStr = "P";
  +            fullStatus = false;
  +            break;
  +        case (3/*org.apache.coyote.Constants.STAGE_SERVICE*/):
  +            stageStr = "S";
  +            break;
  +        case (4/*org.apache.coyote.Constants.STAGE_ENDINPUT*/):
  +            stageStr = "F";
  +            break;
  +        case (5/*org.apache.coyote.Constants.STAGE_ENDOUTPUT*/):
  +            stageStr = "F";
  +            break;
  +        case (7/*org.apache.coyote.Constants.STAGE_ENDED*/):
  +            stageStr = "R";
  +            fullStatus = false;
  +            break;
  +        case (6/*org.apache.coyote.Constants.STAGE_KEEPALIVE*/):
  +            stageStr = "K";
  +            fullStatus = true;
  +            showRequest = false;
  +            break;
  +        case (0/*org.apache.coyote.Constants.STAGE_NEW*/):
  +            stageStr = "R";
  +            fullStatus = false;
  +            break;
  +        default:
  +            // Unknown stage
  +            stageStr = "?";
  +            fullStatus = false;
   
  -            case (1/*org.apache.coyote.Constants.STAGE_PARSE*/):
  -                writer.write("P");
  -                fullStatus = false;
  -                break;
  -            case (2/*org.apache.coyote.Constants.STAGE_PREPARE*/):
  -                writer.write("P");
  -                fullStatus = false;
  -                break;
  -            case (3/*org.apache.coyote.Constants.STAGE_SERVICE*/):
  -                writer.write("S");
  -                break;
  -            case (4/*org.apache.coyote.Constants.STAGE_ENDINPUT*/):
  -                writer.write("F");
  -                break;
  -            case (5/*org.apache.coyote.Constants.STAGE_ENDOUTPUT*/):
  -                writer.write("F");
  -                break;
  -            case (7/*org.apache.coyote.Constants.STAGE_ENDED*/):
  -                writer.write("R");
  -                fullStatus = false;
  -                break;
  -            case (6/*org.apache.coyote.Constants.STAGE_KEEPALIVE*/):
  -                writer.write("K");
  -                fullStatus = true;
  -                showRequest = false;
  -                break;
  -            case (0/*org.apache.coyote.Constants.STAGE_NEW*/):
  -                writer.write("R");
  -                fullStatus = false;
  -                break;
  -            default:
  -                writer.write("?");
  -                fullStatus = false;
  -
  -            }
  +        }
   
  +        if (mode == 0) {
  +            writer.write("<td><strong>");
  +            writer.write(stageStr);
               writer.write("</strong></td>");
   
               if (fullStatus) {
  @@ -464,7 +464,73 @@
                   writer.write("<td>?</td><td>?</td><td>?</td><td>?</td><td>?</td><td>?</td>");
               }
           } else if (mode == 1){
  -            // for now we don't generate XML output
  +            writer.write("<worker ");
  +            writer.write(" stage=\"" + stageStr + "\"");
  +
  +            if (fullStatus) {
  +                writer.write(" requestProcessingTime=\"" 
  +                             + mBeanServer.getAttribute
  +                             (pName, "requestProcessingTime") + "\"");
  +                writer.write(" requestBytesSent=\"");
  +                if (showRequest) {
  +                    writer.write("" + mBeanServer.getAttribute
  +                                 (pName, "requestBytesSent"));
  +                } else {
  +                    writer.write("?");
  +                }
  +                writer.write("\"");
  +                writer.write(" requestBytesReceived=\"");
  +                if (showRequest) {
  +                    writer.write("" + mBeanServer.getAttribute
  +                                 (pName, "requestBytesReceived"));
  +                } else {
  +                    writer.write("?");
  +                }
  +                writer.write("\"");
  +                writer.write(" remoteAddr=\"" 
  +                             + filter(mBeanServer.getAttribute
  +                                      (pName, "remoteAddr")) + "\"");
  +                writer.write(" virtualHost=\"" 
  +                             + filter(mBeanServer.getAttribute
  +                                      (pName, "virtualHost")) + "\"");
  +
  +                if (showRequest) {
  +                    writer.write(" method=\"" 
  +                                 + filter(mBeanServer.getAttribute
  +                                          (pName, "method")) + "\"");
  +                    writer.write(" currentUri=\"" 
  +                                 + filter(mBeanServer.getAttribute
  +                                          (pName, "currentUri")) + "\"");
  +
  +                    String queryString = (String) mBeanServer.getAttribute
  +                        (pName, "currentQueryString");
  +                    if ((queryString != null) && (!queryString.equals(""))) {
  +                        writer.write(" currentQueryString=\"" 
  +                                     + queryString + "\"");
  +                    } else {
  +                        writer.write(" currentQueryString=\"?\"");
  +                    }
  +                    writer.write(" protocol=\"" 
  +                                 + filter(mBeanServer.getAttribute
  +                                          (pName, "protocol")) + "\"");
  +                } else {
  +                    writer.write(" method=\"?\"");
  +                    writer.write(" currentUri=\"?\"");
  +                    writer.write(" currentQueryString=\"?\"");
  +                    writer.write(" protocol=\"?\"");
  +                }
  +            } else {
  +                writer.write(" requestProcessingTime=\"?\"");
  +                writer.write(" requestBytesSent=\"?\"");
  +                writer.write(" requestBytesRecieved=\"?\"");
  +                writer.write(" remoteAddr=\"?\"");
  +                writer.write(" virtualHost=\"?\"");
  +                writer.write(" method=\"?\"");
  +                writer.write(" currentUri=\"?\"");
  +                writer.write(" currentQueryString=\"?\"");
  +                writer.write(" protocol=\"?\"");
  +            }
  +            writer.write(" />");
           }
   
       }