Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: aaae338b by tchemit at 2019-07-24T16:38:15Z [PS] Une espèce sans catégorie apparaît à tord dans le formulaire thons capturés - Closes #1367 - - - - - 2 changed files: - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/TargetCatchUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/TargetDiscardCatchUIHandler.java Changes: ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/TargetCatchUIHandler.java ===================================== @@ -41,19 +41,22 @@ import fr.ird.observe.dto.referential.SpeciesReference; import fr.ird.observe.dto.referential.seine.WeightCategoryHelper; import fr.ird.observe.dto.referential.seine.WeightCategoryReference; import fr.ird.observe.dto.result.SaveResultDto; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.nuiton.decorator.Decorator; import org.nuiton.jaxx.runtime.spi.UIHandler; import org.nuiton.jaxx.widgets.select.BeanFilterableComboBox; -import javax.swing.*; +import javax.swing.JComponent; +import javax.swing.JOptionPane; +import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import java.awt.Component; import java.awt.Container; import java.util.Collections; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; import static io.ultreia.java4all.i18n.I18n.n; import static io.ultreia.java4all.i18n.I18n.t; @@ -72,9 +75,11 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa addReferentialFilter(TargetCatchDto.PROPERTY_SPECIES, (ReferentialReferencesFilter<SpeciesDto, SpeciesReference>) incomingReferences -> { String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineTargetCatchId(); + Set<String> usedSpeciesId = getDataSource().getReferentialReferenceSet(WeightCategoryReference.class).toSet().stream().map(WeightCategoryReference::getSpeciesId).collect(Collectors.toSet()); String tripSeineId = getDataContext().getSelectedTripSeineId(); - List<SpeciesReference> result = getTripSeineService().getSpeciesByListAndTrip(tripSeineId, speciesListId).toList(); - return DtoReferenceCollection.filterEnabled(result); + List<SpeciesReference> allSpecies = getTripSeineService().getSpeciesByListAndTrip(tripSeineId, speciesListId).toList(); + List<SpeciesReference> speciesWithCategory = allSpecies.stream().filter(s -> usedSpeciesId.contains(s.getId())).collect(Collectors.toList()); + return DtoReferenceCollection.filterEnabled(speciesWithCategory); }); } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/TargetDiscardCatchUIHandler.java ===================================== @@ -58,6 +58,7 @@ import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.Set; +import java.util.stream.Collectors; import static io.ultreia.java4all.i18n.I18n.n; import static io.ultreia.java4all.i18n.I18n.t; @@ -78,9 +79,11 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT addReferentialFilter(TargetCatchDto.PROPERTY_SPECIES, (ReferentialReferencesFilter<SpeciesDto, SpeciesReference>) incomingReferences -> { String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineTargetCatchId(); + Set<String> usedSpeciesId = getDataSource().getReferentialReferenceSet(WeightCategoryReference.class).toSet().stream().map(WeightCategoryReference::getSpeciesId).collect(Collectors.toSet()); String tripSeineId = getDataContext().getSelectedTripSeineId(); - List<SpeciesReference> result = getTripSeineService().getSpeciesByListAndTrip(tripSeineId, speciesListId).toList(); - return DtoReferenceCollection.filterEnabled(result); + List<SpeciesReference> allSpecies = getTripSeineService().getSpeciesByListAndTrip(tripSeineId, speciesListId).toList(); + List<SpeciesReference> speciesWithCategory = allSpecies.stream().filter(s -> usedSpeciesId.contains(s.getId())).collect(Collectors.toList()); + return DtoReferenceCollection.filterEnabled(speciesWithCategory); }); } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/aaae338b321966ca631977007676... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/aaae338b321966ca631977007676... You're receiving this email because of your account on gitlab.com.