Project

General

Profile

Download (4.92 KB) Statistics
| Branch: | 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.dwca;
11

    
12
import java.net.URI;
13
import java.util.UUID;
14

    
15
import org.apache.log4j.Logger;
16

    
17
import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
18
import eu.etaxonomy.cdm.app.common.CdmDestinations;
19
import eu.etaxonomy.cdm.database.DbSchemaValidation;
20
import eu.etaxonomy.cdm.database.ICdmDataSource;
21
import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
22
import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
23
import eu.etaxonomy.cdm.io.common.events.LoggingIoObserver;
24
import eu.etaxonomy.cdm.io.dwca.in.DwcaImportConfigurator;
25
import eu.etaxonomy.cdm.model.agent.Person;
26
import eu.etaxonomy.cdm.model.reference.Reference;
27
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
28

    
29
/**
30
 * @author a.mueller
31
 * @created 16.12.2010
32
 * @version 1.0
33
 */
34
public class DwcaImportActivator {
35
	private static final Logger logger = Logger.getLogger(DwcaImportActivator.class);
36
	
37
	//database validation status (create, update, validate ...)
38
	static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;
39
//	static final URI source = dwca_test_in();
40
//	static final URI source = dwca_test_cich_len();
41
//	static final URI source = dwca_test_col_cichorium();
42
	static final URI source = dwca_test_col_All();
43
	
44
	
45
//	static final ICdmDataSource cdmDestination = CdmDestinations.localH2();
46
//	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_mysql_dwca();
47
	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_mysql();
48

    
49
	
50
	//feature tree uuid
51
	public static final UUID featureTreeUuid = UUID.fromString("14d1e912-5ec2-4d10-878b-828788b70a87");
52
	
53
	//classification
54
	static final UUID classificationUuid = UUID.fromString("d964c855-3916-4c8d-bdb6-acf9cd736b87");
55
	
56
	//check - import
57
	static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
58
	
59
	//taxa
60
	static final boolean doTaxa = true;
61
	static final boolean doDeduplicate = false;
62
	static final boolean doDistribution = false;
63

    
64
	
65
	private void doImport(ICdmDataSource cdmDestination){
66
		
67
		//make Source
68
		DwcaImportConfigurator config= DwcaImportConfigurator.NewInstance(source, cdmDestination);
69
		config.addObserver(new LoggingIoObserver());
70
		config.setClassificationUuid(classificationUuid);
71
		config.setCheck(check);
72
		config.setDbSchemaValidation(hbm2dll);
73
		
74
		CdmDefaultImport myImport = new CdmDefaultImport();
75

    
76
		
77
		//...
78
		if (true){
79
			System.out.println("Start import from ("+ source.toString() + ") ...");
80
			config.setSourceReference(getSourceReference(config.getSourceReferenceTitle()));
81
			myImport.invoke(config);
82
			System.out.println("End import from ("+ source.toString() + ")...");
83
		}
84
		
85
		
86
		
87
		//deduplicate
88
		if (doDeduplicate){
89
			ICdmApplicationConfiguration app = myImport.getCdmAppController();
90
			int count = app.getAgentService().deduplicate(Person.class, null, null);
91
			logger.warn("Deduplicated " + count + " persons.");
92
//			count = app.getAgentService().deduplicate(Team.class, null, null);
93
//			logger.warn("Deduplicated " + count + " teams.");
94
			count = app.getReferenceService().deduplicate(Reference.class, null, null);
95
			logger.warn("Deduplicated " + count + " references.");
96
		}
97
		
98
	}
99

    
100
	private Reference getSourceReference(String string) {
101
		Reference result = ReferenceFactory.newGeneric();
102
		result.setTitleCache(string);
103
		return result;
104
	}
105

    
106
	//Dwca
107
	public static URI dwca_test_in() {
108
//		URI sourceUrl = URI.create("http://dev.e-taxonomy.eu/trac/export/14463/trunk/cdmlib/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/dwca/in/DwcaZipToStreamConverterTest-input.zip");
109
		URI sourceUrl = URI.create("file:///C:/Users/pesiimport/Documents/pesi_cdmlib/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/dwca/in/DwcaZipToStreamConverterTest-input.zip");
110
		return sourceUrl;
111
	}
112
	
113
	
114
	//Dwca
115
	public static URI dwca_test_cich() {
116
		URI sourceUrl = URI.create("file:///E:/opt/data/dwca/20110621_1400_cichorieae_dwca.zip");
117
		return sourceUrl;
118
	}
119
	
120
	//Dwca
121
	public static URI dwca_test_cich_len() {
122
		URI sourceUrl = URI.create("file:///C:/localCopy/Data/dwca/export/20110621_1400_cichorieae_dwca.zip");
123
		return sourceUrl;
124
	}
125
	
126
	//Dwca
127
	public static URI dwca_test_col_cichorium() {
128
		URI sourceUrl = URI.create("file:///C:/localCopy/Data/dwca/import/CoL/Cichorium/archive-genus-Cichorium-bl3.zip");
129
		return sourceUrl;
130
	}
131
	
132
	//CoL
133
	public static URI dwca_test_col_All() {
134
		URI sourceUrl = URI.create("file:///C:/localCopy/Data/dwca/import/CoL/All/archive-complete.zip");
135
		return sourceUrl;
136
	}
137

    
138

    
139
	
140

    
141
	/**
142
	 * @param args
143
	 */
144
	public static void main(String[] args) {
145
		DwcaImportActivator me = new DwcaImportActivator();
146
		me.doImport(cdmDestination);
147
	}
148
	
149
}
(2-2/2)