Project

General

Profile

Download (2.64 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;
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.database.ICdmDataSource;
24
import eu.etaxonomy.cdm.io.common.CdmDefaultExport;
25
import eu.etaxonomy.cdm.io.redlist.bfnXml.BfnXmlConstants;
26
import eu.etaxonomy.cdm.io.redlist.bfnXml.out.BfnXmlExportConfigurator;
27
import eu.etaxonomy.cdm.io.redlist.bfnXml.out.BfnXmlExportTransformer;
28

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

    
37
	private static final Logger logger = Logger.getLogger(BfnXmlExportActivator.class);
38

    
39
    protected Document document;
40

    
41
	private void invokeExport() {
42

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

    
49

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

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

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

    
60
	}
61

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

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

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

    
88
}
(1-1/5)