Project

General

Profile

« Previous | Next » 

Revision 7e45cf97

Added by Andreas Müller over 11 years ago

Latest AlgaTerra Import developments

View differences:

app-import/src/main/java/eu/etaxonomy/cdm/app/berlinModelImport/AlgaTerraActivator.java
14 14
import org.apache.log4j.Logger;
15 15

  
16 16
import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
17
import eu.etaxonomy.cdm.api.service.ITermService;
17 18
import eu.etaxonomy.cdm.app.common.CdmDestinations;
18 19
import eu.etaxonomy.cdm.database.DbSchemaValidation;
19 20
import eu.etaxonomy.cdm.database.ICdmDataSource;
20 21
import eu.etaxonomy.cdm.io.algaterra.AlgaTerraImportConfigurator;
22
import eu.etaxonomy.cdm.io.algaterra.AlgaTerraImportTransformer;
23
import eu.etaxonomy.cdm.io.algaterra.AlgaTerraSpecimenImportBase;
21 24
import eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportConfigurator;
22 25
import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
23 26
import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
......
46 49
	static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;
47 50
	static final Source berlinModelSource = BerlinModelSources.AlgaTerra();
48 51
	static final ICdmDataSource cdmDestination = CdmDestinations.localH2();
49
//	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_algaterra_preview();
50 52
//	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_mysql();
53

  
54
//	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_algaterra_preview();
51 55
	
52 56
	
53 57
	static final UUID treeUuid = UUID.fromString("1f617402-78dc-4bf1-ac77-d260600a8879");
......
56 60
	
57 61
	static final UUID featureTreeUuid = UUID.fromString("a970168a-36fd-4c7c-931e-87214a965c14");
58 62
	static final Object[] featureKeyList = new Integer[]{7,201,202,203,204,205,206,207}; 
63
	static final UUID specimenFeatureTreeUuid = UUID.fromString("ba86246e-d4d0-419f-832e-86d70b1e4bd7");
64
	
59 65
	
60 66
	//check - import
61 67
	static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
......
75 81
	
76 82
// ****************** ALL *****************************************
77 83
	
84
//	//authors
85
//	static final boolean doAuthors = true;
86
//	//references
87
//	static final DO_REFERENCES doReferences =  DO_REFERENCES.ALL;
88
//	//names
89
//	static final boolean doTaxonNames = true;
90
//	static final boolean doRelNames = true;
91
//	static final boolean doNameStatus = true;
92
//	static final boolean doTypes = true;  
93
//	
94
//	//taxa
95
//	static final boolean doTaxa = true;
96
//	static final boolean doRelTaxa = true;
97
//	static final boolean doFacts = true;
98
//	
99
//	//alga terra specific
100
//	static final boolean ecoFacts = true;
101
//	static final boolean doFactEcology = true;
102
//	static final boolean doImages = true;
103

  
104
// ************************ NONE **************************************** //
105
	
78 106
	//authors
79
	static final boolean doAuthors = true;
107
	static final boolean doAuthors = false;
80 108
	//references
81 109
	static final DO_REFERENCES doReferences =  DO_REFERENCES.ALL;
82 110
	//names
83
	static final boolean doTaxonNames = true;
84
	static final boolean doRelNames = true;
85
	static final boolean doNameStatus = true;
86
	static final boolean doTypes = true;  
111
	static final boolean doTaxonNames = false;
112
	static final boolean doRelNames = false;
113
	static final boolean doNameStatus = false;
114
	static final boolean doTypes = false;
115
	static final boolean doNameFacts = false;
87 116
	
88 117
	//taxa
89 118
	static final boolean doTaxa = true;
90
	static final boolean doRelTaxa = true;
119
	static final boolean doRelTaxa = false;
91 120
	static final boolean doFacts = true;
92 121
	
93
	//alga terra specific
122
  //alga terra specific
94 123
	static final boolean ecoFacts = true;
95
	static final boolean doFactEcology = true;
124
	static final boolean doFactEcology = false;
96 125
	static final boolean doImages = true;
97

  
98
// ************************ NONE **************************************** //
99
	
