Project

General

Profile

Download (6.88 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.faunEu_pesi3();
41
	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_faunaEu_mysql();
42

    
43
	
44
	static final int limitSave = 5000;
45

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

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

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

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

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

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

    
162
			app.getFeatureTreeService().saveOrUpdate(featureTree);
163
		}
164
		
165
		System.out.println("End importing Fauna Europaea data");
166
	}
167

    
168
}
(3-3/8)