remove dipteraH2
[cdmlib-apps.git] / app-import / src / main / java / eu / etaxonomy / cdm / app / references / EndNoteImportActivator.java
1 package eu.etaxonomy.cdm.app.references;
2
3 import java.net.URI;
4 import java.net.URISyntaxException;
5
6 import org.apache.log4j.Logger;
7
8 import eu.etaxonomy.cdm.api.application.CdmApplicationController;
9 import eu.etaxonomy.cdm.app.common.CdmDestinations;
10 import eu.etaxonomy.cdm.app.util.TestDatabase;
11 import eu.etaxonomy.cdm.database.DbSchemaValidation;
12 import eu.etaxonomy.cdm.database.ICdmDataSource;
13 import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
14 import eu.etaxonomy.cdm.io.reference.endnote.in.EndnoteImportConfigurator;
15
16 public class EndNoteImportActivator {
17 /* SerializeFrom DB **/
18 private static final ICdmDataSource cdmDestination = CdmDestinations.localH2();
19
20 // Import:
21 private static String importFileNameString = "file:/C:/EndNoteTest.xml";
22
23
24
25
26 private static final Logger logger = Logger.getLogger(EndNoteImportActivator.class);
27
28
29 public static String chooseFile(String[] args) {
30 if(args == null)
31 return null;
32 for (String dest: args){
33 if (dest.endsWith(".xml")){
34 return args[0];
35 }
36 }
37 return null;
38 }
39
40 private void invokeImport(String importFileParamString, ICdmDataSource destination) {
41 URI importFileName;
42 try {
43 importFileName = new URI(importFileNameString);
44 EndnoteImportConfigurator endNoteImportConfigurator;
45 if (importFileParamString !=null && destination != null){
46 URI importFileParam = new URI(importFileParamString);
47 endNoteImportConfigurator = EndnoteImportConfigurator.NewInstance(importFileParam, destination);
48 }else if (destination != null){
49 endNoteImportConfigurator = EndnoteImportConfigurator.NewInstance(importFileName, destination);
50 } else if (importFileParamString !=null ){
51 URI importFileParam = new URI(importFileParamString);
52 endNoteImportConfigurator = EndnoteImportConfigurator.NewInstance(importFileParam, cdmDestination);
53 } else{
54 endNoteImportConfigurator = EndnoteImportConfigurator.NewInstance(importFileName, cdmDestination);
55 }
56
57 CdmDefaultImport<EndnoteImportConfigurator> endNoteImport =
58 new CdmDefaultImport<EndnoteImportConfigurator>();
59
60
61 // invoke import
62 logger.debug("Invoking Jaxb import");
63
64 endNoteImport.invoke(endNoteImportConfigurator, destination, true);
65 } catch (URISyntaxException e) {
66 e.printStackTrace();
67 return;
68 }
69
70
71 }
72
73
74 private CdmApplicationController initDb(ICdmDataSource db) {
75
76 // Init source DB
77 CdmApplicationController appCtrInit = null;
78
79 appCtrInit = TestDatabase.initDb(db, DbSchemaValidation.VALIDATE, true);
80
81 return appCtrInit;
82 }
83
84
85 // Load test data to DB
86 private void loadTestData(CdmApplicationController appCtrInit) {
87
88 TestDatabase.loadTestData("", appCtrInit);
89 }
90
91
92 /**
93 * @param args
94 */
95 public static void main(String[] args) {
96
97 EndNoteImportActivator sc = new EndNoteImportActivator();
98 ICdmDataSource destination = CdmDestinations.chooseDestination(args) != null ? CdmDestinations.chooseDestination(args) : cdmDestination;
99 String file = chooseFile(args)!= null ? chooseFile(args) : importFileNameString;
100 CdmApplicationController appCtr = null;
101 appCtr = sc.initDb(destination);
102 //sc.loadTestData(appCtr);
103
104 sc.invokeImport(file, destination);
105 }
106
107 }