Project

General

Profile

Download (3.41 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2007 EDIT
3
* European Distributed Institute of Taxonomy 
4
* http://www.e-taxonomy.eu
5
* 
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9

    
10
package eu.etaxonomy.cdm.app.tcs;
11

    
12
import java.io.File;
13
import java.net.MalformedURLException;
14
import java.net.URL;
15
import java.util.UUID;
16

    
17
import org.apache.log4j.Logger;
18
import org.springframework.transaction.TransactionStatus;
19

    
20
import eu.etaxonomy.cdm.app.common.CdmDestinations;
21
import eu.etaxonomy.cdm.database.DbSchemaValidation;
22
import eu.etaxonomy.cdm.database.ICdmDataSource;
23
import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
24
import eu.etaxonomy.cdm.io.common.ICdmImport;
25
import eu.etaxonomy.cdm.io.common.IImportConfigurator;
26
import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
27
import eu.etaxonomy.cdm.io.taxonx.TaxonXImportConfigurator;
28

    
29
/**
30
 * @author a.mueller
31
 * @created 20.06.2008
32
 * @version 1.0
33
 */
34
public class PalmaeTaxonXImportActivator {
35
	private static final Logger logger = Logger.getLogger(PalmaeTaxonXImportActivator.class);
36
	
37
	//database validation status (create, update, validate ...)
38
	static DbSchemaValidation hbm2dll = DbSchemaValidation.UPDATE;
39
	//static final String tcsSource = TcsSources.taxonX_local();
40
	static File source  = TcsSources.taxonX_localDir();
41
	static ICdmDataSource cdmDestination = CdmDestinations.localH2();
42
	
43
	static UUID secUuid = UUID.fromString("5f32b8af-0c97-48ac-8d33-6099ed68c625");
44
	
45
	//check - import
46
	static CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
47
	
48
	static boolean doDescriptions = true;
49
	
50
	public boolean runImport(){
51
		boolean success = true;
52
		//make destination
53
		ICdmDataSource destination = cdmDestination;
54
		
55
		TaxonXImportConfigurator taxonXImportConfigurator = TaxonXImportConfigurator.NewInstance("", destination);
56
		// invoke import
57
		ICdmImport<IImportConfigurator> cdmImport = new CdmDefaultImport<IImportConfigurator>();
58
		
59
		taxonXImportConfigurator.setSecUuid(secUuid);
60
		
61
		taxonXImportConfigurator.setDoFacts(doDescriptions);
62
		
63
		taxonXImportConfigurator.setCheck(check);
64
		taxonXImportConfigurator.setDbSchemaValidation(hbm2dll);
65

    
66
		TransactionStatus tx = taxonXImportConfigurator.getCdmAppController().startTransaction();
67
				
68
		//new Test().invoke(tcsImportConfigurator);
69
		if (source.isDirectory()){
70
			
71
			for (File file : source.listFiles() ){
72
				if (file.isFile()){
73
					URL url;
74
					try {
75
						url = file.toURI().toURL();
76
						taxonXImportConfigurator.setSource(url.toString());
77
						String originalSourceId = file.getName();
78
						originalSourceId =originalSourceId.replace(".xml", "");
79
						taxonXImportConfigurator.setOriginalSourceId(originalSourceId);
80
						success &= cdmImport.invoke(taxonXImportConfigurator);
81
					} catch (MalformedURLException e) {
82
						logger.warn(e);
83
					}
84
				}
85
			}	
86
		}else{
87
			success &= cdmImport.invoke(taxonXImportConfigurator);
88
		}
89
		taxonXImportConfigurator.getCdmAppController().commitTransaction(tx);		
90
		return success;
91
	}
92
	
93
	
94
	/**
95
	 * @param args
96
	 */
97
	public static void main(String[] args) {
98
		System.out.println("Start import from Source("+ source.toString() + ") ...");
99
		
100
		PalmaeTaxonXImportActivator importer = new PalmaeTaxonXImportActivator();
101
		importer.runImport();
102
		
103
		 
104
		System.out.println("End import from Source ("+ source.toString() + ")...");
105
	}
106

    
107
	
108
}
(2-2/4)