JSONParser.JSONToHTMLRenderer.java Source code

Java tutorial

Introduction

Here is the source code for JSONParser.JSONToHTMLRenderer.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package JSONParser;

import java.util.Iterator;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;

/**
 *
 * @author harsha-1916
 */
public class JSONToHTMLRenderer {

    String htmlStartTag = "<HTML>";
    String bodyStartTag = "<BODY>";
    String htmlCloseTag = "</HTML>";
    String bodyCloseTag = "</BODY>";
    private final int START_TAG = 1;
    private final int CLOSE_TAG = 2;

    private String renderRowHeaders(String[] rowHeader) {
        String rowHeaderStr = "<tr style=\"text-align: left; vertical-align: top; background-color: rgb(160, 238, 151);\">\n";

        for (String columnStr : rowHeader) {
            rowHeaderStr += "<td valign=\"top\" ><b>" + columnStr + "</b></td>\n";
        }

        rowHeaderStr += "</tr>\n";
        return rowHeaderStr;
    }

    private String tbodyTagRender(int tagChooser) {
        if (tagChooser == START_TAG) {
            return "<tbody>";
        }

        if (tagChooser == CLOSE_TAG) {
            return "</tbody>";
        }
        return null;
    }

    private String getTableStartTag(int border, int cellPadding, int width, int cellSpacing) {
        String tablestartTag = "<table border=\"" + border + "px\" cellpadding=\"" + cellPadding
                + "px\" style=\"width:" + width + "%;\" cellspacing=\"" + cellSpacing + "px\">\n";
        return tablestartTag;
    }

    private String renderContentRows(JSONArray content, String[] rowHeader) {
        String renderedRows = "";

        if (content == null || content.size() == 0) {

            renderedRows = "<tr >\n" + "<td colspan=\"" + rowHeader.length
                    + "\"><center style=\"color: rgb(255, 0, 0);\">" + "No pending tickets available"
                    + "</center></td></tr> \n";
            return renderedRows;
        } else {

            for (Iterator rowItr = content.iterator(); rowItr.hasNext();) {
                JSONObject WOERow = (JSONObject) rowItr.next();
                String colorCode = (String) WOERow.get("colourCode");
                if (colorCode == null) {
                    colorCode = "rgb(0,0,0)";
                }
                renderedRows += "<tr style=\"color: " + colorCode + ";font-weight:bold\">\n";
                for (String columnStr : rowHeader) {
                    renderedRows += "<td valign=\"top\" ><b>" + WOERow.get(columnStr) + "</b></td>\n";
                }

                renderedRows += "</tr>";
            }
            return renderedRows;
        }

    }

    public String JSONToTableConverter(String header, String[] rowHeader, JSONArray content,
            JSONObject tableProps) {
        Integer border = (Integer) tableProps.get("border");
        Integer cellPadding = (Integer) tableProps.get("CellPadding");
        Integer width = (Integer) tableProps.get("width");
        Integer cellSpacing = (Integer) tableProps.get("CellSpacing");
        //String tableStartTag = getTableStartTag(0, 7, 100, 0);
        String tableStartTag = getTableStartTag(border, cellPadding, width, cellSpacing);
        String tbodyStartTag = tbodyTagRender(START_TAG);
        String rowHeaderTag = renderRowHeaders(rowHeader);
        String contentRows = renderContentRows(content, rowHeader);
        String tbodyCloseTag = tbodyTagRender(CLOSE_TAG);
        String tableCloseTag = "</table>";
        return tableStartTag + tbodyStartTag + header + rowHeaderTag + contentRows + tbodyCloseTag + tableCloseTag;
    }
}