Project

General

Profile

Download (3.21 KB) Statistics
| Branch: | Revision:
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
}
    (1-1/1)