Project

General

Profile

« Previous | Next » 

Revision 07b26fc9

Added by Lorna Morris over 11 years ago

Updated the SDDImportActivator to use a MySQL datasource. Added an SDDExportActivator to test roundtrip of import and export of SDD into and out of the CDM.

View differences:

app-import/src/main/java/eu/etaxonomy/cdm/app/sdd/SDDImportActivator.java
11 11

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

  
17
import junit.framework.Assert;
14 18

  
15 19
import org.apache.log4j.Logger;
16 20

  
17 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;
18 26
import eu.etaxonomy.cdm.database.DbSchemaValidation;
19 27
import eu.etaxonomy.cdm.database.ICdmDataSource;
20 28
import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
21 29
import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
22 30
import eu.etaxonomy.cdm.io.sdd.in.SDDImportConfigurator;
31
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
23 32

  
24 33
/**
25 34
 * @author h.fradin
35
 * @author l.morris
26 36
 * @created 24.10.2008
27 37
 * @version 1.0
28 38
 */
......
43 53
	static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
44 54

  
45 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.ICBN);
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.ICBN, loadedCode);
91
       } catch (DataSourceNotFoundException e) {
92
           // TODO Auto-generated catch block
93
           e.printStackTrace();
94
       }
95
       //return loadedDataSource;
96
       return dataSource;
97
   }
46 98
	/**
47 99
	 * @param args
48 100
	 */
49 101
	public static void main(String[] args) {
50
		String sddSource = SDDSources.SDDImport_local(args[0]+args[1]);
51
		System.out.println("Start import from SDD("+ sddSource.toString() + ") ...");
102
		//String sddSource = SDDSources.SDDImport_local(args[0]+args[1]);
103
		//System.out.println("Start import from SDD("+ sddSource.toString() + ") ...");
52 104

  
53 105
		//make Source
54 106
		URI source;
55 107
		try {
56
			source = new URI(sddSource);
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() + ") ...");
57 118
		
58 119
		//	ICdmDataSource destination = CdmDestinations.localH2("cdm","sa","C:/Documents and Settings/lis/Mes documents/CDMtest/");
59
			ICdmDataSource destination = CdmDestinations.localH2(args[3],"sa",args[2]);
120
			//lorna//ICdmDataSource destination = CdmDestinations.localH2(args[3],"sa",args[2]);
121
			ICdmDataSource destination = customDataSource();
60 122
	
61 123
			SDDImportConfigurator sddImportConfigurator = SDDImportConfigurator.NewInstance(source,  destination);
62 124
	
63
			sddImportConfigurator.setSourceSecId(sourceSecId);
125
			///sddImportConfigurator.setSourceSecId(sourceSecId);
64 126
	
65
			sddImportConfigurator.setCheck(check);
66
			sddImportConfigurator.setDbSchemaValidation(hbm2dll);
127
			///sddImportConfigurator.setCheck(check);
128
			///sddImportConfigurator.setDbSchemaValidation(hbm2dll);
67 129
	
68 130
			// invoke import
69 131
			CdmDefaultImport<SDDImportConfigurator> sddImport = new CdmDefaultImport<SDDImportConfigurator>();

Also available in: Unified diff