Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package pt.webdetails.cda.exporter;
  
  import java.io.Writer;
  import java.util.Date;
 
 import  org.dom4j.Document;
 import  org.dom4j.DocumentHelper;
 import  org.dom4j.Element;


XmlExporter

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

 
 public class XmlExporter extends AbstractExporter
 {
 
   public XmlExporter(HashMap <String,StringextraSettings)
   {
     super();
   }
 
 
   public void export(final OutputStream outfinal TableModel tableModelthrows ExporterException
   {
 
 
     final Document document = DocumentHelper.createDocument();
 
     // Generate metadata
 
     final Element root = document.addElement("CdaExport");
 
     final Element metadata = root.addElement("MetaData");
 
     final int columnCount = tableModel.getColumnCount();
     final int rowCount = tableModel.getRowCount();
 
     for (int i = 0; i < columnCounti++)
     {
       final Element columnInfo = metadata.addElement("ColumnMetaData");
       columnInfo.addAttribute("index", (String.valueOf(i)));
       columnInfo.addAttribute("type"getColType(tableModel.getColumnClass(i)));
       columnInfo.addAttribute("name"tableModel.getColumnName(i));
 
     }
 
     SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ".);
     final Element resultSet = root.addElement("ResultSet");
     for (int rowIdx = 0; rowIdx < rowCountrowIdx++)
     {
 
       final Element row = resultSet.addElement("Row");
 
       for (int colIdx = 0; colIdx < columnCountcolIdx++)
       {
         final Element col = row.addElement("Col");
 
         final Object value = tableModel.getValueAt(rowIdxcolIdx);
         if (value instanceof Date)
         {
           col.setText(format.format(value));
         }
         else if (value != null)
         {
           // numbers can be safely converted via toString, as they use a well-defined format there
           col.setText(value.toString());
         }
         else{
           col.addAttribute("isNull","true");
         }
 
       }
     }
 
     try
     {
       final Writer writer = new BufferedWriter(new OutputStreamWriter(out));
 
       document.setXMLEncoding("UTF-8");
       document.write(writer);
       writer.flush();
     }
     catch (IOException e)
     {
       throw new ExporterException("IO Exception converting to utf-8"e);
     }
 
  }
  public String getMimeType()
  {
    return "text/xml";
  }
  {
    // No attachment required
    return null;
  }
New to GrepCode? Check out our FAQ X