/** * PanchangExporter.java * Created On 2007, Sep 14, 2007 3:31:06 PM * @author E. Rajasekar */ package app.astrosoft.export; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.logging.Level; import java.util.logging.Logger; import javax.xml.stream.XMLStreamException; import app.astrosoft.consts.Month; import app.astrosoft.consts.XmlConsts; import app.astrosoft.core.Panchang; import app.astrosoft.core.PanchangList; import app.astrosoft.ui.AstroSoft; public class PanchangExporter extends AbstractExporter{ private static final Logger log = Logger.getLogger(HoroscopeExporter.class.getName()); private static SimpleDateFormat df = new SimpleDateFormat("MMM yyyy"); public PanchangExporter(String file) { super(file); } public void export(PanchangList panchangList){ try { xmlWriter.add(xmlef.createStartDocument()); xmlWriter.add(xmlef.createStartElement(XmlConsts.ASTROSOFT_TAG, null,null)); xmlWriter.add(xmlef.createNamespace("xsi",XmlConsts.XML_NS)); xmlWriter.add(xmlef.createStartElement(XmlConsts.PANCHANG_TAG, null,null)); xmlWriter.add(xmlef.createAttribute(XmlConsts.Location, AstroSoft.getPreferences().getPlace().toString())); for(Panchang p:panchangList){ export(p); } // End panchang tag and document xmlWriter.add(xmlef.createEndElement(XmlConsts.PANCHANG_INFO_TAG, null)); xmlWriter.add(xmlef.createEndDocument()); xmlWriter.close(); }catch(Exception e){ log.log(Level.SEVERE, "Exception in writing panchang xml document", e); } } private void export(Panchang p) throws XMLStreamException { Calendar cal = p.getDate(); if (cal.get(Calendar.DATE) == 1){ xmlWriter.add(xmlef.createStartElement(XmlConsts.MONTH_TAG, null,null)); xmlWriter.add(xmlef.createAttribute(XmlConsts.Title, "Panchang for " + df.format(p.getDate().getTime()))); } exportTableData(p.getPanchangTableData(),XmlConsts.PANCHANG_INFO_TAG,XmlConsts.INFO_TAG); if (cal.get(Calendar.DATE) == cal.getActualMaximum(Calendar.DATE)){ xmlWriter.add(xmlef.createEndElement(XmlConsts.MONTH_TAG, null)); } } public static void main(String[] args) { PanchangList pl = new PanchangList(2007,Calendar.SEPTEMBER); String file = "c:/astrosoft/resources/export/panchang.xml"; PanchangExporter pe = new PanchangExporter(file); pe.export2Xml(pl); FOPTransformer.exportToPDF(file, "C:/AstroSoft/resources/export/panchang2pdf.xsl", "C:/AstroSoft/resources/export/panchang.pdf"); } }