Project

General

Profile

Download (5.21 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.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.ICdmApplicationConfiguration;
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
 * @date Mar 7, 2013
35
 *
36
 */
37
public class PubTest {
38

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

    
41
	private static PublishConfigurator configurator;
42

    
43
	private static Publisher publisher;
44

    
45
	public static final String DEFAULT_PRINT_APPLICATION_CONTEXT_RESOURCE = "/eu/etaxonomy/cdm/defaultPrintApplicationContext.xml";
46

    
47

    
48
	/**
49
	 * @throws java.lang.Exception
50
	 */
51
	public static void setUpBeforeClass() throws Exception {
52

    
53
		ICdmDataSource dataSource = customDataSource();
54

    
55
		//Resource applicationContextResource, ICdmDataSource dataSource, DbSchemaValidation dbSchemaValidation, boolean omitTermLoading, IProgressMonitor progressMonitor)
56
		IProgressMonitor progressMonitor = DefaultProgressMonitor.NewInstance();
57

    
58
		//Connecting to a CDMDataSource
59
		///Resource resource =  new ClassPathResource(CdmDefaultIOBase.DEFAULT_IO_APPLICATION_CONTEXT_RESOURCE);
60
		Resource resource =  new ClassPathResource(DEFAULT_PRINT_APPLICATION_CONTEXT_RESOURCE);
61
		ICdmApplicationConfiguration app = CdmIoApplicationController.NewInstance(resource, dataSource, DbSchemaValidation.VALIDATE, false, progressMonitor);
62
		//ICdmApplicationConfiguration app = CdmApplicationController.NewInstance(resource, dataSource, DbSchemaValidation.VALIDATE, false, progressMonitor);
63
		//configurator = PublishConfigurator.NewLocalInstance(CdmStore.getCurrentApplicationConfiguration());//from taxeditor GeneratePdfHandler
64
		configurator = PublishConfigurator.NewLocalInstance(app);
65

    
66
		IXMLEntityFactory factory = configurator.getFactory();
67

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

    
72
		configurator.setDoPublishEntireBranches(false);
73

    
74
		configurator.addOutputModule(new PdfOutputModule());
75
		configurator.addOutputModule(new XMLOutputModule());
76

    
77

    
78
		//configurator.setWebserviceUrl("http://localhost:8080/");
79

    
80
//		Element selectedTaxonNodeElement = new Element("TaxonNode");
81
//
82
//		configurator.addSelectedTaxonNodeElements(selectedTaxonNodeElement);
83

    
84
		configurator.setExportFolder(new File("/Users/nho/tmp/"));
85

    
86
	}
87

    
88
    private static ICdmDataSource customDataSource() {
89

    
90

    
91
//    	pwd = AccountStore.readOrStorePassword(cdmServer, cdmDB, cdmUserName,pwd);
92
       String dataSourceName = CdmUtils.readInputLine("Database name: ");
93
       String username = CdmUtils.readInputLine("Username: ");
94
       String password = CdmUtils.readInputLine("Password: ");
95

    
96
       dataSourceName = (dataSourceName.equals("")) ? "cdm_test4" : dataSourceName;
97
       username = (username.equals("")) ? "ljm" : username;
98

    
99
       ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("160.45.63.201", "cdm_edit_flora_central_africa", 3306, "edit", password);
100
       //ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("127.0.0.1", dataSourceName, 3306, username, password);
101
       //ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("127.0.0.1", "cdm_edit_cichorieae", 3306, "ljm", password);
102
       //ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("160.45.63.201", "cdm_edit_cichorieae", 3306, "edit", password);
103
       boolean connectionAvailable;
104
       try {
105
           connectionAvailable = dataSource.testConnection();
106
           logger.debug("LORNA connection available " + connectionAvailable);
107
           Assert.assertTrue("Testdatabase is not available", connectionAvailable);
108

    
109
       } catch (ClassNotFoundException e1) {
110
           // TODO Auto-generated catch block
111
           e1.printStackTrace();
112
       } catch (SQLException e1) {
113
           // TODO Auto-generated catch block
114
           e1.printStackTrace();
115
       }
116
       return dataSource;
117
    }
118

    
119

    
120
	/**
121
	 * @param args
122
	 */
123
	public static void main(String[] args) {
124

    
125
		PubTest pubTest = new PubTest();
126
		try {
127
			pubTest.setUpBeforeClass();
128
		} catch (Exception e) {
129
			// TODO Auto-generated catch block
130
			e.printStackTrace();
131
		}
132
		// TODO Auto-generated method stub
133

    
134
	}
135

    
136
}
(1-1/3)