Project

General

Profile

Download (3.33 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.CdmApplicationDefaultController;
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 cdmSource = CdmDestinations.localH2Diptera();
19
	private static final ICdmDataSource cdmDestination = CdmDestinations.localH2Diptera();
20
	
21
	// Import:
22
	private static String importFileNameString =	"file:/C:/EndNoteTest.xml";
23
	
24

    
25
	
26

    
27
	private static final Logger logger = Logger.getLogger(EndNoteImportActivator.class);
28

    
29
	
30
	public static String chooseFile(String[] args) {
31
		if(args == null)
32
			return null;
33
		for (String dest: args){
34
			if (dest.endsWith(".xml")){
35
				return args[0];
36
			}
37
		}
38
		return null;
39
	}
40

    
41
	private void invokeImport(String importFileParamString, ICdmDataSource destination) {
42
		URI importFileName;
43
		try {
44
			importFileName = new URI(importFileNameString);
45
			EndnoteImportConfigurator endNoteImportConfigurator;
46
			if (importFileParamString !=null && destination != null){
47
				URI importFileParam = new URI(importFileParamString);
48
				endNoteImportConfigurator = EndnoteImportConfigurator.NewInstance(importFileParam, destination);
49
			}else if (destination != null){			
50
				endNoteImportConfigurator = EndnoteImportConfigurator.NewInstance(importFileName, destination);
51
			} else if (importFileParamString !=null ){
52
				URI importFileParam = new URI(importFileParamString);
53
				endNoteImportConfigurator = EndnoteImportConfigurator.NewInstance(importFileParam, cdmDestination);
54
			} else{
55
				endNoteImportConfigurator = EndnoteImportConfigurator.NewInstance(importFileName, cdmDestination);
56
			}
57
		
58
			CdmDefaultImport<EndnoteImportConfigurator> endNoteImport = 
59
				new CdmDefaultImport<EndnoteImportConfigurator>();
60
	
61
	
62
			// invoke import
63
			logger.debug("Invoking Jaxb import");
64
	
65
			endNoteImport.invoke(endNoteImportConfigurator, destination, true);
66
		} catch (URISyntaxException e) {
67
			e.printStackTrace();
68
			return;
69
		}
70
		
71

    
72
	}
73

    
74
	
75
	private CdmApplicationDefaultController initDb(ICdmDataSource db) {
76

    
77
		// Init source DB
78
		CdmApplicationDefaultController appCtrInit = null;
79

    
80
		appCtrInit = TestDatabase.initDb(db, DbSchemaValidation.VALIDATE, true);
81

    
82
		return appCtrInit;
83
	}
84

    
85
	
86
	// Load test data to DB
87
	private void loadTestData(CdmApplicationDefaultController appCtrInit) {
88

    
89
		TestDatabase.loadTestData("", appCtrInit);
90
	}
91

    
92

    
93
	/**
94
	 * @param args
95
	 */
96
	public static void main(String[] args) {
97

    
98
		EndNoteImportActivator sc = new EndNoteImportActivator();
99
		ICdmDataSource destination = CdmDestinations.chooseDestination(args) != null ? CdmDestinations.chooseDestination(args) : cdmDestination;
100
		String file = chooseFile(args)!= null ? chooseFile(args) : importFileNameString;
101
		CdmApplicationDefaultController appCtr = null;
102
		appCtr = sc.initDb(destination);
103
		//sc.loadTestData(appCtr);
104
				
105
		sc.invokeImport(file, destination);
106
	}
107

    
108
}
    (1-1/1)