in tapestry-framework/src/org/apache/tapestry/request/RequestContext.java [728:984]
public void write(IMarkupWriter writer)
{
// Create a box around all of this stuff ...
writer.begin("table");
writer.attribute("class", "request-context-border");
writer.begin("tr");
writer.begin("td");
// Get the session, if it exists, and display it.
HttpSession session = getSession();
if (session != null)
{
object(writer, "Session");
writer.begin("table");
writer.attribute("class", "request-context-object");
section(writer, "Properties");
header(writer, "Name", "Value");
pair(writer, "id", session.getId());
datePair(writer, "creationTime", session.getCreationTime());
datePair(writer, "lastAccessedTime", session.getLastAccessedTime());
pair(writer, "maxInactiveInterval", session.getMaxInactiveInterval());
pair(writer, "new", session.isNew());
List names = getSorted(session.getAttributeNames());
int count = names.size();
for (int i = 0; i < count; i++)
{
if (i == 0)
{
section(writer, "Attributes");
header(writer, "Name", "Value");
}
String name = (String) names.get(i);
pair(writer, name, session.getAttribute(name));
}
writer.end(); // Session
}
object(writer, "Request");
writer.begin("table");
writer.attribute("class", "request-context-object");
// Parameters ...
List parameters = getSorted(_request.getParameterNames());
int count = parameters.size();
for (int i = 0; i < count; i++)
{
if (i == 0)
{
section(writer, "Parameters");
header(writer, "Name", "Value(s)");
}
String name = (String) parameters.get(i);
String[] values = _request.getParameterValues(name);
writer.begin("tr");
writer.attribute("class", getRowClass());
writer.begin("th");
writer.print(name);
writer.end();
writer.begin("td");
if (values.length > 1)
writer.begin("ul");
for (int j = 0; j < values.length; j++)
{
if (values.length > 1)
writer.beginEmpty("li");
writer.print(values[j]);
}
writer.end("tr");
}
section(writer, "Properties");
header(writer, "Name", "Value");
pair(writer, "authType", _request.getAuthType());
pair(writer, "characterEncoding", _request.getCharacterEncoding());
pair(writer, "contentLength", _request.getContentLength());
pair(writer, "contentType", _request.getContentType());
pair(writer, "method", _request.getMethod());
pair(writer, "pathInfo", _request.getPathInfo());
pair(writer, "pathTranslated", _request.getPathTranslated());
pair(writer, "protocol", _request.getProtocol());
pair(writer, "queryString", _request.getQueryString());
pair(writer, "remoteAddr", _request.getRemoteAddr());
pair(writer, "remoteHost", _request.getRemoteHost());
pair(writer, "remoteUser", _request.getRemoteUser());
pair(writer, "requestedSessionId", _request.getRequestedSessionId());
pair(writer, "requestedSessionIdFromCookie", _request.isRequestedSessionIdFromCookie());
pair(writer, "requestedSessionIdFromURL", _request.isRequestedSessionIdFromURL());
pair(writer, "requestedSessionIdValid", _request.isRequestedSessionIdValid());
pair(writer, "requestURI", _request.getRequestURI());
pair(writer, "scheme", _request.getScheme());
pair(writer, "serverName", _request.getServerName());
pair(writer, "serverPort", _request.getServerPort());
pair(writer, "contextPath", _request.getContextPath());
pair(writer, "servletPath", _request.getServletPath());
// Now deal with any headers
List headers = getSorted(_request.getHeaderNames());
count = headers.size();
for (int i = 0; i < count; i++)
{
if (i == 0)
{
section(writer, "Headers");
header(writer, "Name", "Value");
}
String name = (String) headers.get(i);
String value = _request.getHeader(name);
pair(writer, name, value);
}
// Attributes
List attributes = getSorted(_request.getAttributeNames());
count = attributes.size();
for (int i = 0; i < count; i++)
{
if (i == 0)
{
section(writer, "Attributes");
header(writer, "Name", "Value");
}
String name = (String) attributes.get(i);
pair(writer, name, _request.getAttribute(name));
}
// Cookies ...
Cookie[] cookies = _request.getCookies();
if (cookies != null)
{
for (int i = 0; i < cookies.length; i++)
{
if (i == 0)
{
section(writer, "Cookies");
header(writer, "Name", "Value");
}
Cookie cookie = cookies[i];
pair(writer, cookie.getName(), cookie.getValue());
} // Cookies loop
}
writer.end(); // Request
object(writer, "Servlet");
writer.begin("table");
writer.attribute("class", "request-context-object");
section(writer, "Properties");
header(writer, "Name", "Value");
pair(writer, "servlet", _servlet);
pair(writer, "name", _servlet.getServletName());
pair(writer, "servletInfo", _servlet.getServletInfo());
ServletConfig config = _servlet.getServletConfig();
List names = getSorted(config.getInitParameterNames());
count = names.size();
for (int i = 0; i < count; i++)
{
if (i == 0)
{
section(writer, "Init Parameters");
header(writer, "Name", "Value");
}
String name = (String) names.get(i);
;
pair(writer, name, config.getInitParameter(name));
}
writer.end(); // Servlet
ServletContext context = config.getServletContext();
object(writer, "Servlet Context");
writer.begin("table");
writer.attribute("class", "request-context-object");
section(writer, "Properties");
header(writer, "Name", "Value");
pair(writer, "majorVersion", context.getMajorVersion());
pair(writer, "minorVersion", context.getMinorVersion());
pair(writer, "serverInfo", context.getServerInfo());
names = getSorted(context.getInitParameterNames());
count = names.size();
for (int i = 0; i < count; i++)
{
if (i == 0)
{
section(writer, "Initial Parameters");
header(writer, "Name", "Value");
}
String name = (String) names.get(i);
pair(writer, name, context.getInitParameter(name));
}
names = getSorted(context.getAttributeNames());
count = names.size();
for (int i = 0; i < count; i++)
{
if (i == 0)
{
section(writer, "Attributes");
header(writer, "Name", "Value");
}
String name = (String) names.get(i);
pair(writer, name, context.getAttribute(name));
}
writer.end(); // Servlet Context
writeSystemProperties(writer);
writer.end("table"); // The enclosing border
}