Author: tchemit Date: 2013-02-12 19:19:34 +0100 (Tue, 12 Feb 2013) New Revision: 401 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/401 Log: usage of synonyms Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-02-11 20:56:49 UTC (rev 400) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-02-12 18:19:34 UTC (rev 401) @@ -82,6 +82,7 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.Serializable; +import java.util.Collection; import java.util.EnumMap; import java.util.List; import java.util.Map; @@ -466,17 +467,27 @@ // fill available species from protocol - allSpecies = Lists.newArrayListWithCapacity(protocol.sizeSpecies()); + allSpecies = Lists.newArrayList(); if (!protocol.isSpeciesEmpty()) { - Map<String, Species> map = TuttiEntities.splitById(speciesUniverse); + + // split by referenceTaxonId + Multimap<String, Species> map = TuttiEntities.splitByReferenceTaxonId(speciesUniverse); + for (SpeciesProtocol protocolSpecy : protocol.getSpecies()) { - Species species = map.get(protocolSpecy.getSpeciesReferenceTaxonId()); - allSpecies.add(species); - speciesSampleCategories.put(species, SampleCategoryType.sortedUnsorted); - speciesSampleCategories.put(species, SampleCategoryType.size); - speciesSampleCategories.put(species, SampleCategoryType.sex); - speciesSampleCategories.put(species, SampleCategoryType.maturity); - speciesSampleCategories.put(species, SampleCategoryType.age); + + // referenceTaxonId + String referenceTaxonId = String.valueOf(protocolSpecy.getSpeciesReferenceTaxonId()); + + // all synonyms + Collection<Species> synonyms = map.get(referenceTaxonId); + allSpecies.addAll(synonyms); + for (Species species : synonyms) { + speciesSampleCategories.put(species, SampleCategoryType.sortedUnsorted); + speciesSampleCategories.put(species, SampleCategoryType.size); + speciesSampleCategories.put(species, SampleCategoryType.sex); + speciesSampleCategories.put(species, SampleCategoryType.maturity); + speciesSampleCategories.put(species, SampleCategoryType.age); + } } } } else {