Project

General

Profile

Download (5.83 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.app.common.CdmDestinations;
22
import eu.etaxonomy.cdm.common.CdmUtils;
23
import eu.etaxonomy.cdm.database.CdmDataSource;
24
import eu.etaxonomy.cdm.database.CdmPersistentDataSource;
25
import eu.etaxonomy.cdm.database.DataSourceNotFoundException;
26
import eu.etaxonomy.cdm.database.DbSchemaValidation;
27
import eu.etaxonomy.cdm.database.ICdmDataSource;
28
import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
29
import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
30
import eu.etaxonomy.cdm.io.sdd.in.SDDImportConfigurator;
31
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
32

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

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

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

    
50
	static final String sourceSecId = "viola_pub_ed_999999";
51

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

    
55

    
56
    private static ICdmDataSource customDataSource() {
57

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

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

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

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

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

    
139
	}
140

    
141

    
142
}
(12-12/19)