Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package pt.webdetails.cda.exporter;
  
  import java.util.HashMap;
  
  import  org.json.JSONArray;
  import  org.json.JSONException;
 import  org.json.JSONObject;
JsonExporter

User: pedro Date: Feb 5, 2010 Time: 5:07:12 PM

 
 public class JsonExporter extends AbstractExporter
 {
 
   public JsonExporter(HashMap<StringStringextraSettings)
   {
     super();
   }
 
 
   public void export(final OutputStream outfinal TableModel tableModelthrows ExporterException
   {
 
     try
     {
       JSONObject json = getTableAsJson(tableModelnull);
 
       try
       {
         out.write(json.toString().getBytes("UTF-8"));
       }
       catch (IOException e)
       {
         throw new ExporterException("IO Exception converting to utf-8"e);
       }
 
     }
     catch (JSONException e)
     {
       throw new ExporterException("JSONException building object"e);
     }
 
 
   }
   
   public JSONObject getTableAsJson(TableModel tableModelInteger rowLimitthrows JSONException, ExporterException {
     JSONObject json = new JSONObject();
 
     // Generate metadata
     final JSONObject queryInfo = new JSONObject();
     final JSONArray metadataArray = new JSONArray();
 
     final int columnCount = tableModel.getColumnCount();
     int rowCount = tableModel.getRowCount();
 
     if(rowLimit != null){
       rowCount = Math.min(rowCountrowLimit);
     }
     
     for (int i = 0; i < columnCounti++)
     {
       JSONObject info = new JSONObject();
       info.put("colIndex"i);
       info.put("colName"tableModel.getColumnName(i));
       info.put("colType"getColType(tableModel.getColumnClass(i)));
       metadataArray.put(info);
     }
     json.put("metadata"metadataArray);
 
     if (tableModel instanceof MetadataTableModel)
     {
       json.put("queryInfo", ((MetadataTableModel)tableModel).getAllMetadata());
     }
     final JSONArray valuesArray = new JSONArray();
     for (int rowIdx = 0; rowIdx < rowCountrowIdx++)
     {
 
       final JSONArray rowArray = new JSONArray();
       valuesArray.put(rowArray);
       for (int colIdx = 0; colIdx < columnCountcolIdx++)
       {
         rowArray.put(tableModel.getValueAt(rowIdxcolIdx));
       }
     }
     json.put("resultset"valuesArray);
     return json;
   }
 
 
   public String getMimeType()
   {
    return "application/json";
  }
  {
    // No attachment required
    return null;
  }
New to GrepCode? Check out our FAQ X