Project

General

Profile

Download (6.69 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.pesi;
11

    
12
import java.util.UUID;
13

    
14
import org.apache.log4j.Logger;
15

    
16
import eu.etaxonomy.cdm.api.application.CdmApplicationController;
17
import eu.etaxonomy.cdm.app.common.CdmDestinations;
18
import eu.etaxonomy.cdm.database.DbSchemaValidation;
19
import eu.etaxonomy.cdm.database.ICdmDataSource;
20
import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
21
import eu.etaxonomy.cdm.io.common.IImportConfigurator.DO_REFERENCES;
22
import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
23
import eu.etaxonomy.cdm.io.common.Source;
24

    
25
import eu.etaxonomy.cdm.io.faunaEuropaea.FaunaEuropaeaImportConfigurator;
26
import eu.etaxonomy.cdm.model.description.Feature;
27
import eu.etaxonomy.cdm.model.description.FeatureNode;
28
import eu.etaxonomy.cdm.model.description.FeatureTree;
29
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
30

    
31
/**
32
 * @author a.babadshanjan
33
 * @created 12.05.2009
34
 */
35
public class FaunaEuropaeaActivator {
36
	private static final Logger logger = Logger.getLogger(FaunaEuropaeaActivator.class);
37

    
38
	static final Source faunaEuropaeaSource = FaunaEuropaeaSources.faunaEu_1_3();
39
	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_eunmok();
40
	
41
	static final int limitSave = 2000;
42

    
43
//	static final CHECK check = CHECK.CHECK_AND_IMPORT;
44
	static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
45
	static DbSchemaValidation dbSchemaValidation = DbSchemaValidation.CREATE;
46
//	static DbSchemaValidation dbSchemaValidation = DbSchemaValidation.UPDATE;
47
//	static DbSchemaValidation dbSchemaValidation = DbSchemaValidation.VALIDATE;
48
	static final NomenclaturalCode nomenclaturalCode  = NomenclaturalCode.ICZN;
49

    
50
// ****************** ALL *****************************************
51
	
52
	// Fauna Europaea to CDM import
53
	static final boolean doAuthors = true;
54
	static final boolean doTaxa = true;
55
	static final boolean doBasionyms = true;
56
	static final boolean doTaxonomicallyIncluded = true;
57
	static final boolean doMisappliedNames = true;
58
	static final boolean doHeterotypicSynonyms = true;
59
	static final DO_REFERENCES doReferences =  DO_REFERENCES.ALL;
60
	static final boolean doDistributions = true;
61
	static final boolean makeFeatureTree = true;
62
    // CDM to CDM import
63
	static final boolean doHeterotypicSynonymsForBasionyms = true;
64
	
65
// ************************ NONE **************************************** //
66
		
67
	// Fauna Europaea to CDM import
68
//	static final boolean doAuthors = false;
69
//	static final boolean doTaxa = false;
70
//	static final boolean doBasionyms = false;
71
//	static final boolean doTaxonomicallyIncluded = false;
72
//	static final boolean doMisappliedNames = false;
73
//	static final boolean doHeterotypicSynonyms = false;
74
//	static final DO_REFERENCES doReferences =  DO_REFERENCES.NONE;
75
//	static final boolean doDistributions = false;
76
//	static final boolean makeFeatureTree = false;
77
//    // CDM to CDM import
78
//	static final boolean doHeterotypicSynonymsForBasionyms = false;
79
	
80
	
81
	/**
82
	 * @param args
83
	 */
84
	public static void main(String[] args) {
85
		
86
		ICdmDataSource destination = cdmDestination;
87
		System.out.println("Starting import from Fauna Europaea (" + faunaEuropaeaSource.getDatabase() + ") to CDM (" + destination.getDatabase() + ")...");
88

    
89
				// invoke Fauna Europaea to CDM import
90
		
91
		FaunaEuropaeaImportConfigurator fauEuImportConfigurator = 
92
			FaunaEuropaeaImportConfigurator.NewInstance(faunaEuropaeaSource,  destination);
93
		
94
		fauEuImportConfigurator.setDbSchemaValidation(dbSchemaValidation);
95
		fauEuImportConfigurator.setNomenclaturalCode(nomenclaturalCode);
96
		fauEuImportConfigurator.setCheck(check);
97

    
98
		fauEuImportConfigurator.setDoAuthors(doAuthors);
99
		fauEuImportConfigurator.setDoTaxa(doTaxa);
100
		fauEuImportConfigurator.setDoReferences(doReferences);
101
		fauEuImportConfigurator.setDoOccurrence(doDistributions);
102
		fauEuImportConfigurator.setDoTaxonomicallyIncluded(doTaxonomicallyIncluded);
103
		fauEuImportConfigurator.setDoBasionyms(doBasionyms);
104
		fauEuImportConfigurator.setDoMisappliedNames(doMisappliedNames);
105
		fauEuImportConfigurator.setDoHeterotypicSynonyms(doHeterotypicSynonyms);
106
		fauEuImportConfigurator.setDoHeterotypicSynonymsForBasionyms(doHeterotypicSynonymsForBasionyms);
107
		
108
		CdmDefaultImport<FaunaEuropaeaImportConfigurator> fauEuImport = 
109
			new CdmDefaultImport<FaunaEuropaeaImportConfigurator>();
110
		try {
111
			fauEuImport.invoke(fauEuImportConfigurator);
112
		} catch (Exception e) {
113
			System.out.println("ERROR in Fauna Europaea to CDM import");
114
			e.printStackTrace();
115
		}
116

    
117
		// invoke CDM to CDM import
118
		
119
//		System.out.println("Starting import from CDM to CDM (" + destination.getDatabase() + ")...");
120
//		
121
//		CdmImportConfigurator cdmImportConfigurator = 
122
//			CdmImportConfigurator.NewInstance(destination, destination);
123
//		
124
//		cdmImportConfigurator.setDbSchemaValidation(DbSchemaValidation.VALIDATE);
125
//		cdmImportConfigurator.setNomenclaturalCode(nomenclaturalCode);
126
//		cdmImportConfigurator.setCheck(check);
127
//
128
//		cdmImportConfigurator.setDoHeterotypicSynonymsForBasionyms(doHeterotypicSynonymsForBasionyms);
129
//		cdmImportConfigurator.setDoAuthors(false);
130
//		cdmImportConfigurator.setDoTaxa(false);
131
//		cdmImportConfigurator.setDoReferences(DO_REFERENCES.NONE);
132
//		cdmImportConfigurator.setDoOccurrence(false);
133
//		cdmImportConfigurator.setLimitSave(limitSave);
134
//
135
//		CdmDefaultImport<CdmImportConfigurator> cdmImport = 
136
//			new CdmDefaultImport<CdmImportConfigurator>();
137
//		try {
138
//			cdmImport.invoke(cdmImportConfigurator);
139
//		} catch (Exception e) {
140
//			System.out.println("ERROR in CDM to CDM import");
141
//			e.printStackTrace();
142
//		}
143
		
144
		//make feature tree
145
		
146
		if (makeFeatureTree == true) {
147
			FeatureTree featureTree = FeatureTree.NewInstance(UUID.fromString("ff59b9ad-1fb8-4aa4-a8ba-79d62123d0fb"));
148
			FeatureNode root = featureTree.getRoot();
149

    
150
			CdmApplicationController app = fauEuImport.getCdmAppController();
151
			Feature citationFeature = (Feature)app.getTermService().find(UUID.fromString("99b2842f-9aa7-42fa-bd5f-7285311e0101"));
152
			FeatureNode citationNode = FeatureNode.NewInstance(citationFeature);
153
			root.addChild(citationNode);
154
			Feature distributionFeature = (Feature)app.getTermService().find(UUID.fromString("9fc9d10c-ba50-49ee-b174-ce83fc3f80c6"));
155
			FeatureNode distributionNode = FeatureNode.NewInstance(distributionFeature);
156
			root.addChild(distributionNode);
157

    
158
			app.getFeatureTreeService().saveOrUpdate(featureTree);
159
		}
160
		
161
		System.out.println("End importing Fauna Europaea data");
162
	}
163

    
164
}
(3-3/6)