package com.webgroupmedia.cerb4.exporter.zendesk.entities; import java.io.File; import java.util.HashMap; import java.util.List; import java.util.Map; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import com.cerb4.impex.Configuration; import com.cerb4.impex.XMLThread; import com.webgroupmedia.cerb4.exporter.zendesk.ZendeskConnection; public class Org { public void export() { String sExportEncoding = Configuration.get("exportEncoding", "ISO-8859-1"); String cfgOutputDir = Configuration.get("outputDir", "output"); Map<String,String> params = new HashMap<String,String>(); Document orgDoc = ZendeskConnection.getInstance().requestZendeskDocumentSerial("organizations", null, params); Element organizationsElm = orgDoc.getRootElement(); @SuppressWarnings("unchecked") List<Element> orgElms = organizationsElm.elements("organization"); int iCount=0; int iSubDir = 0; File outputDir = null; for (Element orgElm : orgElms) { Integer orgId = Integer.parseInt(orgElm.elementText("id")); String name = orgElm.elementText("name"); Document doc = DocumentHelper.createDocument(); Element eContact = doc.addElement("organization"); doc.setXMLEncoding(sExportEncoding); eContact.addElement("name").addText(name); eContact.addElement("street").addText(""); eContact.addElement("city").addText(""); eContact.addElement("province").addText(""); eContact.addElement("postal").addText(""); eContact.addElement("country").addText(""); eContact.addElement("phone").addText(""); eContact.addElement("fax").addText(""); eContact.addElement("website").addText(""); if (0 == iCount % 2000) { iSubDir++; // Make the output subdirectory outputDir = new File(cfgOutputDir + "/02-orgs-" + String.format("%09d", iSubDir)); outputDir.mkdirs(); } String sXmlFileName = outputDir.getPath() + "/" + String.format("%09d", orgId) + ".xml"; try { new XMLThread(doc, sXmlFileName).start(); } catch (Exception e) { e.printStackTrace(); } iCount++; } } }