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