This is an automated email from the git hooks/post-receive script. New commit to branch feature/7846_import_generique_avec_taxons_referents_obsoletes in repository tutti. See http://git.codelutin.com/tutti.git commit be5a5414b7705d5ebb56d5bd7c038893d55b6c38 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 23 17:46:16 2015 +0100 Utilisation du dictionnaire des referents taxons obsolète lors d'un import générique (See #7846) --- .../GenericFormatReferentialSpeciesImportResult.java | 19 +++++++++++++++++-- .../GenericformatImportPersistenceHelper.java | 5 +++++ .../importactions/ImportReferentialSpeciesAction.java | 4 ++++ 3 files changed, 26 insertions(+), 2 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 0856ea5..fe0b3d2 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 @@ -62,9 +62,24 @@ public class GenericFormatReferentialSpeciesImportResult extends GenericFormatRe if (species == null) { species = entitiesLinked.get(originalId); } - Integer newReferenceTaxonId = species.getReferenceTaxonId(); - Integer oldReferenceTaxonId = entry.getValue(); + 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(); + } + referenceTaxonIdMap.put(oldReferenceTaxonId, newReferenceTaxonId); diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericformatImportPersistenceHelper.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericformatImportPersistenceHelper.java index c64408c..7dbbc93 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericformatImportPersistenceHelper.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericformatImportPersistenceHelper.java @@ -59,6 +59,7 @@ import org.apache.commons.collections4.CollectionUtils; import java.io.File; import java.util.Collection; import java.util.List; +import java.util.Map; import java.util.Set; /** @@ -284,4 +285,8 @@ public class GenericformatImportPersistenceHelper { public String getProtocolFirstAvailableName(String protocolOriginalName) { return persistenceService.getFirstAvailableName(protocolOriginalName); } + + public Map<Integer, Integer> getAllObsoleteReferentTaxons() { + return persistenceService.getAllObsoleteReferentTaxons(); + } } 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 2a57367..2ec40fe 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 @@ -111,6 +111,10 @@ public class ImportReferentialSpeciesAction extends ImportActionSupport { ReferentialImportResult<Species> referentialImportResult = persistenceHelper.importSpecies(referentialImportRequest); importFileResult.flushResult(referentialImportRequest, referentialImportResult); + + // On ajoute aussi le dictionnaire de taxons référents obsolètes + referenceTaxonIdById.putAll(persistenceHelper.getAllObsoleteReferentTaxons()); + importFileResult.flushReferenceTaxonIds(referenceTaxonIdById); if (log.isInfoEnabled()) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.