Project

General

Profile

Download (5.78 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 junit.framework.Assert;
18

    
19
import org.apache.log4j.Logger;
20

    
21
import eu.etaxonomy.cdm.common.CdmUtils;
22
import eu.etaxonomy.cdm.database.CdmDataSource;
23
import eu.etaxonomy.cdm.database.CdmPersistentDataSource;
24
import eu.etaxonomy.cdm.database.DataSourceNotFoundException;
25
import eu.etaxonomy.cdm.database.DbSchemaValidation;
26
import eu.etaxonomy.cdm.database.ICdmDataSource;
27
import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
28
import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
29
import eu.etaxonomy.cdm.io.sdd.in.SDDImportConfigurator;
30
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
31

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

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

    
47
	//	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_portal_test_localhost();
48

    
49
	static final String sourceSecId = "viola_pub_ed_999999";
50

    
51
	//check - import
52
	static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
53

    
54

    
55
    private static ICdmDataSource customDataSource() {
56

    
57
        CdmPersistentDataSource loadedDataSource = null;
58
       //ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("192.168.2.10", "cdm_test_niels2", 3306, "edit", password, code);
59
       String dataSourceName = CdmUtils.readInputLine("Database name: ");
60
       String username = CdmUtils.readInputLine("Username: ");
61
       String password = CdmUtils.readInputLine("Password: ");
62
       
63
       dataSourceName = (dataSourceName.equals("")) ? "cdm_test4" : dataSourceName;
64
       username = (username.equals("")) ? "ljm" : username;
65
       
66
       ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("127.0.0.1", dataSourceName, 3306, username, password, NomenclaturalCode.ICNAFP);
67
       //ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("127.0.0.1", "cdm_edit_cichorieae", 3306, "ljm", password, NomenclaturalCode.ICBN);
68
       //ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("160.45.63.201", "cdm_edit_cichorieae", 3306, "edit", password, NomenclaturalCode.ICBN);
69
       boolean connectionAvailable;
70
       try {
71
           connectionAvailable = dataSource.testConnection();
72
           logger.debug("LORNA connection avaiable " + connectionAvailable);
73
           Assert.assertTrue("Testdatabase is not available", connectionAvailable);
74

    
75
       } catch (ClassNotFoundException e1) {
76
           // TODO Auto-generated catch block
77
           e1.printStackTrace();
78
       } catch (SQLException e1) {
79
           // TODO Auto-generated catch block
80
           e1.printStackTrace();
81
       }
82

    
83
       CdmPersistentDataSource.save(dataSourceName, dataSource);
84
       try {
85
           loadedDataSource = CdmPersistentDataSource.NewInstance(dataSourceName);
86
//			CdmApplicationController.NewInstance(loadedDataSource, DbSchemaValidation.CREATE);
87
           NomenclaturalCode loadedCode = loadedDataSource.getNomenclaturalCode();
88

    
89
           Assert.assertEquals(NomenclaturalCode.ICNAFP, loadedCode);
90
       } catch (DataSourceNotFoundException e) {
91
           // TODO Auto-generated catch block
92
           e.printStackTrace();
93
       }
94
       //return loadedDataSource;
95
       return dataSource;
96
   }
97
	/**
98
	 * @param args
99
	 */
100
	public static void main(String[] args) {
101
		//String sddSource = SDDSources.SDDImport_local(args[0]+args[1]);
102
		//System.out.println("Start import from SDD("+ sddSource.toString() + ") ...");
103

    
104
		//make Source
105
		URI source;
106
		try {
107
			//source = new URI(sddSource);
108
	        //URL url = SDDImportActivator.class.getResource("/eu/etaxonomy/cdm/io/sdd/SDDImportTest-input3.xml");
109
	        //URL url = SDDImportActivator.class.getResource("/eu/etaxonomy/cdm/app/sdd/SDDImportTest-input3.xml"); //eu.etaxonomy.cdm.app.sdd;
110
	        //URL url = SDDImportActivator.class.getResource("/sdd/SDD-Test-Simple.xml");
111
	        URL url = SDDImportActivator.class.getResource("/sdd/ant.sdd.xml");
112
	        //sdd/SDD-Test-Simple.xml
113
	        System.out.println("url"+ url);
114
	        source = url.toURI();
115
			//source = new URI("/eu/etaxonomy/cdm/app/sdd/SDDImportTest-input3.xml");
116
			System.out.println("Start import from SDD("+ source.toString() + ") ...");
117
		
118
		//	ICdmDataSource destination = CdmDestinations.localH2("cdm","sa","C:/Documents and Settings/lis/Mes documents/CDMtest/");
119
			//lorna//ICdmDataSource destination = CdmDestinations.localH2(args[3],"sa",args[2]);
120
			ICdmDataSource destination = customDataSource();
121
	
122
			SDDImportConfigurator sddImportConfigurator = SDDImportConfigurator.NewInstance(source,  destination);
123
	
124
			///sddImportConfigurator.setSourceSecId(sourceSecId);
125
	
126
			///sddImportConfigurator.setCheck(check);
127
			///sddImportConfigurator.setDbSchemaValidation(hbm2dll);
128
	
129
			// invoke import
130
			CdmDefaultImport<SDDImportConfigurator> sddImport = new CdmDefaultImport<SDDImportConfigurator>();
131
			sddImport.invoke(sddImportConfigurator);
132
	
133
			System.out.println("End import from SDD ("+ source.toString() + ")...");
134
		} catch (URISyntaxException e) {
135
			e.printStackTrace();
136
		}
137

    
138
	}
139

    
140

    
141
}
(12-12/19)