Project

General

Profile

Download (7.59 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.ICdmApplicationConfiguration;
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.CdmDefaultImport;
21
import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
22
import eu.etaxonomy.cdm.io.common.IImportConfigurator.DO_REFERENCES;
23
import eu.etaxonomy.cdm.io.common.Source;
24
import eu.etaxonomy.cdm.io.pesi.faunaEuropaea.FaunaEuropaeaImportConfigurator;
25
import eu.etaxonomy.cdm.io.pesi.out.PesiTransformer;
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
	@SuppressWarnings("unused")
37
	private static final Logger logger = Logger.getLogger(FaunaEuropaeaActivator.class);
38

    
39

    
40
	static final Source faunaEuropaeaSource = PesiSources.mfn_faunEu_pesi3();
41
	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_faunaEu_mysql();
42
	//static final ICdmDataSource cdmDestination = CdmDestinations.cdm_pesi_fauna_europaea();
43

    
44

    
45
	static final int limitSave = 5000;
46

    
47
//	static final CHECK check = CHECK.CHECK_AND_IMPORT;
48
	static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
49
	static DbSchemaValidation dbSchemaValidation = DbSchemaValidation.CREATE;
50
//	static DbSchemaValidation dbSchemaValidation = DbSchemaValidation.UPDATE;
51
//	static DbSchemaValidation dbSchemaValidation = DbSchemaValidation.VALIDATE;
52

    
53

    
54

    
55
	static final NomenclaturalCode nomenclaturalCode  = NomenclaturalCode.ICZN;
56

    
57
// ****************** ALL *****************************************
58

    
59
	// Fauna Europaea to CDM import
60
	static final boolean doAuthors = true;
61
	static final boolean doTaxa =true;
62
	static final boolean doBasionyms = true;
63
	static final boolean doTaxonomicallyIncluded = true;
64
	static final boolean doMisappliedNames = true;
65
	static final boolean doHeterotypicSynonyms = true;
66
	static final DO_REFERENCES doReferences =  DO_REFERENCES.ALL;
67
	static final boolean doDistributions = true;
68
	static final boolean makeFeatureTree = true;
69
	static final boolean doVernacularNames = true;
70
	static final boolean doAssociatedSpecialists = true;
71
	static final boolean addCommonNameFeature = true;
72
	static final boolean doInferredSynonyms = true;
73
    // CDM to CDM import
74
	static final boolean doHeterotypicSynonymsForBasionyms = true;
75

    
76
// ************************ NONE **************************************** //
77

    
78
	// Fauna Europaea to CDM import
79
//	static final boolean doAuthors = false;
80
//	static final boolean doTaxa = false;
81
//	static final boolean doBasionyms = false;
82
//	static final boolean doTaxonomicallyIncluded = false;
83
//	static final boolean doMisappliedNames = false;
84
//	static final boolean doHeterotypicSynonyms = false;
85
//	static final DO_REFERENCES doReferences =  DO_REFERENCES.NONE;
86
//	static final boolean doDistributions = false;
87
//	static final boolean makeFeatureTree = false;
88
//    // CDM to CDM import
89
//	static final boolean doHeterotypicSynonymsForBasionyms = false;
90

    
91

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

    
97
		ICdmDataSource destination = cdmDestination;
98
		System.out.println("Starting import from Fauna Europaea (" + faunaEuropaeaSource.getDatabase() + ") to CDM (" + destination.getDatabase() + ")...");
99

    
100
				// invoke Fauna Europaea to CDM import
101

    
102
		FaunaEuropaeaImportConfigurator fauEuImportConfigurator =
103
			FaunaEuropaeaImportConfigurator.NewInstance(faunaEuropaeaSource,  destination);
104

    
105
		fauEuImportConfigurator.setDbSchemaValidation(dbSchemaValidation);
106
		fauEuImportConfigurator.setNomenclaturalCode(nomenclaturalCode);
107
		fauEuImportConfigurator.setCheck(check);
108

    
109
		fauEuImportConfigurator.setDoAuthors(doAuthors);
110
		fauEuImportConfigurator.setDoTaxa(doTaxa);
111
		fauEuImportConfigurator.setDoReferences(doReferences);
112
		fauEuImportConfigurator.setDoOccurrence(doDistributions);
113
		fauEuImportConfigurator.setDoTaxonomicallyIncluded(doTaxonomicallyIncluded);
114
		fauEuImportConfigurator.setDoBasionyms(doBasionyms);
115
		fauEuImportConfigurator.setDoMisappliedNames(doMisappliedNames);
116
		fauEuImportConfigurator.setDoHeterotypicSynonyms(doHeterotypicSynonyms);
117
		fauEuImportConfigurator.setDoHeterotypicSynonymsForBasionyms(doHeterotypicSynonymsForBasionyms);
118
		fauEuImportConfigurator.setSourceRefUuid(PesiTransformer.uuidSourceRefFaunaEuropaea);
119
		fauEuImportConfigurator.setDoAssociatedSpecialists(doAssociatedSpecialists);
120
		fauEuImportConfigurator.setDoVernacularNames(doVernacularNames);
121
		fauEuImportConfigurator.setDoInferredSynonyms(doInferredSynonyms);
122
		CdmDefaultImport<FaunaEuropaeaImportConfigurator> fauEuImport =
123
			new CdmDefaultImport<FaunaEuropaeaImportConfigurator>();
124
		try {
125
			fauEuImport.invoke(fauEuImportConfigurator);
126
		} catch (Exception e) {
127
			System.out.println("ERROR in Fauna Europaea to CDM import");
128
			e.printStackTrace();
129
		}
130

    
131
		// invoke CDM to CDM import
132

    
133
//		System.out.println("Starting import from CDM to CDM (" + destination.getDatabase() + ")...");
134
//
135
//		CdmImportConfigurator cdmImportConfigurator =
136
//			CdmImportConfigurator.NewInstance(destination, destination);
137
//
138
//		cdmImportConfigurator.setDbSchemaValidation(DbSchemaValidation.VALIDATE);
139
//		cdmImportConfigurator.setNomenclaturalCode(nomenclaturalCode);
140
//		cdmImportConfigurator.setCheck(check);
141
//
142
//		cdmImportConfigurator.setDoHeterotypicSynonymsForBasionyms(doHeterotypicSynonymsForBasionyms);
143
//		cdmImportConfigurator.setDoAuthors(false);
144
//		cdmImportConfigurator.setDoTaxa(false);
145
//		cdmImportConfigurator.setDoReferences(DO_REFERENCES.NONE);
146
//		cdmImportConfigurator.setDoOccurrence(false);
147
//		cdmImportConfigurator.setLimitSave(limitSave);
148
//
149
//		CdmDefaultImport<CdmImportConfigurator> cdmImport =
150
//			new CdmDefaultImport<CdmImportConfigurator>();
151
//		try {
152
//			cdmImport.invoke(cdmImportConfigurator);
153
//		} catch (Exception e) {
154
//			System.out.println("ERROR in CDM to CDM import");
155
//			e.printStackTrace();
156
//		}
157

    
158
		//make feature tree
159

    
160
		if (makeFeatureTree) {
161
			FeatureTree featureTree = FeatureTree.NewInstance(UUID.fromString("ff59b9ad-1fb8-4aa4-a8ba-79d62123d0fb"));
162
			FeatureNode root = featureTree.getRoot();
163

    
164
			ICdmApplicationConfiguration app = fauEuImport.getCdmAppController();
165
			Feature citationFeature = (Feature)app.getTermService().find(UUID.fromString("99b2842f-9aa7-42fa-bd5f-7285311e0101"));
166
			FeatureNode citationNode = FeatureNode.NewInstance(citationFeature);
167
			root.addChild(citationNode);
168
			Feature distributionFeature = (Feature)app.getTermService().find(UUID.fromString("9fc9d10c-ba50-49ee-b174-ce83fc3f80c6"));
169
			FeatureNode distributionNode = FeatureNode.NewInstance(distributionFeature);
170
			root.addChild(distributionNode);
171
			Feature commonNameFeature = (Feature)app.getTermService().find(UUID.fromString("fc810911-51f0-4a46-ab97-6562fe263ae5"));
172
			FeatureNode commonNameFeatureNode = FeatureNode.NewInstance(commonNameFeature);
173
			root.addChild(commonNameFeatureNode);
174
			app.getFeatureTreeService().saveOrUpdate(featureTree);
175
		}
176

    
177
		System.out.println("End importing Fauna Europaea data");
178
	}
179

    
180
}
(2-2/10)