Project

General

Profile

« Previous | Next » 

Revision 3ef2e1bd

Added by Andreas Müller over 7 years ago

ref #5974 Remove synonym relationships (not finished yet)

View differences:

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