100
//	//authors
101
//	static final boolean doAuthors = false;
102
//	//references
103
//	static final DO_REFERENCES doReferences =  DO_REFERENCES.ALL;
104
//	//names
105
//	static final boolean doTaxonNames = false;
106
//	static final boolean doRelNames = false;
107
//	static final boolean doNameStatus = false;
108
//	static final boolean doTypes = false;
109
//	static final boolean doNameFacts = false;
110
//	
111
//	//taxa
112
//	static final boolean doTaxa = true;
113
//	static final boolean doRelTaxa = true;
114
//	static final boolean doFacts = false;
115
//	
116
//  //alga terra specific
117
//	static final boolean ecoFacts = false;
118
//	static final boolean doFactEcology = false;
119
//	static final boolean doImages = false;
120 126
	
121 127
	
122 128
	public void invoke(String[] args){
......
166 172
			ICdmApplicationConfiguration app = bmImport.getCdmAppController();
167 173
			
168 174
			//make feature tree
169
			FeatureTree tree = TreeCreator.flatTree(featureTreeUuid, config.getFeatureMap(), featureKeyList);
170
			FeatureNode imageNode = FeatureNode.NewInstance(Feature.IMAGE());
171
			tree.getRoot().addChild(imageNode);
172
			FeatureNode distributionNode = FeatureNode.NewInstance(Feature.DISTRIBUTION());
173
			tree.getRoot().addChild(distributionNode, 2); 
174
			app.getFeatureTreeService().saveOrUpdate(tree);
175
			makeTaxonFeatureTree(config, app);
176

  
177
			//make specimen feature tree
178
			//TODO more specimen specific
179
			makeSpecimenFeatureTree(config, app);
180

  
175 181
		}
176 182
		
177 183
		
178 184
		System.out.println("End import from BerlinModel ("+ source.getDatabase() + ")...");
179 185
	}
186

  
187

  
188
	/**
189
	 * @param config
190
	 * @param app
191
	 */
192
	private void makeTaxonFeatureTree(AlgaTerraImportConfigurator config, ICdmApplicationConfiguration app) {
193
		FeatureTree tree = TreeCreator.flatTree(featureTreeUuid, config.getFeatureMap(), featureKeyList);
194
		tree.setTitleCache("AlgaTerra Taxon Feature Tree", true);
195
		
196
		FeatureNode node = FeatureNode.NewInstance(Feature.HABITAT());
197
		tree.getRoot().addChild(node);
198
		
199
		node = FeatureNode.NewInstance(Feature.OBSERVATION());
200
		tree.getRoot().addChild(node);
201
		
202
		node = FeatureNode.NewInstance(Feature.SPECIMEN());
203
		tree.getRoot().addChild(node);
204
		
205
		node = FeatureNode.NewInstance(Feature.INDIVIDUALS_ASSOCIATION());
206
		tree.getRoot().addChild(node);
207
		
208
		//needed ??
209
		FeatureNode distributionNode = FeatureNode.NewInstance(Feature.DISTRIBUTION());
210
		tree.getRoot().addChild(distributionNode, 2);
211
		
212
		//needed ??
213
		FeatureNode imageNode = FeatureNode.NewInstance(Feature.IMAGE());
214
		tree.getRoot().addChild(imageNode);
215
		
216
		app.getFeatureTreeService().saveOrUpdate(tree);
217
	}
218

  
219

  
220
	/**
221
	 * @param config
222
	 * @param app
223
	 * @param tree
224
	 */
