Java Session Fancy Printing

    public static final String convertToString(HttpServletRequest request) {
        StringBuffer msg = new StringBuffer();
        try {

            msg.append("*RequestURI:" + request.getRequestURI() + "\n");
            msg.append("*ContentType:" + request.getContentType() + "\n");

            msg.append("== Request Header\n");
            Enumeration headers = request.getHeaderNames();
            while (headers.hasMoreElements()) {
                String headerName = "" + headers.nextElement();
                msg.append(headerName + ":" + request.getHeader(headerName) + "\n");
            }
            msg.append("\n");
            
            Enumeration attr = request.getParameterNames();          
            
            ArrayList l = new ArrayList();
            String att;
            while (attr.hasMoreElements()) {
                att = (String) attr.nextElement();
                l.add(att + " -> " + request.getParameter(att));
            }
            
            msg.append("=== Request ( " + l.size() + " ) ===\n");
            Object a[] = l.toArray();
            Arrays.sort(a);
            for (int i = 0; i < a.length; i++) {
                msg.append((String) a[i]);
                msg.append("\n");
            }
            msg.append("===   ===   ===\n");
            
            // Process the Session
            HttpSession session = request.getSession();
            // msg.append("\n");
            
            Enumeration e = session.getAttributeNames();
            
            TreeMap t = new TreeMap();
            String k;
            while (e.hasMoreElements()) {
                k = (String) e.nextElement();
                Object oggetto;
                try {
                    oggetto = session.getAttribute(k);
                } catch (Throwable notSerializableException) {
                    oggetto = "NON DESERIALIZZABILE. Chiave:" + k;
                    
                }
                t.put(k, oggetto);
            }
                        
            Object orderedKeys[] = t.keySet().toArray();
            msg.append("=== Session  ( " + orderedKeys.length + " " + (usertempz != null ? "+ 1UT" : " NO UT!") + " )===\n");
            Object elem;

            for (int i = 0; i < orderedKeys.length; i++) {
                elem = t.get(orderedKeys[i]);
                msg.append(orderedKeys[i]);

                msg.append("\t-> ");
                if (elem != null) {
                    nicePrintSessionObj(msg, elem);
                } else {
                    msg.append("null");
                }
                msg.append("\n");
            }
            return msg.toString();
        } catch (RuntimeException e) {
            return msg + "\nERR: Cannot print session/request!!" + e.getMessage();
        }
    }

Smoking Gio

My first webcam video….
See and have fun: http://www.youtube.com/watch?v=53CIgqpD0S8

The Story
I have just bought a new fantastic Mac computer. So I tried my webcam, and in the same evening a friend of mine give me a cigarette (I  don't smoke so I tried it in front of my webcam).

Next I heared my bad cusin Alessandro didn't want to do a very unplesent and bad paid job for me…so i have an idea: publish a very kindly video to persuade Alessandro, doing him an offer he cannot avoid at all…

And by the way, comments below are wellcome butbe veery carefully to what you write…. :)

Stendere la Biancheria

Ma come fare a gestire la biancheria in questi casi? Ebbene il vostro mentore (cioè io…) ha la soluzione. Grazie a Radio Deejay, ho scoperto il seguente fantastico servizio:  http://www.stendibiancheria.net/
che vi dice quando vi conviene stendere la biancheria.  Questo modesto servizio, migliora le probabilià di essere più puliti del solito, ed evita che i panni bianchi si sporchino senza una valida ragione.

Inoltre potete usarlo anche per sapere quando conviene innaffiare le piante!