/**
* CompactibilityExporter.java
* Created On 2007, Jul 5, 2007 12:12:11 PM
* @author E. Rajasekar
*/
package app.astrosoft.export;
import java.util.logging.Level;
import java.util.logging.Logger;
import app.astrosoft.beans.PlanetChartData;
import app.astrosoft.consts.Ayanamsa;
import app.astrosoft.consts.Language;
import app.astrosoft.consts.Varga;
import app.astrosoft.consts.XmlConsts;
import app.astrosoft.core.Compactibility;
import app.astrosoft.core.Horoscope;
import app.astrosoft.pref.AstrosoftPref;
import app.astrosoft.ui.AstroSoft;
public class CompactibilityExporter extends AbstractExporter {
private static final Logger log = Logger.getLogger(CompactibilityExporter.class.getName());
public CompactibilityExporter(String file) {
super(file);
}
public void export(Compactibility compactibility) {
try {
//Create document and write horoscope tag
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.COMPACTIBILITY_TAG, null,null));
xmlWriter.add(xmlef.createAttribute(XmlConsts.Title, compactibility.getTitle()));
xmlWriter.add(xmlef.createAttribute(XmlConsts.hasHoroscope, String.valueOf(compactibility.hasHoroscope())));
xmlWriter.add(xmlef.createStartElement(XmlConsts.BOY_TAG, null,null));
exportTableData(compactibility.getBoyInfo(), XmlConsts.HOROSCOPE_INFO_TAG, XmlConsts.INFO_TAG);
if(compactibility.hasHoroscope()) {
export(new PlanetChartData(Varga.Rasi, compactibility.getBoyPlanetaryInfo()));
export(new PlanetChartData(Varga.Navamsa, compactibility.getBoyPlanetaryInfo()));
}
xmlWriter.add(xmlef.createEndElement(XmlConsts.BOY_TAG, null));
xmlWriter.add(xmlef.createStartElement(XmlConsts.GIRL_TAG, null,null));
exportTableData(compactibility.getGirlInfo(), XmlConsts.HOROSCOPE_INFO_TAG, XmlConsts.INFO_TAG);
if(compactibility.hasHoroscope()) {
export(new PlanetChartData(Varga.Rasi, compactibility.getGirlPlanetaryInfo()));
export(new PlanetChartData(Varga.Navamsa, compactibility.getGirlPlanetaryInfo()));
}
xmlWriter.add(xmlef.createEndElement(XmlConsts.GIRL_TAG, null));
exportTableData(compactibility.getKutaTableData(), Compactibility.getKutaTableColumnMetaData(), XmlConsts.KUTA_ANALYSIS_TAG, XmlConsts.KUTA_MATCH_TAG);
if (compactibility.hasHoroscope()){
exportTableData(compactibility.getDoshaTableData(), Compactibility.getDoshaTableColumnMetaData(), XmlConsts.DOSHA_ANALYSIS_TAG, XmlConsts.PLANET_DOSHA_TAG);
}
xmlWriter.add(xmlef.createEndElement(XmlConsts.COMPACTIBILITY_TAG, null));
xmlWriter.add(xmlef.createEndDocument());
xmlWriter.close();
}catch(Exception e){
log.log(Level.SEVERE, "Exception in writing compactibility xml document", e);
}
}
public static void main(String[] args) {
AstrosoftPref pref = AstroSoft.getPreferences();
pref.setAyanamsa(Ayanamsa.KRISHNAMURTHI);
Language currLang = pref.getLanguage();
pref.setLanguage(Language.ENGLISH);
Horoscope b = new Horoscope("Elango", 17, 4, 1957, 7, 10,
77 + (44.00 / 60.00), 11 + (22.00 / 60.00), 5.5, "Erode");
Horoscope g = new Horoscope("Mani", 10, 8, 1960, 5, 30,
77 + (44.00 / 60.00), 11 + (22.00 / 60.00), 5.5, "Erode");
Compactibility c = new Compactibility(b, g);
//Compactibility c = new Compactibility("a" , "b", Nakshathra.Ashwini, Nakshathra.Bharani, Rasi.Mesha, Rasi.Mesha);
String file = "c:/astrosoft/resources/export/compactibility.xml";
CompactibilityExporter compactibilityExporter = new CompactibilityExporter(file);
compactibilityExporter.export2Xml(c);
FOPTransformer.exportToPDF(file, "C:/AstroSoft/resources/export/compactibility2pdf.xsl", "C:/AstroSoft/resources/export/compactibility.pdf");
pref.setLanguage(currLang);
}
}