This is an automated email from the git hooks/post-receive script. New commit to branch feature/7493_doublons_messages_validation in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 89aaf3b0f340d333c42378f22576275ff78b4ee9 Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Fri Aug 26 13:56:34 2016 +0200 Dedoublonne les messages de validations refs #7493 --- .../actions/validate/ValidationMessageDetector.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/validate/ValidationMessageDetector.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/validate/ValidationMessageDetector.java index 52bcc9f..57724c8 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/validate/ValidationMessageDetector.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/validate/ValidationMessageDetector.java @@ -258,9 +258,12 @@ public class ValidationMessageDetector { for (String messageToAdd : messagesToAdd) { String translateMessage = translateMessage(messageToAdd); - ValidationMessage validationMessage = new ValidationMessage(event.getScope(), event.getField(), translateMessage); - detectedMessages.put(currentEntity, validationMessage); + + if (!alreadyContains(detectedMessages.get(currentEntity), validationMessage)) { + detectedMessages.put(currentEntity, validationMessage); + } + if (log.isDebugEnabled()) { log.debug(String.format("On entity %s add message %s", currentEntity.getTopiaId(), validationMessage)); } @@ -270,6 +273,18 @@ public class ValidationMessageDetector { } + protected boolean alreadyContains(Collection<ValidationMessage> currentMessages, ValidationMessage validationMessage) { + return currentMessages + .stream() + .filter( + message -> message.getScope().equals(validationMessage.getScope()) + && message.getFieldName().equals(validationMessage.getFieldName()) + && message.getMessage().equals(validationMessage.getMessage()) + ) + .findFirst() + .isPresent(); + } + protected TopiaEntity getTopiaValue(Object value) { TopiaEntity entity = (TopiaEntity) (value != null && value instanceof TopiaEntity ? value : null); if (entity != null && explored.contains(entity)) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.