Project

General

Profile

Download (5.13 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2009 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.print;
10

    
11
import java.io.File;
12
import java.sql.SQLException;
13
import java.util.UUID;
14

    
15
import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;
16
import org.jdom.Element;
17
import org.junit.Assert;
18
import org.springframework.core.io.ClassPathResource;
19
import org.springframework.core.io.Resource;
20

    
21
import eu.etaxonomy.cdm.api.application.ICdmRepository;
22
import eu.etaxonomy.cdm.common.CdmUtils;
23
import eu.etaxonomy.cdm.common.monitor.DefaultProgressMonitor;
24
import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
25
import eu.etaxonomy.cdm.database.CdmDataSource;
26
import eu.etaxonomy.cdm.database.DbSchemaValidation;
27
import eu.etaxonomy.cdm.database.ICdmDataSource;
28
import eu.etaxonomy.cdm.io.api.application.CdmIoApplicationController;
29
import eu.etaxonomy.cdm.print.out.pdf.PdfOutputModule;
30
import eu.etaxonomy.cdm.print.out.xml.XMLOutputModule;
31

    
32
/**
33
 * @author l.morris
34
 * @since Mar 7, 2013
35
 */
36
public class PubTest {
37

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

    
40
	private static PublishConfigurator configurator;
41

    
42
	public static final String DEFAULT_PRINT_APPLICATION_CONTEXT_RESOURCE = "/eu/etaxonomy/cdm/defaultPrintApplicationContext.xml";
43

    
44
	public static void setUpBeforeClass() throws Exception {
45

    
46
		ICdmDataSource dataSource = customDataSource();
47

    
48
		//Resource applicationContextResource, ICdmDataSource dataSource, DbSchemaValidation dbSchemaValidation, boolean omitTermLoading, IProgressMonitor progressMonitor)
49
		IProgressMonitor progressMonitor = DefaultProgressMonitor.NewInstance();
50

    
51
		//Connecting to a CDMDataSource
52
		///Resource resource =  new ClassPathResource(CdmDefaultIOBase.DEFAULT_IO_APPLICATION_CONTEXT_RESOURCE);
53
		Resource resource =  new ClassPathResource(DEFAULT_PRINT_APPLICATION_CONTEXT_RESOURCE);
54
		ICdmRepository app = CdmIoApplicationController.NewInstance(resource, dataSource, DbSchemaValidation.VALIDATE, false, progressMonitor);
55
		//ICdmRepository app = CdmApplicationController.NewInstance(resource, dataSource, DbSchemaValidation.VALIDATE, false, progressMonitor);
56
		//configurator = PublishConfigurator.NewLocalInstance(CdmStore.getCurrentApplicationConfiguration());//from taxeditor GeneratePdfHandler
57
		configurator = PublishConfigurator.NewLocalInstance(app);
58

    
59
		IXMLEntityFactory factory = configurator.getFactory();
60

    
61
		UUID taxonNodeUuid = UUID.fromString("a605e87e-113e-4ebd-ad97-f086b734b4da");//5168a18b-c0b1-44cc-80aa-7a5572fefe04
62
		Element taxonNodeElement = factory.getTaxonNode(taxonNodeUuid);
63
		configurator.addSelectedTaxonNodeElements(taxonNodeElement);
64

    
65
		configurator.setDoPublishEntireBranches(false);
66

    
67
		configurator.addOutputModule(new PdfOutputModule());
68
		configurator.addOutputModule(new XMLOutputModule());
69

    
70

    
71
		//configurator.setWebserviceUrl("http://localhost:8080/");
72

    
73
//		Element selectedTaxonNodeElement = new Element("TaxonNode");
74
//
75
//		configurator.addSelectedTaxonNodeElements(selectedTaxonNodeElement);
76

    
77
		configurator.setExportFolder(new File("/Users/nho/tmp/"));
78

    
79
	}
80

    
81
    private static ICdmDataSource customDataSource() {
82

    
83

    
84
//    	pwd = AccountStore.readOrStorePassword(cdmServer, cdmDB, cdmUserName,pwd);
85
       String dataSourceName = CdmUtils.readInputLine("Database name: ");
86
       String username = CdmUtils.readInputLine("Username: ");
87
       String password = CdmUtils.readInputLine("Password: ");
88

    
89
       dataSourceName = (dataSourceName.equals("")) ? "cdm_test4" : dataSourceName;
90
       username = (username.equals("")) ? "ljm" : username;
91

    
92
       ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("160.45.63.201", "cdm_edit_flora_central_africa", 3306, "edit", password);
93
       //ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("127.0.0.1", dataSourceName, 3306, username, password);
94
       //ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("127.0.0.1", "cdm_edit_cichorieae", 3306, "ljm", password);
95
       //ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("160.45.63.201", "cdm_edit_cichorieae", 3306, "edit", password);
96
       boolean connectionAvailable;
97
       try {
98
           connectionAvailable = dataSource.testConnection();
99
           logger.debug("LORNA connection available " + connectionAvailable);
100
           Assert.assertTrue("Testdatabase is not available", connectionAvailable);
101

    
102
       } catch (ClassNotFoundException e1) {
103
           // TODO Auto-generated catch block
104
           e1.printStackTrace();
105
       } catch (SQLException e1) {
106
           // TODO Auto-generated catch block
107
           e1.printStackTrace();
108
       }
109
       return dataSource;
110
    }
111

    
112

    
113
	/**
114
	 * @param args
115
	 */
116
	public static void main(String[] args) {
117

    
118
		PubTest pubTest = new PubTest();
119
		try {
120
			pubTest.setUpBeforeClass();
121
		} catch (Exception e) {
122
			// TODO Auto-generated catch block
123
			e.printStackTrace();
124
		}
125
		// TODO Auto-generated method stub
126

    
127
	}
128

    
129
}
(1-1/3)