Revision a26a9112
Added by Andreas Müller over 5 years ago
app-import/src/main/java/eu/etaxonomy/cdm/io/berlinModel/in/BerlinModelAreaImport.java | ||
---|---|---|
87 | 87 |
private Map<Integer, NamedArea> euroMedAreas = new HashMap<>(); |
88 | 88 |
|
89 | 89 |
|
90 |
private TermVocabulary<NamedArea> createEuroMedAreas(BerlinModelImportState state) throws SQLException { |
|
90 |
@Override |
|
91 |
public boolean doPartition(@SuppressWarnings("rawtypes") ResultSetPartitioner partitioner, BerlinModelImportState state) { |
|
92 |
TermVocabulary<?> voc = getVocabularyService().find(BerlinModelTransformer.uuidVocEuroMedAreas); |
|
93 |
if (voc == null){ |
|
94 |
try { |
|
95 |
createEuroMedAreas(state); |
|
96 |
createCaucasusAreas(state); |
|
97 |
} catch (SQLException e) { |
|
98 |
logger.warn("Exception when creating areas: " + e.getMessage()); |
|
99 |
e.printStackTrace(); |
|
100 |
} |
|
101 |
} |
|
102 |
return true; |
|
103 |
} |
|
104 |
|
|
105 |
|
|
106 |
|
|
107 |
private TermVocabulary<NamedArea> createEuroMedAreas(BerlinModelImportState state) throws SQLException { |
|
91 | 108 |
|
92 | 109 |
logger.warn("Start creating E+M areas"); |
93 | 110 |
Source source = state.getConfig().getSource(); |
... | ... | |
344 | 361 |
/** |
345 | 362 |
* |
346 | 363 |
*/ |
347 |
private TermVocabulary<NamedArea> makeEmptyEuroMedVocabulary() { |
|
364 |
private OrderedTermVocabulary<NamedArea> makeEmptyEuroMedVocabulary() {
|
|
348 | 365 |
TermType type = TermType.NamedArea; |
349 | 366 |
String description = "Euro+Med area vocabulary"; |
350 | 367 |
String label = "E+M areas"; |
... | ... | |
357 | 374 |
return result; |
358 | 375 |
} |
359 | 376 |
|
360 |
@Override |
|
361 |
public boolean doPartition(@SuppressWarnings("rawtypes") ResultSetPartitioner partitioner, BerlinModelImportState state) { |
|
362 |
TermVocabulary<?> voc = getVocabularyService().find(BerlinModelTransformer.uuidVocEuroMedAreas); |
|
363 |
if (voc == null){ |
|
364 |
try { |
|
365 |
createEuroMedAreas(state); |
|
366 |
} catch (SQLException e) { |
|
367 |
logger.warn("Exception when creating areas: " + e.getMessage()); |
|
368 |
e.printStackTrace(); |
|
369 |
} |
|
377 |
|
|
378 |
/** |
|
379 |
* @param state |
|
380 |
*/ |
|
381 |
private void createCaucasusAreas(BerlinModelImportState state) { |
|
382 |
OrderedTermVocabulary<NamedArea> voc = makeEmptyCaucasusVocabulary(state); |
|
383 |
NamedArea last = null; |
|
384 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc1, "Western Ciscaucasia","WCC","1",""); |
|
385 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc1a, "Azov-Kuban","Az.-Kub.","1","a"); |
|
386 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc1b, "Western Stavropol","W. Stavr.","1","b"); |
|
387 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc2, "Eastern Ciscaucasia","ECC","2",""); |
|
388 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc2a, "Eastern Stavropol","E. Stavr.","2","a"); |
|
389 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc2b, "Terek-Kuma","Ter.-Kuma ","2","b"); |
|
390 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc2c, "Terek-Sulak","Ter.-Sul.","2","c"); |
|
391 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc3, "Western Caucasus","WC","3",""); |
|
392 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc3a, "Adagum-Pshish","Adag.-Pshish","3","a"); |
|
393 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc3b, "Belaja-Laba","Bel.-Laba","3","b"); |
|
394 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc3c, "Urup-Teberda","Urup-Teb.","3","c"); |
|
395 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc3d, "Upper Kuban","U. Kub.","3","d"); |
|
396 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc4, "Central Caucasus","CC","4",""); |
|
397 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc4a, "Upper Kuma","U. Kuma","4","a"); |
|
398 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc4b, "Malka","Malka","4","b"); |
|
399 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc4c, "Upper Terek","U. Ter.","4","c"); |
|
400 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc5, "Eastern Caucasus","EC","5",""); |
|
401 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc5a, "Assa-Argun","Assa-Arg.","5","a"); |
|
402 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc5b, "Upper Sulak","U. Sulak","5","b"); |
|
403 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc5c, "Manas-Samur","Man.-Samur","5","c"); |
|
404 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc5d, "Kubinsky","Kubin.","5","d"); |
|
405 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc6, "North-Western Transcaucasia","NWTC","6",""); |
|
406 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc6a, "Anapa-Gelendzhik","Anapa-Gel.","6","a"); |
|
407 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc6b, "Pshada-Dzubga","Pshada-Dzhubga ","6","b"); |
|
408 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc7, "Western Transcaucasia","WTC","7",""); |
|
409 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc7a, "Tuapse-Adler","Tuap.-Adl.","7","a"); |
|
410 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc7b, "Abkhasia","Abkh.","7","b"); |
|
411 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc7c, "Inguri-Rioni","Ing.-Rioni","7","c"); |
|
412 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc7d, "Rioni-Kvirili","Rioni-Kvir.","7","d"); |
|
413 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc7e, "Adzharia","Adzh.","7","e"); |
|
414 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc8, "Central Transcaucasia","CTC","8",""); |
|
415 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc8a, "Karthalinia-South Ossetia","Kart.-S. Oss.","8","a"); |
|
416 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc8b, "Trialetia-Lower Karthalinia","Trial.-L. Kart.","8","b"); |
|
417 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc8c, "Lori","Lori","8","c"); |
|
418 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc9, "Eastern Transcaucasia","ETC","9",""); |
|
419 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc9a, "Alazan-Agrichay","Alaz.-Agrich.","9","a"); |
|
420 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc9b, "Shirvan","Shirv.","9","b"); |
|
421 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc9c, "Iori-Sheki","Iori-Sheki","9","c"); |
|
422 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc9d, "Murghuz-Murovdagh","Murgh.-Murovd.","9","d"); |
|
423 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc9e, "Lower Kura","L. Kura","9","e"); |
|
424 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc9f, "Karabagh","Karab.","9","f"); |
|
425 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc10, "South-Western Transcaucasia","SWTC","10",""); |
|
426 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc10a, "Meskhetia","Meskh.","10","a"); |
|
427 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc10b, "Dzhavachetia-Upper Akhurjan","Dzhav.-U. Akh.","10","b"); |
|
428 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc10c, "Aragatz","Arag.","10","c"); |
|
429 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc11, "Southern Transcaucasia","STC","11",""); |
|
430 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc11a, "Erevan","Erev.","11","a"); |
|
431 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc11b, "Sevan","Sevan","11","b"); |
|
432 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc11c, "Daraleghiz","Dar.","11","c"); |
|
433 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc11d, "Nakhitshevan","Nakh.","11","d"); |
|
434 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc11e, "Zangezur","Zang.","11","e"); |
|
435 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc11f, "Megri-Zangelan","Megri-Zan.","11","f"); |
|
436 |
last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc11g, "Southern Karabagh","S. Karab.","11","g"); |
|
437 |
makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc12, "Talysch","T","12",""); |
|
438 |
} |
|
439 |
|
|
440 |
/** |
|
441 |
* @param state |
|
442 |
* @param voc |
|
443 |
* @param uuidCauc1 |
|
444 |
* @param string |
|
445 |
* @param string2 |
|
446 |
* @param string3 |
|
447 |
* @param string4 |
|
448 |
* @return |
|
449 |
*/ |
|
450 |
private NamedArea makeSingleArea(BerlinModelImportState state, OrderedTermVocabulary<NamedArea> voc, NamedArea last, |
|
451 |
UUID uuid, String label, String labelAbbrev, |
|
452 |
String mainLevel, String subLevel) { |
|
453 |
|
|
454 |
NamedArea namedArea = NamedArea.NewInstance(label, label, labelAbbrev); |
|
455 |
namedArea.setUuid(uuid); |
|
456 |
if (isBlank(subLevel)){ |
|
457 |
namedArea.setLevel(getNamedAreaLevel(state, BerlinModelTransformer.uuidCaucasusAreaLevelFirst, "Caucasus main areas", "Caucasus main areas", "Cauc. I", null)); |
|
458 |
}else{ |
|
459 |
namedArea.setLevel(getNamedAreaLevel(state, BerlinModelTransformer.uuidCaucasusAreaLevelSecond, "Caucasus sub areas", "Caucasus sub areas", "Cauc. II", null)); |
|
460 |
if(last.getPartOf() != null){ |
|
461 |
namedArea.setPartOf(last.getPartOf()); |
|
462 |
}else{ |
|
463 |
namedArea.setPartOf(last); |
|
464 |
} |
|
370 | 465 |
} |
371 |
return true; |
|
372 |
} |
|
466 |
String idInVoc = mainLevel + subLevel; |
|
467 |
namedArea.setIdInVocabulary(idInVoc); |
|
468 |
voc.addTerm(namedArea); |
|
469 |
return namedArea; |
|
470 |
} |
|
373 | 471 |
|
472 |
/** |
|
473 |
* @param state |
|
474 |
*/ |
|
475 |
private OrderedTermVocabulary<NamedArea> makeEmptyCaucasusVocabulary(BerlinModelImportState state) { |
|
476 |
TermType type = TermType.NamedArea; |
|
477 |
String description = "E+M Caucasus area vocabulary"; |
|
478 |
String label = "E+M Caucasus Areas"; |
|
479 |
String abbrev = null; |
|
480 |
URI termSourceUri = null; |
|
481 |
OrderedTermVocabulary<NamedArea> result = OrderedTermVocabulary.NewInstance(type, description, label, abbrev, termSourceUri); |
|
482 |
result.setUuid(BerlinModelTransformer.uuidVocCaucasusAreas); |
|
483 |
getVocabularyService().save(result); |
|
484 |
return result; |
|
485 |
} |
|
374 | 486 |
|
375 |
@Override
|
|
487 |
@Override
|
|
376 | 488 |
public Map<Object, Map<String, ? extends CdmBase>> getRelatedObjectsForPartition(ResultSet rs, BerlinModelImportState state) { |
377 |
|
|
378 | 489 |
Map<Object, Map<String, ? extends CdmBase>> result = new HashMap<>(); |
379 | 490 |
return result; |
380 | 491 |
} |
... | ... | |
388 | 499 |
|
389 | 500 |
@Override |
390 | 501 |
protected boolean isIgnore(BerlinModelImportState state){ |
391 |
if (! (state.getConfig().isDoOccurrence() || state.getConfig().isDoCommonNames())){ |
|
502 |
if (state.getConfig().isDoNamedAreas()){ |
|
503 |
return false; |
|
504 |
}else if (! (state.getConfig().isDoOccurrence() || state.getConfig().isDoCommonNames())){ |
|
392 | 505 |
return true; |
393 | 506 |
}else{ |
394 | 507 |
if (!this.checkSqlServerColumnExists(state.getConfig().getSource(), "emArea", "AreaId")){ |
Also available in: Unified diff
ref #7921 Caucasus area import for E+M