Project

General

Profile

Download (5.39 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

    
10
package eu.etaxonomy.cdm.app.sdd;
11

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

    
17
import org.apache.log4j.Logger;
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
import junit.framework.Assert;
29

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

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

    
45
	//	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_portal_test_localhost();
46

    
47
	static final String sourceSecId = "viola_pub_ed_999999";
48

    
49
	//check - import
50
	static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
51

    
52

    
53
    private static ICdmDataSource customDataSource() {
54

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

    
61
       dataSourceName = (dataSourceName.equals("")) ? "cdm_test4" : dataSourceName;
62
       username = (username.equals("")) ? "ljm" : username;
63

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

    
73
       } catch (ClassNotFoundException e1) {
74
           e1.printStackTrace();
75
       } catch (SQLException e1) {
76
           e1.printStackTrace();
77
       }
78

    
79
       CdmPersistentDataSource.save(dataSourceName, dataSource);
80
       try {
81
           loadedDataSource = CdmPersistentDataSource.NewInstance(dataSourceName);
82
//			CdmApplicationController.NewInstance(loadedDataSource, DbSchemaValidation.CREATE);
83
       } catch (DataSourceNotFoundException e) {
84
           e.printStackTrace();
85
       }
86
       //return loadedDataSource;
87
       return dataSource;
88
   }
89
	/**
90
	 * @param args
91
	 */
92
	public static void main(String[] args) {
93
		//String sddSource = SDDSources.SDDImport_local(args[0]+args[1]);
94
		//System.out.println("Start import from SDD("+ sddSource.toString() + ") ...");
95

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

    
110
		//	ICdmDataSource destination = CdmDestinations.localH2("cdm","sa","C:/Documents and Settings/lis/Mes documents/CDMtest/");
111
			//lorna//ICdmDataSource destination = CdmDestinations.localH2(args[3],"sa",args[2]);
112
			ICdmDataSource destination = customDataSource();
113

    
114
			SDDImportConfigurator sddImportConfigurator = SDDImportConfigurator.NewInstance(source,  destination);
115

    
116
			///sddImportConfigurator.setSourceSecId(sourceSecId);
117

    
118
			///sddImportConfigurator.setCheck(check);
119
			///sddImportConfigurator.setDbSchemaValidation(hbm2dll);
120

    
121
			// invoke import
122
			CdmDefaultImport<SDDImportConfigurator> sddImport = new CdmDefaultImport<SDDImportConfigurator>();
123
			sddImport.invoke(sddImportConfigurator);
124

    
125
			System.out.println("End import from SDD ("+ source.toString() + ")...");
126
		} catch (URISyntaxException e) {
127
			e.printStackTrace();
128
		}
129

    
130
	}
131

    
132

    
133
}
(12-12/19)