Project

General

Profile

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

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

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

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

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

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

    
42
	private static PublishConfigurator configurator;
43

    
44
	private static Publisher publisher;
45

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

    
48

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

    
54
		ICdmDataSource dataSource = customDataSource();
55

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

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

    
67
		IXMLEntityFactory factory = configurator.getFactory();
68

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

    
73
		configurator.setDoPublishEntireBranches(false);
74

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

    
78

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

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

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

    
87
	}
88

    
89
    private static ICdmDataSource customDataSource() {
90

    
91

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

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

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

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

    
120

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

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

    
135
	}
136

    
137
}
(1-1/3)