public void write()

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
    }