Revision 3ef2e1bd
Added by Andreas Müller over 7 years ago
cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/out/PesiRelTaxonExport.java | ||
---|---|---|
33 | 33 |
import eu.etaxonomy.cdm.model.name.TaxonNameBase; |
34 | 34 |
import eu.etaxonomy.cdm.model.taxon.Classification; |
35 | 35 |
import eu.etaxonomy.cdm.model.taxon.Synonym; |
36 |
import eu.etaxonomy.cdm.model.taxon.SynonymRelationship; |
|
37 | 36 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
38 | 37 |
import eu.etaxonomy.cdm.model.taxon.TaxonBase; |
39 | 38 |
import eu.etaxonomy.cdm.model.taxon.TaxonNode; |
... | ... | |
404 | 403 |
|
405 | 404 |
private boolean saveSynonymAndSynNameRelationships(PesiExportState state, Taxon childNodeTaxon) { |
406 | 405 |
boolean success = true; |
407 |
for (SynonymRelationship synRel : childNodeTaxon.getSynonymRelations()) { // synonyms of accepted taxon |
|
408 |
Synonym synonym = synRel.getSynonym(); |
|
406 |
for (Synonym synonym : childNodeTaxon.getSynonyms()) { // synonyms of accepted taxon |
|
409 | 407 |
TaxonNameBase<?,?> synonymTaxonName = synonym.getName(); |
410 | 408 |
if (! isPesiTaxon(synonym)){ |
411 |
logger.warn("Synonym " + synonym.getId() + " of synonym relation " + synRel.getId() + " is not a PESI taxon. Can't export relationship");
|
|
409 |
logger.warn("Synonym " + synonym.getId() + " is not a PESI taxon. Can't export relationship"); |
|
412 | 410 |
continue; |
413 | 411 |
} |
414 | 412 |
|
... | ... | |
416 | 414 |
invokeSynonyms(state, synonymTaxonName); |
417 | 415 |
|
418 | 416 |
|
417 |
try { |
|
418 |
if (neededValuesNotNull(synonym, state)) { |
|
419 |
doCount(count++, modCount, pluralString); |
|
420 |
success &= mapping.invoke(synonym); |
|
419 | 421 |
|
420 |
Set<SynonymRelationship> synonymRelations = synonym.getSynonymRelations(); |
|
421 |
state.setCurrentFromObject(synonym); |
|
422 |
for (SynonymRelationship synonymRelationship : synonymRelations) { //needed? Maybe to make sure that there are no partial synonym relations missed ?? |
|
423 |
try { |
|
424 |
if (neededValuesNotNull(synonymRelationship, state)) { |
|
425 |
doCount(count++, modCount, pluralString); |
|
426 |
success &= mapping.invoke(synonymRelationship); |
|
427 |
|
|
428 |
} |
|
429 |
} catch (SQLException e) { |
|
430 |
logger.error("SynonymRelationship (" + synonymRelationship.getUuid() + ") could not be stored : " + e.getMessage()); |
|
431 | 422 |
} |
423 |
} catch (SQLException e) { |
|
424 |
logger.error("Synonym (" + synonym.getUuid() + ") could not be stored : " + e.getMessage()); |
|
432 | 425 |
} |
433 | 426 |
|
427 |
|
|
434 | 428 |
// SynonymNameRelationship |
435 | 429 |
success &= saveNameRelationships(state, synonym); |
436 | 430 |
} |
... | ... | |
564 | 558 |
} |
565 | 559 |
} |
566 | 560 |
|
561 |
private boolean neededValuesNotNull(Synonym synonym, PesiExportState state) { |
|
562 |
boolean result = true; |
|
563 |
if (getTaxonFk1(synonym, state) == null) { |
|
564 |
logger.warn("TaxonFk1 is NULL, but is not allowed to be. Therefore no record was written to export database for this relationship: " + relationship.getUuid()); |
|
565 |
result = false; |
|
566 |
} |
|
567 |
return result; |
|
568 |
} |
|
569 |
|
|
570 |
|
|
567 | 571 |
/** |
568 | 572 |
* Checks whether needed values for an entity are NULL. |
569 | 573 |
* @return |
Also available in: Unified diff
ref #5974 Remove synonym relationships (not finished yet)