Revision 07b26fc9
Added by Lorna Morris over 11 years ago
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
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.