Project

General

Profile

« Previous | Next » 

Revision ab4a17f5

Added by Andreas Müller over 4 years ago

2717 fix finding kingdom for valueless EM taxa

View differences:

cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/out/PesiTaxonExport.java
288 288
    				    }else{
289 289
    				        logger.warn("Kingdom taxon is not of class Taxon but " + taxon.getClass().getSimpleName() + ": " + nvn.getGenusOrUninomial());
290 290
    				    }
291
    				}else if (taxon.getUuid().equals(PesiTransformer.uuidTaxonValuelessEuroMed)){
292
    				    String treeIndex = ((Taxon)taxon).getTaxonNodes().iterator().next().treeIndex();
293
                        Integer kingdomId = PesiTransformer.pesiKingdomMap.get("Plantae");
294
                        state.getTreeIndexKingdomMap().put(treeIndex, kingdomId);
295 291
    				}
296 292
				}catch(NullPointerException e){
297 293
				    logger.error(nvn.getTitleCache() + " has no Rank!");
......
476 472
			logger.info ("Ignore PHASE 3: Add Rank data, KingdomFk, TypeNameFk, expertFk and speciesExpertFk...");
477 473
			return success;
478 474
		}
475

  
476
		addValuelessTaxonToKingdomMap(state);
477

  
479 478
		// Get the limit for objects to save within a single transaction.
480 479
		int limit = state.getConfig().getLimitSave();
481 480

  
......
537 536
		return success;
538 537
	}
539 538

  
539
    private void addValuelessTaxonToKingdomMap(PesiExportState state) {
540
        TransactionStatus txStatus = startTransaction();
541
        Taxon valuelessTaxon = (Taxon)getTaxonService().find(PesiTransformer.uuidTaxonValuelessEuroMed);
542
        if (valuelessTaxon != null){
543
            String treeIndex = valuelessTaxon.getTaxonNodes().iterator().next().treeIndex();
544
            Integer kingdomId = PesiTransformer.pesiKingdomMap.get("Plantae");
545
            state.getTreeIndexKingdomMap().put(treeIndex, kingdomId);
546
        }
547
        commitTransaction(txStatus);
548
    }
549

  
540 550
    // 4th round: Add TreeIndex to each taxon
541 551
    private boolean doPhase04(PesiExportState state) {
542 552
        boolean success = true;

Also available in: Unified diff