Project

General

Profile

Download (5.73 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.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.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.tcs.TcsImportConfigurator;
24
import eu.etaxonomy.cdm.model.description.Feature;
25
import eu.etaxonomy.cdm.model.description.FeatureNode;
26
import eu.etaxonomy.cdm.model.description.FeatureTree;
27

    
28
/**
29
 * @author a.mueller
30
 * @created 20.06.2008
31
 * @version 1.0
32
 */
33
public class PalmaeActivator {
34
	private static Logger logger = Logger.getLogger(PalmaeActivator.class);
35
	
36
	//database validation status (create, update, validate ...)
37
	static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;
38
	static final String tcsSource = TcsSources.arecaceae_local();
39
	static final ICdmDataSource cdmDestination = CdmDestinations.localH2();
40
//	static final ICdmDataSource cdmDestination = CdmDestinations.localH2();
41

    
42
	static final UUID featureTreeUuid = UUID.fromString("72ccce05-7cc8-4dab-8e47-bf3f5fd848a0");
43
		
44
	static final UUID secUuid = UUID.fromString("5f32b8af-0c97-48ac-8d33-6099ed68c625");
45
	static final String sourceSecId = "palm_pub_ed_999999";
46
	//should the taxonX import run as well?
47
	static final boolean includeTaxonX = false;
48
	
49
	//check - import
50
	static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
51
	
52
	//authors
53
	static final boolean doAuthors = true;
54
	//references
55
	static final DO_REFERENCES doReferences =  DO_REFERENCES.ALL;
56
	//names
57
	static final boolean doTaxonNames = true;
58
	static final boolean doRelNames = true;
59

    
60
	//static final boolean doTypes = true;
61
	//static final boolean doNameFacts = true;
62
	
63
	//taxa
64
	static final boolean doTaxa = true;
65
	static final boolean doRelTaxa = true;
66
	static final boolean doFacts = true;
67
	
68

    
69
	
70
	private boolean doImport(){
71
		boolean success = true;
72
		System.out.println("Start import from Tcs("+ tcsSource.toString() + ") ...");
73
		
74
		//make BerlinModel Source
75
		String source = tcsSource;
76
		ICdmDataSource destination = cdmDestination;
77
		
78
		TcsImportConfigurator tcsImportConfigurator = TcsImportConfigurator.NewInstance(source,  destination);
79
		
80
		tcsImportConfigurator.setSecUuid(secUuid);
81
		tcsImportConfigurator.setSourceSecId(sourceSecId);
82
		
83
		tcsImportConfigurator.setDoAuthors(doAuthors);
84
		tcsImportConfigurator.setDoReferences(doReferences);
85
		tcsImportConfigurator.setDoTaxonNames(doTaxonNames);
86
		tcsImportConfigurator.setDoRelNames(doRelNames);
87
		//tcsImportConfigurator.setDoNameStatus(doNameStatus);
88
		//tcsImportConfigurator.setDoTypes(doTypes);
89
		//tcsImportConfigurator.setDoNameFacts(doNameFacts);
90
		
91
		tcsImportConfigurator.setDoTaxa(doTaxa);
92
		tcsImportConfigurator.setDoRelTaxa(doRelTaxa);
93
		tcsImportConfigurator.setDoFacts(doFacts);
94
		
95
		tcsImportConfigurator.setCheck(check);
96
		tcsImportConfigurator.setDbSchemaValidation(hbm2dll);
97

    
98
		// invoke import
99
		CdmDefaultImport<TcsImportConfigurator> tcsImport = new CdmDefaultImport<TcsImportConfigurator>();
100
		//new Test().invoke(tcsImportConfigurator);
101
		success &= tcsImport.invoke(tcsImportConfigurator);
102
		
103
		
104
		//make feature tree
105
		logger.info("Make feature tree");
106
		CdmApplicationController app = tcsImportConfigurator.getCdmAppController();
107
		
108

    
109
		
110
		FeatureTree tree = getFeatureTree();
111
		app.getDescriptionService().saveFeatureTree(tree);
112
		System.out.println("End import from TCS ("+ source.toString() + ")...");
113
		
114
		return success;
115
	}
116
	
117
	
118
	private FeatureTree getFeatureTree(){
119
		
120
		FeatureTree result = FeatureTree.NewInstance(featureTreeUuid);
121
		FeatureNode root = result.getRoot();
122
		
123
		FeatureNode newNode = FeatureNode.NewInstance(Feature.DIAGNOSIS());
124
		root.addChild(newNode);
125
		newNode = FeatureNode.NewInstance(Feature.DESCRIPTION());
126
		root.addChild(newNode);
127
		newNode = FeatureNode.NewInstance(Feature.DISTRIBUTION());
128
		root.addChild(newNode);
129
		newNode = FeatureNode.NewInstance(Feature.BIOLOGY_ECOLOGY());
130
		root.addChild(newNode);
131
		newNode = FeatureNode.NewInstance(Feature.CONSERVATION());
132
		root.addChild(newNode);
133
		newNode = FeatureNode.NewInstance(Feature.ETYMOLOGY());
134
		root.addChild(newNode);
135
		newNode = FeatureNode.NewInstance(Feature.COMMON_NAME());
136
		root.addChild(newNode);
137
		newNode = FeatureNode.NewInstance(Feature.USES());
138
		root.addChild(newNode);
139
		newNode = FeatureNode.NewInstance(Feature.CULTIVATION());
140
		root.addChild(newNode);
141
		newNode = FeatureNode.NewInstance(Feature.DISCUSSION());
142
		root.addChild(newNode);
143
		newNode = FeatureNode.NewInstance(Feature.MATERIALS_EXAMINED());
144
		root.addChild(newNode);
145

    
146
		return result;
147
		
148

    
149
	}
150

    
151
	/**
152
	 * @param args
153
	 */
154
	public static void main(String[] args) {
155
		boolean success = true;
156
		
157
		logger.debug("start");
158
		PalmaeActivator me = new PalmaeActivator();
159
		me.doImport();
160
		
161
		if (includeTaxonX){
162
			PalmaeTaxonXImportActivator taxonXimporter = new PalmaeTaxonXImportActivator();
163
			PalmaeTaxonXImportActivator.cdmDestination = cdmDestination;
164
			PalmaeTaxonXImportActivator.secUuid = secUuid;
165
			success &= taxonXimporter.runImport();
166
		}
167
		
168
		String strSuccess = "";
169
		if (success == false){
170
			strSuccess = "not ";
171
		}
172
		System.out.println("Import " + strSuccess + "successful");
173
		
174
	}
175
	
176
}
(1-1/4)