// $Id$\r
/**\r
* Copyright (C) 2009 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
* http://www.e-taxonomy.eu\r
-* \r
+*\r
* The contents of this file are subject to the Mozilla Public License Version 1.1\r
* See LICENSE.TXT at the top of this package for the full license terms.\r
*/\r
*/\r
public class SDDImportExportTest extends CdmTransactionalIntegrationTest {\r
\r
- @SpringBeanByType\r
+ @SpringBeanByType\r
SDDImport sddImport;\r
\r
private SDDImportConfigurator importConfigurator;\r
- \r
- @SpringBeanByType\r
- SDDCdmExporter sddCdmExporter;\r
- \r
- @SpringBeanByType\r
- INameService nameService;\r
- \r
- @SpringBeanByType\r
- ITaxonService taxonService;\r
- \r
- @SpringBeanByType\r
- IClassificationService classificationService;\r
- \r
- private IExportConfigurator exportConfigurator;\r
+\r
+ @SpringBeanByType\r
+ SDDCdmExporter sddCdmExporter;\r
+\r
+ @SpringBeanByType\r
+ INameService nameService;\r
+\r
+ @SpringBeanByType\r
+ ITaxonService taxonService;\r
+\r
+ @SpringBeanByType\r
+ IClassificationService classificationService;\r
+\r
+ private IExportConfigurator exportConfigurator;\r
\r
@Before\r
public void setUp() throws URISyntaxException, MalformedURLException {\r
+ // input data\r
URL url = this.getClass().getResource("/eu/etaxonomy/cdm/io/sdd/SDDImportTest-input.xml");\r
- URI uri = url.toURI();\r
-// URI uri = URI.create("file:///C:/localCopy/Data/xper/Cichorieae-DA2.sdd.xml");\r
+ URI uri = url.toURI();\r
+\r
+ // export data\r
+ String exporturlStr = "SDDImportExportTest.sdd.xml";\r
+ File f = new File(exporturlStr);\r
+ exporturlStr = f.toURI().toURL().toString();\r
+ logger.debug("LORNA the exporturlStr is " + exporturlStr);\r
+\r
+ // URI.create("file:///C:/localCopy/Data/xper/Cichorieae-DA2.sdd.xml");\r
+\r
Assert.assertNotNull(url);\r
- \r
- logger.setLevel(Level.DEBUG);\r
- //ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("192.168.2.10", "cdm_test_niels2", 3306, "edit", password, code);\r
- String dataSourceName = "test";\r
- String password = CdmUtils.readInputLine("Password: ");\r
- ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("127.0.0.1", "cdm_test", 3306, "ljm", password, NomenclaturalCode.ICBN);\r
- //ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("160.45.63.201", "cdm_test", 3306, "edit", password, NomenclaturalCode.ICBN);\r
- boolean connectionAvailable;\r
- try {\r
- connectionAvailable = dataSource.testConnection();\r
- logger.debug("LORNA connection avaiable " + connectionAvailable);\r
- Assert.assertTrue("Testdatabase is not available", connectionAvailable);\r
- \r
- } catch (ClassNotFoundException e1) {\r
- // TODO Auto-generated catch block\r
- e1.printStackTrace();\r
- } catch (SQLException e1) {\r
- // TODO Auto-generated catch block\r
- e1.printStackTrace();\r
- }\r
- \r
- CdmPersistentDataSource.save(dataSourceName, dataSource);\r
-\r
- try {\r
- CdmPersistentDataSource loadedDataSource = CdmPersistentDataSource.NewInstance(dataSourceName);\r
-// CdmApplicationController.NewInstance(loadedDataSource, DbSchemaValidation.CREATE);\r
\r
- NomenclaturalCode loadedCode = loadedDataSource.getNomenclaturalCode();\r
- \r
- Assert.assertEquals(NomenclaturalCode.ICBN, loadedCode);\r
- \r
- //importConfigurator = SDDImportConfigurator.NewInstance(uri, null);\r
- //importConfigurator = SDDImportConfigurator.NewInstance(uri, dataSource);\r
- importConfigurator = SDDImportConfigurator.NewInstance(uri, loadedDataSource);\r
- \r
- String exporturlStr ="SDDImportExportTest.sdd.xml";\r
- \r
- File f = new File(exporturlStr);\r
-\r
- exporturlStr = f.toURI().toURL().toString();\r
- logger.debug("LORNA the exporturlStr is " + exporturlStr);\r
- //exportConfigurator = SDDExportConfigurator.NewInstance(null, exporturlStr);\r
- exportConfigurator = SDDExportConfigurator.NewInstance(loadedDataSource, exporturlStr);\r
- //exportConfigurator = SDDExportConfigurator.NewInstance(null, "file:///C:/Users/l.morris/workspace/cdmlib/cdmlib-io/SDDImportExportTest.sdd.xml");\r
- //exportConfigurator = SDDExportConfigurator.NewInstance(null, "SDDImportExportTest.sdd.xml", "file:/C:/Users/l.morris/workspace/cdmlib/cdmlib-io");\r
- \r
- CdmPersistentDataSource.delete(loadedDataSource);//lorna - where should i put this\r
-\r
- } catch (DataSourceNotFoundException e) {\r
- // TODO Auto-generated catch block\r
- e.printStackTrace();\r
- }\r
- \r
- }\r
+ CdmPersistentDataSource loadedDataSource = null;\r
+\r
+ /*\r
+ * enable below line if you wish to use a custom data source\r
+ */\r
+// loadedDataSource = customDataSource();\r
+\r
+ importConfigurator = SDDImportConfigurator.NewInstance(uri, loadedDataSource);\r
+ exportConfigurator = SDDExportConfigurator.NewInstance(loadedDataSource, exporturlStr);\r
+\r
+ }\r
+\r
\r
@Test\r
- public void testInit() {\r
+ public void testDoInvoke() {\r
+\r
assertNotNull("sddImport should not be null", sddImport);\r
assertNotNull("sddCdmExporter should not be null", sddCdmExporter);\r
- }\r
\r
- @Test\r
- public void testDoInvoke() {\r
- \r
- //printDataSet(System.err, new String[]{"DEFINEDTERMBASE"});\r
- \r
+ setDefaultRollback(false);\r
+\r
+ //printDataSet(System.err, new String[]{"DEFINEDTERMBASE"});\r
+\r
sddImport.doInvoke(new SDDImportState(importConfigurator));\r
- \r
- logger.setLevel(Level.WARN);\r
+\r
+ logger.setLevel(Level.DEBUG);\r
commitAndStartNewTransaction(new String[]{"DEFINEDTERMBASE"});\r
logger.setLevel(Level.DEBUG);\r
- \r
+\r
logger.debug("Name count: " + (nameService.count(null)));\r
logger.debug("Classification count: " + (classificationService.count(Classification.class)));\r
logger.debug("Taxon count: " + (taxonService.count(Taxon.class)));\r
- \r
+\r
//sddCdmExporter.doInvoke(null);\r
- sddCdmExporter.doInvoke(new SDDExportState((SDDExportConfigurator) exportConfigurator));\r
+ sddCdmExporter.doInvoke(new SDDExportState((SDDExportConfigurator) exportConfigurator));\r
assertEquals("Number of TaxonNames should be 1", 1, nameService.count(null));\r
}\r
+\r
+ /**\r
+ * @param loadedDataSource\r
+ * @return\r
+ */\r
+ private CdmPersistentDataSource customDataSource() {\r
+\r
+ CdmPersistentDataSource loadedDataSource = null;\r
+ //ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("192.168.2.10", "cdm_test_niels2", 3306, "edit", password, code);\r
+ String dataSourceName = "test";\r
+ String password = CdmUtils.readInputLine("Password: ");\r
+ ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("127.0.0.1", "cdm_test", 3306, "ljm", password, NomenclaturalCode.ICBN);\r
+ //ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("160.45.63.201", "cdm_test", 3306, "edit", password, NomenclaturalCode.ICBN);\r
+ boolean connectionAvailable;\r
+ try {\r
+ connectionAvailable = dataSource.testConnection();\r
+ logger.debug("LORNA connection avaiable " + connectionAvailable);\r
+ Assert.assertTrue("Testdatabase is not available", connectionAvailable);\r
+\r
+ } catch (ClassNotFoundException e1) {\r
+ // TODO Auto-generated catch block\r
+ e1.printStackTrace();\r
+ } catch (SQLException e1) {\r
+ // TODO Auto-generated catch block\r
+ e1.printStackTrace();\r
+ }\r
+\r
+ CdmPersistentDataSource.save(dataSourceName, dataSource);\r
+ try {\r
+ loadedDataSource = CdmPersistentDataSource.NewInstance(dataSourceName);\r
+// CdmApplicationController.NewInstance(loadedDataSource, DbSchemaValidation.CREATE);\r
+ NomenclaturalCode loadedCode = loadedDataSource.getNomenclaturalCode();\r
+\r
+ Assert.assertEquals(NomenclaturalCode.ICBN, loadedCode);\r
+ } catch (DataSourceNotFoundException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
+ return loadedDataSource;\r
+ }\r
}\r