OW2 Consortium telosys

Rev

Blame | Last modification | View Log | RSS feed

package org.objectweb.telosys.dal.rest;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServletResponse;

import org.objectweb.telosys.common.TelosysConst;

/**
 * HTML response renderer
 * 
 * @author Olivier Laurendeau, 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 )
    /* (non-Javadoc)
     * @see org.objectweb.telosys.dal.rest.DAORenderer#printResponse(javax.servlet.http.HttpServletResponse, org.objectweb.telosys.dal.rest.DAOResponse)
     */
    public void printResponse( HttpServletResponse httpResponse, DAOResponse response ) throws IOException // v 1.0.5
    {
        httpResponse.setContentType(TelosysConst.HTTP_CONTENT_TYPE_HTML_UTF8);
        PrintWriter out = httpResponse.getWriter();
        
        printHeader(out);
            out.println( "<table>" );
            
            out.println( "<tr><td>" );
        out.println("Action"  );
            out.println( "</td><td>" );
        out.println(response.getAction() );
            out.println( "</td></tr>" );
            
            out.println( "<tr><td>" );
        out.println("Return Code"  );
            out.println( "</td><td>" );
        out.println(response.getRetCode() );
            out.println( "</td></tr>" );
            out.println( "</table>" );
            
        if ( response.isFound() ) out.println("<b>FOUND</b>" );
        if ( response.isNotFound() ) out.println("<b>NOT FOUND</b>" );
        Object bean = response.getResultObject();
        if ( bean != null )
        {
            out.println("<h2>Record Bean : " + bean + "</h2>" );
        }
            printFooter(out);
    }

    //public void printError( Throwable t )
    /* (non-Javadoc)
     * @see org.objectweb.telosys.dal.rest.DAORenderer#printError(javax.servlet.http.HttpServletResponse, java.lang.Throwable)
     */
    public void printError( HttpServletResponse httpResponse, Throwable t ) throws IOException // v 1.0.5
        {
        httpResponse.setContentType(TelosysConst.HTTP_CONTENT_TYPE_HTML_UTF8);
        PrintWriter out = httpResponse.getWriter();
        
        printHeader(out);
            out.println( "<h2 style='color:red' >ERROR : </h2>" );
            out.println( "</h3>" + t.getMessage() + "</h3>");
            printFooter(out);
        }

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

            out.println( "<html>" );
            out.println( "<head>" );
            out.println( "<title>DAO request</title>" );
            out.println( "</head>" );
            out.println( "<body>" );
        }
    
    private void printFooter(PrintWriter out)
        {
            out.println( "</body>" );
            out.println( "</html>" );
        }
    
}