This is an automated email from the git hooks/post-receive script. New commit to branch develop-5.x in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit a90824bb8a35e6b3328668f02869eaf8d8cd4017 Author: Tony CHEMIT <dev@tchemit.fr> Date: Tue Jan 10 10:45:51 2017 +0100 (version 5) Lors de la suppression d'un programme, l'UI propose des programmes qui ne sont pas du type de la marée (Fixes #8935) --- .../swing/ui/content/ref/ContentReferenceUIHandler.java | 10 +++++++++- .../ird/observe/services/dto/referential/ProgramHelper.java | 11 ++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java index 419682b..1bcce10 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java @@ -30,9 +30,9 @@ import fr.ird.observe.application.swing.decoration.decorators.ReferentialReferen import fr.ird.observe.application.swing.ui.UIHelper; import fr.ird.observe.application.swing.ui.content.ContentMode; import fr.ird.observe.application.swing.ui.content.ContentUIHandler; -import fr.ird.observe.application.swing.ui.content.ref.usage.UsageForDisplayUI; import fr.ird.observe.application.swing.ui.content.ref.usage.UsageForDeleteUI; import fr.ird.observe.application.swing.ui.content.ref.usage.UsageForDesactivateUI; +import fr.ird.observe.application.swing.ui.content.ref.usage.UsageForDisplayUI; import fr.ird.observe.application.swing.ui.tree.ObserveTreeHelper; import fr.ird.observe.application.swing.validation.ValidationContext; import fr.ird.observe.services.dto.Form; @@ -42,6 +42,7 @@ import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.I18nReferentialDto; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ProgramHelper; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; @@ -679,6 +680,10 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content .filter(r -> !bean.getId().equals(r.getId())) .collect(Collectors.toList()); + if (ProgramDto.class.equals(getBeanType())) { + referenceList = (List) ProgramHelper.filterReferencesByGearType((List) referenceList, ((ProgramDto) bean).getGearType()); + } + Pair<Boolean, ReferentialReference<E>> result = showUsagesForDesactivated(getUi(), bean, usages, referenceList); boolean willsave = result.getLeft(); @@ -751,6 +756,9 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content log.debug("found some usages, ask user to select a replacement"); } + if (ProgramDto.class.equals(getBeanType())) { + referenceList = (List) ProgramHelper.filterReferencesByGearType((List) referenceList, ((ProgramDto) bean).getGearType()); + } Pair<Boolean, ReferentialReference<E>> result = showUsagesForDelete(ui, bean, usages, referenceList); Boolean canContinue = result.getLeft(); if (!canContinue) { diff --git a/services-dto/src/main/java/fr/ird/observe/services/dto/referential/ProgramHelper.java b/services-dto/src/main/java/fr/ird/observe/services/dto/referential/ProgramHelper.java index c91758b..6d8dcba 100644 --- a/services-dto/src/main/java/fr/ird/observe/services/dto/referential/ProgramHelper.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/referential/ProgramHelper.java @@ -24,6 +24,9 @@ package fr.ird.observe.services.dto.referential; import fr.ird.observe.services.dto.constants.GearType; +import java.util.List; +import java.util.stream.Collectors; + public class ProgramHelper extends GeneratedProgramHelper { public static boolean isProgramLongline(ReferentialReference<ProgramDto> programDtoRef) { @@ -54,8 +57,10 @@ public class ProgramHelper extends GeneratedProgramHelper { return result; } -// public static Iterable<ReferenceDto<ProgramDto>> filterReferencesByGearType(Iterable<ReferenceDto<ProgramDto>> programs, GearType gearType) { -// return Iterables.filter(programs, ReferenceDtos.newLabelValuePredicate(ProgramDto.PROPERTY_GEAR_TYPE, gearType)); -// } + public static List<ReferentialReference<ProgramDto>> filterReferencesByGearType(List<ReferentialReference<ProgramDto>> programs, GearType gearType) { + return programs.stream() + .filter(r -> gearType.equals(r.getPropertyValue(ProgramDto.PROPERTY_GEAR_TYPE))) + .collect(Collectors.toList()); + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.