From 61118b887788df721f5dbb31fedba88dc24ebbc5 Mon Sep 17 00:00:00 2001 From: Jose Leite <122051639+joseleite550@users.noreply.github.com> Date: Fri, 28 Apr 2023 11:55:43 -0300 Subject: [PATCH] IDEMPIERE-5698 - Improvement for display all events errors (#1807) * IDEMPIERE-5698 - mprovement for display all events errors * IDEMPIERE-5698 - Improvement for display all events errors in all methods of class --- .../compiere/model/ModelValidationEngine.java | 42 +++++++++++++++---- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/ModelValidationEngine.java b/org.adempiere.base/src/org/compiere/model/ModelValidationEngine.java index 3529d8432d..ef25c3734b 100644 --- a/org.adempiere.base/src/org/compiere/model/ModelValidationEngine.java +++ b/org.adempiere.base/src/org/compiere/model/ModelValidationEngine.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.util.ArrayList; +import java.util.Collections; import java.util.Hashtable; import java.util.Iterator; import java.util.List; @@ -267,8 +268,14 @@ public class ModelValidationEngine EventManager.getInstance().sendEvent(event); @SuppressWarnings("unchecked") List errors = (List) event.getProperty(IEventManager.EVENT_ERROR_MESSAGES); - if (errors != null && !errors.isEmpty()) - return errors.get(0); + if (errors != null && !errors.isEmpty()) { + Collections.reverse(errors); + StringBuilder eventErrors = new StringBuilder(""); + for (String error : errors) { + eventErrors.append(error).append("
"); + } + return eventErrors.toString(); + } if ((AD_User_ID == SystemIDs.USER_SYSTEM || AD_User_ID == SystemIDs.USER_SUPERUSER) && AD_Role_ID == SystemIDs.ROLE_SYSTEM) ; // don't validate for user system on role system @@ -406,8 +413,14 @@ public class ModelValidationEngine EventManager.getInstance().sendEvent(event); @SuppressWarnings("unchecked") List errors = (List) event.getProperty(IEventManager.EVENT_ERROR_MESSAGES); - if (errors != null && !errors.isEmpty()) - return errors.get(0); + if (errors != null && !errors.isEmpty()) { + Collections.reverse(errors); + StringBuilder eventErrors = new StringBuilder(""); + for (String error : errors) { + eventErrors.append(error).append("
"); + } + return eventErrors.toString(); + } return null; } // fireModelChange @@ -573,9 +586,14 @@ public class ModelValidationEngine EventManager.getInstance().sendEvent(event); @SuppressWarnings("unchecked") List errors = (List) event.getProperty(IEventManager.EVENT_ERROR_MESSAGES); - if (errors != null && !errors.isEmpty()) - return errors.get(0); - + if (errors != null && !errors.isEmpty()) { + Collections.reverse(errors); + StringBuilder eventErrors = new StringBuilder(""); + for (String error : errors) { + eventErrors.append(error).append("
"); + } + return eventErrors.toString(); + } return null; } // fireDocValidate @@ -722,8 +740,14 @@ public class ModelValidationEngine EventManager.getInstance().sendEvent(event); @SuppressWarnings("unchecked") List errors = (List) event.getProperty(IEventManager.EVENT_ERROR_MESSAGES); - if (errors != null && !errors.isEmpty()) - return errors.get(0); + if (errors != null && !errors.isEmpty()) { + Collections.reverse(errors); + StringBuilder eventErrors = new StringBuilder(""); + for (String error : errors) { + eventErrors.append(error).append("
"); + } + return eventErrors.toString(); + } return null; } // fireFactsValidate