Revision 7e45cf97
Added by Andreas Müller over 11 years ago
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
Latest AlgaTerra Import developments