This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit d974af9432922d7a46af8b2daf335193a1737170 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Jan 5 16:43:57 2016 +0100 Amélioration du code de dictionnaire des taxons obstolètes et importés --- ...enericFormatReferentialSpeciesImportResult.java | 38 ++++++++++------------ .../ImportReferentialSpeciesAction.java | 2 +- 2 files changed, 18 insertions(+), 22 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatReferentialSpeciesImportResult.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatReferentialSpeciesImportResult.java index ea226ec..38b9b58 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatReferentialSpeciesImportResult.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatReferentialSpeciesImportResult.java @@ -24,9 +24,9 @@ package fr.ifremer.tutti.service.genericformat; * #L% */ +import com.google.common.collect.ImmutableMap; import fr.ifremer.tutti.persistence.entities.referential.Species; -import java.util.Collections; import java.util.Map; import java.util.TreeMap; @@ -40,17 +40,23 @@ public class GenericFormatReferentialSpeciesImportResult extends GenericFormatRe private static final long serialVersionUID = 1L; - private Map<Integer, Integer> referenceTaxonIdTranslationMap; + private ImmutableMap<Integer, Integer> referenceTaxonIdTranslationMap; public GenericFormatReferentialSpeciesImportResult(String filename, boolean found) { super(filename, found); - this.referenceTaxonIdTranslationMap = new TreeMap<>(); + this.referenceTaxonIdTranslationMap = ImmutableMap.of(); } public Map<Integer, Integer> getReferenceTaxonIdTranslationMap() { return referenceTaxonIdTranslationMap; } + public void flushObsoleteReferenceTaxonIds(Map<Integer, Integer> referenceTaxonIdById) { + + referenceTaxonIdTranslationMap = ImmutableMap.copyOf(referenceTaxonIdById); + + } + public void flushReferenceTaxonIds(Map<Integer, Integer> referenceTaxonIdById) { Map<Integer, Integer> referenceTaxonIdMap = new TreeMap<>(); @@ -63,29 +69,19 @@ public class GenericFormatReferentialSpeciesImportResult extends GenericFormatRe species = entitiesLinked.get(originalId); } - Integer newReferenceTaxonId; - Integer oldReferenceTaxonId; - if (species == null) { - - // il s'agit d'un taxon qui vient des referents taxon obsoletes - // et qui n'a pas été importé - - oldReferenceTaxonId = oldId; - newReferenceTaxonId = entry.getValue(); - - } else { - - // il s'agit d'un taxon importé, on effectue la correspondance - oldReferenceTaxonId = entry.getValue(); - newReferenceTaxonId = species.getReferenceTaxonId(); - } - + // il s'agit d'un taxon importé, on effectue la correspondance + Integer oldReferenceTaxonId = entry.getValue(); + Integer newReferenceTaxonId = species.getReferenceTaxonId(); referenceTaxonIdMap.put(oldReferenceTaxonId, newReferenceTaxonId); } - referenceTaxonIdTranslationMap = Collections.unmodifiableMap(referenceTaxonIdMap); + referenceTaxonIdTranslationMap = ImmutableMap + .<Integer, Integer>builder() + .putAll(referenceTaxonIdTranslationMap) + .putAll(referenceTaxonIdMap) + .build(); } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportReferentialSpeciesAction.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportReferentialSpeciesAction.java index 2ec40fe..1306043 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportReferentialSpeciesAction.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportReferentialSpeciesAction.java @@ -113,7 +113,7 @@ public class ImportReferentialSpeciesAction extends ImportActionSupport { importFileResult.flushResult(referentialImportRequest, referentialImportResult); // On ajoute aussi le dictionnaire de taxons référents obsolètes - referenceTaxonIdById.putAll(persistenceHelper.getAllObsoleteReferentTaxons()); + importFileResult.flushObsoleteReferenceTaxonIds(persistenceHelper.getAllObsoleteReferentTaxons()); importFileResult.flushReferenceTaxonIds(referenceTaxonIdById); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.