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(" />");
}
}