Project

General

Profile

Download (5.34 KB) Statistics
| Branch: | Revision:
1
/**
2
 * Copyright (C) 2007 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.app.sdd;
10

    
11
import java.net.URI;
12
import java.net.URISyntaxException;
13
import java.net.URL;
14
import java.sql.SQLException;
15

    
16
import org.apache.log4j.Logger;
17
import org.springframework.util.Assert;
18

    
19
import eu.etaxonomy.cdm.common.CdmUtils;
20
import eu.etaxonomy.cdm.database.CdmDataSource;
21
import eu.etaxonomy.cdm.database.CdmPersistentDataSource;
22
import eu.etaxonomy.cdm.database.DataSourceNotFoundException;
23
import eu.etaxonomy.cdm.database.DbSchemaValidation;
24
import eu.etaxonomy.cdm.database.ICdmDataSource;
25
import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
26
import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
27
import eu.etaxonomy.cdm.io.sdd.in.SDDImportConfigurator;
28

    
29
/**
30
 * @author h.fradin
31
 * @author l.morris
32
 * @since 24.10.2008
33
 */
34
public class SDDImportActivator {
35
	@SuppressWarnings("unused")
36
	private static final Logger logger = Logger.getLogger(SDDImportActivator.class);
37

    
38
	//database validation status (create, update, validate ...)
39
	static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;
40
	//static final String sddSource = SDDSources.viola_local_andreas();
41
	//	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_andreasM2();
42

    
43
	//	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_portal_test_localhost();
44

    
45
	static final String sourceSecId = "viola_pub_ed_999999";
46

    
47
	//check - import
48
	static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
49

    
50

    
51
    private static ICdmDataSource customDataSource() {
52

    
53
        CdmPersistentDataSource loadedDataSource = null;
54
       //ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("192.168.2.10", "cdm_test_niels2", 3306, "edit", password, code);
55
       String dataSourceName = CdmUtils.readInputLine("Database name: ");
56
       String username = CdmUtils.readInputLine("Username: ");
57
       String password = CdmUtils.readInputLine("Password: ");
58

    
59
       dataSourceName = (dataSourceName.equals("")) ? "cdm_test4" : dataSourceName;
60
       username = (username.equals("")) ? "ljm" : username;
61

    
62
       ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("127.0.0.1", dataSourceName, 3306, username, password);
63
       //ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("127.0.0.1", "cdm_edit_cichorieae", 3306, "ljm", password, NomenclaturalCode.ICBN);
64
       //ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("160.45.63.201", "cdm_edit_cichorieae", 3306, "edit", password, NomenclaturalCode.ICBN);
65
       boolean connectionAvailable;
66
       try {
67
           connectionAvailable = dataSource.testConnection();
68
           logger.debug("LORNA connection avaiable " + connectionAvailable);
69
           Assert.isTrue(connectionAvailable, "Testdatabase is not available");
70

    
71
       } catch (ClassNotFoundException e1) {
72
           e1.printStackTrace();
73
       } catch (SQLException e1) {
74
           e1.printStackTrace();
75
       }
76

    
77
       CdmPersistentDataSource.save(dataSourceName, dataSource);
78
       try {
79
           loadedDataSource = CdmPersistentDataSource.NewInstance(dataSourceName);
80
//			CdmApplicationController.NewInstance(loadedDataSource, DbSchemaValidation.CREATE);
81
       } catch (DataSourceNotFoundException e) {
82
           e.printStackTrace();
83
       }
84
       //return loadedDataSource;
85
       return dataSource;
86
   }
87

    
88
	public static void main(String[] args) {
89
		//String sddSource = SDDSources.SDDImport_local(args[0]+args[1]);
90
		//System.out.println("Start import from SDD("+ sddSource.toString() + ") ...");
91

    
92
		//make Source
93
		URI source;
94
		try {
95
			//source = new URI(sddSource);
96
	        //URL url = SDDImportActivator.class.getResource("/eu/etaxonomy/cdm/io/sdd/SDDImportTest-input3.xml");
97
	        //URL url = SDDImportActivator.class.getResource("/eu/etaxonomy/cdm/app/sdd/SDDImportTest-input3.xml"); //eu.etaxonomy.cdm.app.sdd;
98
	        //URL url = SDDImportActivator.class.getResource("/sdd/SDD-Test-Simple.xml");
99
	        URL url = SDDImportActivator.class.getResource("/sdd/ant.sdd.xml");
100
	        //sdd/SDD-Test-Simple.xml
101
	        System.out.println("url"+ url);
102
	        source = url.toURI();
103
			//source = new URI("/eu/etaxonomy/cdm/app/sdd/SDDImportTest-input3.xml");
104
			System.out.println("Start import from SDD("+ source.toString() + ") ...");
105

    
106
		//	ICdmDataSource destination = CdmDestinations.localH2("cdm","sa","C:/Documents and Settings/lis/Mes documents/CDMtest/");
107
			//lorna//ICdmDataSource destination = CdmDestinations.localH2(args[3],"sa",args[2]);
108
			ICdmDataSource destination = customDataSource();
109

    
110
			SDDImportConfigurator sddImportConfigurator = SDDImportConfigurator.NewInstance(source,  destination);
111

    
112
			///sddImportConfigurator.setSourceSecId(sourceSecId);
113

    
114
			///sddImportConfigurator.setCheck(check);
115
			///sddImportConfigurator.setDbSchemaValidation(hbm2dll);
116

    
117
			// invoke import
118
			CdmDefaultImport<SDDImportConfigurator> sddImport = new CdmDefaultImport<SDDImportConfigurator>();
119
			sddImport.invoke(sddImportConfigurator);
120

    
121
			System.out.println("End import from SDD ("+ source.toString() + ")...");
122
		} catch (URISyntaxException e) {
123
			e.printStackTrace();
124
		}
125
	}
126
}
(12-12/18)