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 d9ebd307154b8d0029f722d9f19d642edaf943cf Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Feb 17 16:44:59 2015 +0100 utilisation des méthodes utilitaire du protocol --- .../tutti/persistence/TuttiPersistenceImpl.java | 39 ++++------------------ .../i18n/tutti-persistence_en_GB.properties | 1 + .../i18n/tutti-persistence_fr_FR.properties | 1 + 3 files changed, 9 insertions(+), 32 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 7f6b4b8..c8664f9 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 @@ -51,7 +51,6 @@ import fr.ifremer.tutti.persistence.entities.referential.Gear; import fr.ifremer.tutti.persistence.entities.referential.ObjectType; import fr.ifremer.tutti.persistence.entities.referential.Person; import fr.ifremer.tutti.persistence.entities.referential.Species; -import fr.ifremer.tutti.persistence.entities.referential.Speciess; import fr.ifremer.tutti.persistence.entities.referential.TuttiLocation; import fr.ifremer.tutti.persistence.entities.referential.TuttiReferentialEntity; import fr.ifremer.tutti.persistence.entities.referential.Vessel; @@ -87,7 +86,6 @@ import java.io.File; import java.io.IOException; import java.sql.SQLException; import java.util.Collection; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.concurrent.Callable; @@ -881,38 +879,15 @@ public class TuttiPersistenceImpl implements TuttiPersistence { // sanity it (remove all bad species and benthos) // see http://forge.codelutin.com/issues/4154 + List<Species> allReferentSpecies = getAllReferentSpecies(); - Map<String, Species> map = Speciess.splitReferenceSpeciesByReferenceTaxonId(allReferentSpecies); - - if (!protocol.isSpeciesEmpty()) { - Iterator<SpeciesProtocol> iterator = protocol.getSpecies().iterator(); - while (iterator.hasNext()) { - SpeciesProtocol speciesProtocol = iterator.next(); - String taxonId = String.valueOf(speciesProtocol.getSpeciesReferenceTaxonId()); - Species species = map.get(taxonId); - if (species == null) { - if (log.isWarnEnabled()) { - log.warn("Could not find protocol species " + taxonId + " (" + speciesProtocol.getSpeciesSurveyCode() + ") in referential."); - } - iterator.remove(); - } - } - } - if (!protocol.isBenthosEmpty()) { - Iterator<SpeciesProtocol> iterator = protocol.getBenthos().iterator(); - while (iterator.hasNext()) { - SpeciesProtocol speciesProtocol = iterator.next(); - String taxonId = String.valueOf(speciesProtocol.getSpeciesReferenceTaxonId()); - Species species = map.get(taxonId); - if (species == null) { - if (log.isWarnEnabled()) { - log.warn("Could not find protocol benthos " + taxonId + " (" + speciesProtocol.getSpeciesSurveyCode() + ") in referential."); - } - iterator.remove(); - } - } - } + Map<Integer, String> missingSpecies = TuttiProtocols.detectMissingSpecies(protocol, allReferentSpecies); + TuttiProtocols.removeBadSpecies(protocol, missingSpecies); + + Map<Integer, String> missingBenthos = TuttiProtocols.detectMissingBenthos(protocol, allReferentSpecies); + TuttiProtocols.removeBadBenthos(protocol, missingBenthos); + return protocol; } diff --git a/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties b/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties index 71533a6..373d386 100644 --- a/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties +++ b/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties @@ -110,6 +110,7 @@ tutti.persistence.error.no.convertor= tutti.persistence.error.protocol.benthos.not.found= tutti.persistence.error.protocol.categories.not.compatible= tutti.persistence.error.protocol.species.not.found= +tutti.persistence.error.species.withNoSurveyCodeOrRefTaxCode= tutti.persistence.loader.error= tutti.persistence.protocol.delete.error= tutti.persistence.protocol.fromFile.error= diff --git a/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties b/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties index ecd60d9..166aafc 100644 --- a/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties +++ b/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties @@ -106,6 +106,7 @@ tutti.persistence.error.no.convertor=Impossible de convertir en modèle de caté tutti.persistence.error.protocol.benthos.not.found=Le protocole utilise des benthos non connus dans le référentiel \: <ul>%s</ul> tutti.persistence.error.protocol.categories.not.compatible=Le protocole utilise des catégories non connues par la configuration des catégorisations \: <ul>%s</ul> tutti.persistence.error.protocol.species.not.found=Le protocole utilise des espèces non connues dans le référentiel \: <ul>%s</ul> +tutti.persistence.error.species.withNoSurveyCodeOrRefTaxCode=Une espèce (referenceId %s, nom scientifique %s) n'a ni code campagne, ni code refTax. tutti.persistence.loader.error=Erreur de conversion du dossier %s en URL tutti.persistence.protocol.delete.error=Erreur lors de la suppression du protocole %1s (fichier %2s) tutti.persistence.protocol.fromFile.error=Erreur lors de l'import du protocole du fichier %s -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.