Project

General

Profile

Download (2.68 KB) Statistics
| Branch: | Revision:
1
/**
2
 * Copyright (C) 2008 EDIT
3
 * European Distributed Institute of Taxonomy
4
 * http://www.e-taxonomy.eu
5
 */
6

    
7
package eu.etaxonomy.cdm.app.redlist.out;
8

    
9
import java.io.File;
10
import java.io.FileWriter;
11
import java.io.IOException;
12
import java.text.DateFormat;
13
import java.util.Date;
14

    
15
import org.apache.log4j.Logger;
16
import org.apache.log4j.helpers.ISO8601DateFormat;
17
import org.jdom2.Document;
18
import org.jdom2.Element;
19
import org.jdom2.output.Format;
20
import org.jdom2.output.XMLOutputter;
21

    
22
import eu.etaxonomy.cdm.app.common.CdmDestinations;
23
import eu.etaxonomy.cdm.app.sdd.ViolaExportActivator;
24
import eu.etaxonomy.cdm.database.ICdmDataSource;
25
import eu.etaxonomy.cdm.io.common.CdmDefaultExport;
26
import eu.etaxonomy.cdm.io.redlist.bfnXml.BfnXmlConstants;
27
import eu.etaxonomy.cdm.io.redlist.bfnXml.out.BfnXmlExportConfigurator;
28
import eu.etaxonomy.cdm.io.redlist.bfnXml.out.BfnXmlExportTransformer;
29

    
30
/**
31
 *
32
 * @author pplitzner
33
 * @date May 3, 2016
34
 *
35
 */
36
public class BfnXmlExport {
37

    
38
	private static final Logger logger = Logger.getLogger(ViolaExportActivator.class);
39

    
40
    protected Document document;
41

    
42
	private void invokeExport() {
43

    
44
		ICdmDataSource sourceDb = CdmDestinations.cdm_test_local_mysql();
45
		BfnXmlExportTransformer transformer = new BfnXmlExportTransformer();
46
		File destination = new File("/home/pplitzner/Rote Listen 2020/doctronic/export/export.xml");
47
        document = createDocument(sourceDb);
48
		BfnXmlExportConfigurator config = BfnXmlExportConfigurator.NewInstance(destination, sourceDb, transformer, document);
49

    
50

    
51
		CdmDefaultExport<BfnXmlExportConfigurator> export =
52
			new CdmDefaultExport<BfnXmlExportConfigurator>();
53

    
54
		// invoke export
55
		logger.debug("Invoking BfnXml export");
56
		export.invoke(config);
57

    
58
		logger.debug("Writing XML file");
59
        outputXML(destination);
60

    
61
	}
62

    
63
    private void outputXML(File file) {
64
        XMLOutputter xml = new XMLOutputter();
65
        xml.setFormat(Format.getPrettyFormat());
66
        try {
67
            xml.output(document, new FileWriter(file));
68
        } catch (IOException e) {
69
            e.printStackTrace();
70
        }
71
    }
72

    
73
    private Document createDocument(ICdmDataSource sourceDb){
74
        Document document = new Document();// create root element
75
        Element rootElement = new Element(BfnXmlConstants.EL_DEB_EXPORT);
76
        rootElement.setAttribute("source", sourceDb.getName());
77
        rootElement.setAttribute("debversion", "2.4.1.0");
78
        DateFormat format = new ISO8601DateFormat();
79
        rootElement.setAttribute("timestamp", format.format(new Date()));
80
        document.setRootElement(rootElement);
81
        return document;
82
    }
83

    
84
	public static void main(String[] args) {
85
		BfnXmlExport export = new BfnXmlExport();
86
		export.invokeExport();
87
	}
88

    
89
}
    (1-1/1)