225
	private void makeSpecimenFeatureTree(AlgaTerraImportConfigurator config, ICdmApplicationConfiguration app) {
226
		ITermService termService = app.getTermService();
227
		FeatureTree specimenTree = FeatureTree.NewInstance(specimenFeatureTreeUuid);
228
//		FeatureTree specimenTree = TreeCreator.flatTree(specimenFeatureTreeUuid, config.getFeatureMap(), featureKeyList);
229
		specimenTree.setTitleCache("AlgaTerra Specimen Feature Tree", true);
230
		FeatureNode root = specimenTree.getRoot();
231
		
232
		
233
		FeatureNode imageNode = FeatureNode.NewInstance(Feature.IMAGE());
234
		root.addChild(imageNode);
235
		
236
		addFeatureNodeByUuid(root, termService, AlgaTerraSpecimenImportBase.uuidFeatureAlgaTerraClimate);
237
		FeatureNode node = FeatureNode.NewInstance(Feature.HABITAT());
238
		root.addChild(node);
239
		addFeatureNodeByUuid(root, termService, AlgaTerraSpecimenImportBase.uuidFeatureHabitatExplanation);
240
		addFeatureNodeByUuid(root, termService, AlgaTerraSpecimenImportBase.uuidFeatureAlgaTerraLifeForm);
241
		
242
		addFeatureNodeByUuid(root, termService, AlgaTerraSpecimenImportBase.uuidFeatureAdditionalData);
243
		addFeatureNodeByUuid(root, termService, AlgaTerraSpecimenImportBase.uuidFeatureSpecimenCommunity);
244
		
245
		addFeatureNodeByUuid(root, termService, AlgaTerraImportTransformer.uuidFeaturePH);
246
		addFeatureNodeByUuid(root, termService, AlgaTerraImportTransformer.uuidFeatureConductivity);
247
		addFeatureNodeByUuid(root, termService, AlgaTerraImportTransformer.uuidFeatureWaterTemperature);
248
		addFeatureNodeByUuid(root, termService, AlgaTerraImportTransformer.uuidFeatureSilica);
249
		FeatureNode nitrogenNode = makeNitrogenNode(root, termService);
250
		addFeatureNodeByUuid(nitrogenNode, termService, AlgaTerraImportTransformer.uuidFeatureNitrate);
251
		addFeatureNodeByUuid(nitrogenNode, termService, AlgaTerraImportTransformer.uuidFeatureNitrite);
252
		addFeatureNodeByUuid(nitrogenNode, termService, AlgaTerraImportTransformer.uuidFeatureAmmonium);
253
		addFeatureNodeByUuid(root, termService, AlgaTerraImportTransformer.uuidFeaturePhosphate);
254
		addFeatureNodeByUuid(root, termService, AlgaTerraImportTransformer.uuidFeatureOrthoPhosphate);
255
		addFeatureNodeByUuid(root, termService, AlgaTerraImportTransformer.uuidFeatureNPRation);
256
		addFeatureNodeByUuid(root, termService, AlgaTerraImportTransformer.uuidFeatureDIN);
257
		addFeatureNodeByUuid(root, termService, AlgaTerraImportTransformer.uuidFeatureSRP);
258
		addFeatureNodeByUuid(root, termService, AlgaTerraImportTransformer.uuidFeatureOxygenSaturation);
259
		addFeatureNodeByUuid(root, termService, AlgaTerraImportTransformer.uuidFeatureCl);
260
		addFeatureNodeByUuid(root, termService, AlgaTerraImportTransformer.uuidFeatureSecchiDepth);
261
		addFeatureNodeByUuid(root, termService, AlgaTerraImportTransformer.uuidFeatureCommunity);
262
		app.getFeatureTreeService().saveOrUpdate(specimenTree);
263
	}
264
	
265
	private FeatureNode makeNitrogenNode(FeatureNode root, ITermService termService) {
266
		Feature nFeature = Feature.NewInstance("Supra feature for all Nitrogen related subfeatures", "Nitrogen", "N");
267
		termService.save(nFeature);
268
		FeatureNode nNode = FeatureNode.NewInstance(nFeature);
269
		root.addChild(nNode);
270
		return nNode;
271
	}
272

  
273

  
274
//	private FeatureNode addFeataureNodesByUuidList(UUID[] featureUuidList, FeatureNode root, ITermService termService){
275
//		FeatureNode lastChild = null;
276
//		for (UUID featureUuid : featureUuidList){
277
//			addFeatureNodeByUuid(root, termService, featureUuid);
278
//		}
279
//
280
//		return lastChild;
281
//	}
282

  
283

  
284
	/**
285
	 * @param root
286
	 * @param termService
287
	 * @param featureUuid
288
	 */
289
	private void addFeatureNodeByUuid(FeatureNode root, ITermService termService, UUID featureUuid) {
290
		Feature feature = (Feature)termService.find(featureUuid);
291
		if (feature != null){
292
			FeatureNode child = FeatureNode.NewInstance(feature);
293
			root.addChild(child);	
294
		}
295
	}
180 296
	
181 297
	
182 298
	/**

Also available in: Unified diff