OW2 Consortium telosys

Rev

Blame | Last modification | View Log | RSS feed

package org.objectweb.telosys.dal.rest;

import java.io.PrintWriter;

/**
 * HTML response renderer
 * 
 * @author Laurent GUERIN
 * @since 1.0.0
 */
public class DAORendererHTML implements DAORenderer
{
    private PrintWriter pw = null ;
    
    /**
     * @param pw
     */
    public DAORendererHTML(PrintWriter pw)
    {
        super();
        this.pw = pw;
    }
    
    public void printResponse( DAOResponse response )
    {
        printHeader();
            pw.println( "<table>" );
            
            pw.println( "<tr><td>" );
        pw.println("Action"  );
            pw.println( "</td><td>" );
        pw.println(response.getAction() );
            pw.println( "</td></tr>" );
            
            pw.println( "<tr><td>" );
        pw.println("Return Code"  );
            pw.println( "</td><td>" );
        pw.println(response.getRetCode() );
            pw.println( "</td></tr>" );
            pw.println( "</table>" );
            
        if ( response.isFound() ) pw.println("<b>FOUND</b>" );
        if ( response.isNotFound() ) pw.println("<b>NOT FOUND</b>" );
        Object bean = response.getResultObject();
        if ( bean != null )
        {
            pw.println("<h2>Record Bean : " + bean + "</h2>" );
        }
            printFooter();
    }

    public void printError( Throwable t )
        {
        printHeader();
            pw.println( "<h2 style='color:red' >ERROR : </h2>" );
            pw.println( "</h3>" + t.getMessage() + "</h3>");
            printFooter();
        }

    public void printHeader()
        {
        pw.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">" );

            pw.println( "<html>" );
            pw.println( "<head>" );
            pw.println( "<title>DAO request</title>" );
            pw.println( "</head>" );
            pw.println( "<body>" );
        }
    public void printFooter()
        {
            pw.println( "</body>" );
            pw.println( "</html>" );
        }
    
}