branch feature/7846_import_generique_avec_taxons_referents_obsoletes updated (be5a541 -> 894f159)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7846_import_generique_avec_taxons_referents_obsoletes in repository tutti. See http://git.codelutin.com/tutti.git discards be5a541 Utilisation du dictionnaire des referents taxons obsolète lors d'un import générique (See #7846) discards 3793e24 Ajout d'une méthode sur le service de persistence pour récupérer le dictionnaire des referent taxon obsolètes (+ ajout d'un nouveau cache) adds 5a7656b ajout du champs de poids de sous echantillon sur l'ecran de creation de lot du benthos (refs #7278) adds f1b6e6f ajout du champs de poids de sous echantillon sur l'ecran de creation de lot d'especes (fixes #7278) adds 9e82f1e Mise à jour du mapping de l'aide en ligne adds 23d3230 Mise à jour du mapping de l'aide en ligne adds f504b6c - le poids de sous echantillon doit etre strictement inferieru au poids de catégorie - i18n (refs #7278) adds 686280c correction de la validation (les poids ventilés supérieurs au poids du lot, si on met un poids de sous echantillon, l'erreur ne disparait pas) (fixes #7278) adds 4de1cf6 Renommage de batchSampleWeight en batchSampleCategoryWeight (See #7278) adds 17a6ec6 Fixes #7278 Merge branch 'feature/7278' into develop adds 8dcabb7 permettre d'accéder aux mensuration directement après avroi créé le lot (refs #7157) adds 894bf43 permettre de mesurer le lot benthos tout juste créé (fixes #7157) adds d1b16dd Mise à jour du mapping de l'aide en ligne adds 3b15b01 sléection du premier lot mesurable (soit le lot créé s'il n'y a pas de catégorisation, soit le premier fils) (fixes #7157) adds 5d5af52 Fix help mapping adds e876710 Fixes #7157 Merge branch 'feature/7157' into develop adds dd5036d suppression multiple dans les listes de lots (fixes #6112) adds 67e7340 Correction de l'algorithme de suppression des lots en masse (ne pas supprimer un lot si son parent a déjà été supprimé) (See #6112) adds 9ba8340 Changement des niveaux de logs adds be5249d Fixes #6112 Merge branch 'feature/6112' into develop new 404778a Ajout d'une méthode sur le service de persistence pour récupérer le dictionnaire des referent taxon obsolètes (+ ajout d'un nouveau cache) new 894f159 Utilisation du dictionnaire des referents taxons obsolète lors d'un import générique (See #7846) This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (be5a541) \ N -- N -- N refs/heads/feature/7846_import_generique_avec_taxons_referents_obsoletes (894f159) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omits" are not gone; other references still refer to them. Any revisions marked "discards" are gone forever. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 894f1590170070a6653cf6216b72df6b94033ce4 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) commit 404778af449a0ac41f4ada26732beae15a35f203 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 23 17:45:47 2015 +0100 Ajout d'une méthode sur le service de persistence pour récupérer le dictionnaire des referent taxon obsolètes (+ ajout d'un nouveau cache) Summary of changes: .../src/main/filtered-resources/log4j.properties | 6 +- .../filtered-resources/tutti-help-fr.properties | 10 +- .../operation/catches/EditCatchesUIHandler.java | 35 ++++++- .../operation/catches/benthos/BenthosBatchUI.css | 2 - .../catches/benthos/BenthosBatchUIHandler.java | 32 +++++- .../benthos/actions/RemoveBenthosBatchAction.java | 109 ++++++++++++++------- .../benthos/create/CreateBenthosBatchUI.css | 27 ++++- .../benthos/create/CreateBenthosBatchUI.jaxx | 12 +++ .../create/CreateBenthosBatchUIHandler.java | 1 + .../benthos/create/CreateBenthosBatchUIModel.java | 36 ++++++- ...=> CreateBenthosBatchAndFrequenciesAction.java} | 29 ++++-- .../frequency/BenthosFrequencyCellComponent.java | 28 +++--- .../operation/catches/species/SpeciesBatchUI.css | 2 - .../catches/species/SpeciesBatchUIHandler.java | 29 +++++- .../species/actions/RemoveSpeciesBatchAction.java | 102 +++++++++++++------ .../species/create/CreateSpeciesBatchUI.css | 27 ++++- .../species/create/CreateSpeciesBatchUI.jaxx | 12 +++ .../create/CreateSpeciesBatchUIHandler.java | 1 + .../species/create/CreateSpeciesBatchUIModel.java | 31 ++++++ ...=> CreateSpeciesBatchAndFrequenciesAction.java} | 27 +++-- .../frequency/SpeciesFrequencyCellComponent.java | 20 ++-- .../CreateBenthosBatchUIModel-error-validation.xml | 34 +++++-- .../CreateSpeciesBatchUIModel-error-validation.xml | 31 +++++- .../resources/i18n/tutti-ui-swing_en_GB.properties | 29 ++++++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 35 +++++-- 25 files changed, 561 insertions(+), 146 deletions(-) copy tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/actions/{CreateBenthosBatchAndContinueAction.java => CreateBenthosBatchAndFrequenciesAction.java} (64%) copy tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/actions/{CreateSpeciesBatchAndCloseAction.java => CreateSpeciesBatchAndFrequenciesAction.java} (62%) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
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 404778af449a0ac41f4ada26732beae15a35f203 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 23 17:45:47 2015 +0100 Ajout d'une méthode sur le service de persistence pour récupérer le dictionnaire des referent taxon obsolètes (+ ajout d'un nouveau cache) --- .../tutti/persistence/TuttiPersistenceImpl.java | 5 +++ .../persistence/TuttiPersistenceNoDbImpl.java | 6 +++ .../service/ProtocolPersistenceServiceImpl.java | 1 + .../service/ReferentialPersistenceService.java | 8 ++-- .../referential/SpeciesPersistenceService.java | 18 +++++--- .../referential/SpeciesPersistenceServiceImpl.java | 51 ++++++++++++++++++++-- .../resources/applicationContext-service-tutti.xml | 4 ++ .../ifremer/tutti/service/PersistenceService.java | 6 ++- 8 files changed, 86 insertions(+), 13 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java index 7785bbd..8951e86 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java @@ -625,6 +625,11 @@ public class TuttiPersistenceImpl implements TuttiPersistence { } @Override + public Map<Integer, Integer> getAllObsoleteReferentTaxons() { + return getSpeciesService().getAllObsoleteReferentTaxons(); + } + + @Override public boolean isTemporarySpeciesUsed(Integer referenceTaxonId) { TuttiProtocol protocol = getProtocol(); diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java index f818246..2012d08 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java @@ -57,6 +57,7 @@ import java.io.File; import java.io.IOException; import java.util.Collection; import java.util.List; +import java.util.Map; import java.util.concurrent.Callable; /** @@ -407,6 +408,11 @@ public class TuttiPersistenceNoDbImpl implements TuttiPersistence { throw notImplemented(); } + @Override + public Map<Integer, Integer> getAllObsoleteReferentTaxons() { + throw notImplemented(); + } + //------------------------------------------------------------------------// //-- Program methods --// //------------------------------------------------------------------------// diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java index ca7bdc2..d2f8b88 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java @@ -78,6 +78,7 @@ public class ProtocolPersistenceServiceImpl extends AbstractPersistenceService i cacheService.clearCache("referentSpecies"); cacheService.clearCache("referentSpeciesById"); cacheService.clearCache("referentSpeciesByIdVernacular"); + cacheService.clearCache("obsoleteReferentTaxons"); } catch (Exception e) { //FIXME This diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java index 0ff41b0..526b910 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java @@ -283,7 +283,7 @@ public interface ReferentialPersistenceService extends TuttiPersistenceServiceIm * @since 1.0 */ @Transactional(readOnly = false) - @CacheEvict(value = {"species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular"}, allEntries = true) + @CacheEvict(value = {"species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular", "obsoleteReferentTaxons"}, allEntries = true) List<Species> importTemporarySpecies(List<Species> species); /** @@ -340,7 +340,7 @@ public interface ReferentialPersistenceService extends TuttiPersistenceServiceIm */ @Transactional(readOnly = false) @CacheEvict(value = {"fr.ifremer.adagio.core.dao.data.batch.CatchBatchCache", - "species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular"}, + "species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular", "obsoleteReferentTaxons"}, allEntries = true) void replaceSpecies(Species source, Species target, boolean delete); @@ -402,7 +402,7 @@ public interface ReferentialPersistenceService extends TuttiPersistenceServiceIm * @since 3.8 */ @Transactional(readOnly = false) - @CacheEvict(value = {"species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular"}, allEntries = true) + @CacheEvict(value = {"species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular", "obsoleteReferentTaxons"}, allEntries = true) void deleteTemporarySpecies(Integer id, boolean checkIfUsed); /** @@ -413,7 +413,7 @@ public interface ReferentialPersistenceService extends TuttiPersistenceServiceIm * @since 3.8 */ @Transactional(readOnly = false) - @CacheEvict(value = {"species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular"}, allEntries = true) + @CacheEvict(value = {"species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular", "obsoleteReferentTaxons"}, allEntries = true) void deleteTemporarySpecies(Collection<Integer> ids, boolean checkIfUsed); /** diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/SpeciesPersistenceService.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/SpeciesPersistenceService.java index 3cd3750..ead0ece 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/SpeciesPersistenceService.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/SpeciesPersistenceService.java @@ -32,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.Collection; import java.util.List; +import java.util.Map; /** * Created on 11/3/14. @@ -84,6 +85,13 @@ public interface SpeciesPersistenceService extends TuttiPersistenceServiceImplem Species getSpeciesByReferenceTaxonIdWithVernacularCode(Integer referenceTaxonId); /** + * @return the dictionnary of obsolete referent taxon (key: old id, value : new id) + * @since 4.2 + */ + @Cacheable(value = "obsoleteReferentTaxons") + Map<Integer, Integer> getAllObsoleteReferentTaxons(); + + /** * Check if the temporary species with the given {@code referenceTaxonId} is used. * * @param referenceTaxonId referenceTaxonId of the species to check @@ -99,7 +107,7 @@ public interface SpeciesPersistenceService extends TuttiPersistenceServiceImplem * @since 3.14 */ @Transactional(readOnly = false) - @CacheEvict(value = {"species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular"}, allEntries = true) + @CacheEvict(value = {"species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular", "obsoleteReferentTaxons"}, allEntries = true) List<Species> addTemporarySpecies(List<Species> species); /** @@ -110,7 +118,7 @@ public interface SpeciesPersistenceService extends TuttiPersistenceServiceImplem * @since 3.14 */ @Transactional(readOnly = false) - @CacheEvict(value = {"species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular"}, allEntries = true) + @CacheEvict(value = {"species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular", "obsoleteReferentTaxons"}, allEntries = true) List<Species> updateTemporarySpecies(List<Species> species); /** @@ -133,7 +141,7 @@ public interface SpeciesPersistenceService extends TuttiPersistenceServiceImplem */ @Transactional(readOnly = false) @CacheEvict(value = {"fr.ifremer.adagio.core.dao.data.batch.CatchBatchCache", - "species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular"}, + "species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular", "obsoleteReferentTaxons"}, allEntries = true) void replaceSpecies(Species source, Species target, boolean delete); @@ -144,7 +152,7 @@ public interface SpeciesPersistenceService extends TuttiPersistenceServiceImplem * @since 3.8 */ @Transactional(readOnly = false) - @CacheEvict(value = {"species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular"}, allEntries = true) + @CacheEvict(value = {"species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular", "obsoleteReferentTaxons"}, allEntries = true) void deleteTemporarySpecies(Collection<Integer> referenceTaxonIds); /** @@ -154,7 +162,7 @@ public interface SpeciesPersistenceService extends TuttiPersistenceServiceImplem * @since 3.8 */ @Transactional(readOnly = false) - @CacheEvict(value = {"species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular"}, allEntries = true) + @CacheEvict(value = {"species", "referentSpecies", "referentSpeciesById", "referentSpeciesByIdVernacular", "obsoleteReferentTaxons"}, allEntries = true) void deleteTemporarySpecies(Integer referenceTaxonId); } diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/SpeciesPersistenceServiceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/SpeciesPersistenceServiceImpl.java index e747ed9..a432cdf 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/SpeciesPersistenceServiceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/SpeciesPersistenceServiceImpl.java @@ -26,16 +26,20 @@ package fr.ifremer.tutti.persistence.service.referential; import com.google.common.base.Preconditions; import com.google.common.collect.Lists; -import fr.ifremer.adagio.core.dao.referential.taxon.ReferenceTaxonDao; import fr.ifremer.adagio.core.dao.referential.taxon.TaxonName; import fr.ifremer.adagio.core.dao.referential.taxon.TaxonNameExtendDao; import fr.ifremer.adagio.core.dao.referential.taxon.TaxonNameImpl; import fr.ifremer.adagio.core.dao.referential.taxon.TaxonRefVO; +import fr.ifremer.adagio.core.dao.referential.transcribing.TranscribingItemType; +import fr.ifremer.adagio.core.dao.referential.transcribing.TranscribingItemTypeDao; import fr.ifremer.adagio.core.dao.referential.transcribing.TranscribingItemTypeId; import fr.ifremer.adagio.core.dao.technical.hibernate.TemporaryDataHelper; import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.persistence.entities.referential.Speciess; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.hibernate.Query; import org.hibernate.type.IntegerType; import org.hibernate.type.StringType; import org.nuiton.jaxx.application.ApplicationBusinessException; @@ -47,6 +51,8 @@ import javax.annotation.Resource; import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.Map; +import java.util.TreeMap; /** * Created on 11/3/14. @@ -57,11 +63,16 @@ import java.util.List; @Service("speciesPersistenceService") public class SpeciesPersistenceServiceImpl extends ReferentialPersistenceServiceSupport implements SpeciesPersistenceService { + /** Logger. */ + private static final Log log = LogFactory.getLog(SpeciesPersistenceServiceImpl.class); + + public static final String TAXINOMIE_COMMUN_REFERENCE_HISTORY = "TAXINOMIE-COMMUN.REFERENCE_HISTORY"; + @Resource(name = "taxonNameDao") protected TaxonNameExtendDao taxonNameDao; - @Resource(name = "referenceTaxonDao") - protected ReferenceTaxonDao referenceTaxonDao; + @Resource(name = "transcribingItemTypeDao") + protected TranscribingItemTypeDao transcribingItemTypeDao; @Override public List<Species> getAllSpecies() { @@ -152,6 +163,40 @@ public class SpeciesPersistenceServiceImpl extends ReferentialPersistenceService } + @Override + public Map<Integer, Integer> getAllObsoleteReferentTaxons() { + + TranscribingItemType transcribingItemType = transcribingItemTypeDao.searchUniqueLabel(TAXINOMIE_COMMUN_REFERENCE_HISTORY); + + Map<Integer, Integer> result = new TreeMap<>(); + + if (transcribingItemType == null) { + + if (log.isWarnEnabled()) { + log.warn("Could not find transcribing item type with label: '" + TAXINOMIE_COMMUN_REFERENCE_HISTORY + "'"); + } + + } else { + + Query query = createQuery("allTranscribingForAType", "transcribingTypeId", IntegerType.INSTANCE, transcribingItemType.getId()); + + for (Object o : query.list()) { + Object[] cols = (Object[]) o; + Integer referencetaxonId = (Integer) cols[0]; + String externalCode = (String) cols[1]; + result.put(Integer.valueOf(externalCode), referencetaxonId); + } + + if (log.isInfoEnabled()) { + log.info("Loaded allObsoleteReferentTaxons : " + result.keySet()); + } + + } + + return result; + + } + protected Species getSpeciesByReferenceTaxonId(Integer referenceTaxonId, Integer transcribingTypeId) { diff --git a/tutti-persistence/src/main/resources/applicationContext-service-tutti.xml b/tutti-persistence/src/main/resources/applicationContext-service-tutti.xml index 29352ce..76a1206 100644 --- a/tutti-persistence/src/main/resources/applicationContext-service-tutti.xml +++ b/tutti-persistence/src/main/resources/applicationContext-service-tutti.xml @@ -100,6 +100,10 @@ <bean id="tuttiReferentSpeciesByIdVenacularCache" parent="abstractEternalCache"> <property name="cacheName" value="referentSpeciesByIdVernacular" /> </bean> + + <bean id="tuttiObsoleteReferentTaxonsCache" parent="abstractEternalCache"> + <property name="cacheName" value="obsoleteReferentTaxons" /> + </bean> <bean id="tuttiGearsCache" parent="abstractEternalCache"> <property name="cacheName" value="gears" /> diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java index e6ea9c2..b3b66aa 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java @@ -163,7 +163,6 @@ public class PersistenceService extends AbstractTuttiService implements TuttiPer return sourceList; } - public interface FrequencyFunction<S extends SpeciesAbleBatch, F extends SpeciesAbleBatchFrequency> extends Function<S, List<F>> { } @@ -671,6 +670,11 @@ public class PersistenceService extends AbstractTuttiService implements TuttiPer } @Override + public Map<Integer, Integer> getAllObsoleteReferentTaxons() { + return driver.getAllObsoleteReferentTaxons(); + } + + @Override public List<Caracteristic> getAllCaracteristic() { return driver.getAllCaracteristic(); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
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 894f1590170070a6653cf6216b72df6b94033ce4 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>.
participants (1)
-
codelutin.com scm