diff --git a/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java b/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java index 0a9966556b..3bb0d17d2f 100644 --- a/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java +++ b/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java @@ -241,9 +241,7 @@ protected boolean exceedsMaxStringLength(String fieldName, String fieldValue) { LocalizedMessage localizedMessage = new LocalizedMessage(this.getClass(), STRUTS_MESSAGES_UPLOAD_ERROR_PARAMETER_TOO_LONG_KEY, null, new Object[]{fieldName, maxStringLength, fieldValue.length()}); - if (!errors.contains(localizedMessage)) { - errors.add(localizedMessage); - } + addErrorIfAbsent(localizedMessage); return true; } return false; @@ -278,15 +276,17 @@ public void parse(HttpServletRequest request, String saveDir) throws IOException } LocalizedMessage errorMessage = buildErrorMessage(exClass, e.getMessage(), args); - if (!errors.contains(errorMessage)) { - errors.add(errorMessage); - } + addErrorIfAbsent(errorMessage); } catch (IOException e) { LOG.warn("Unable to parse request", e); LocalizedMessage errorMessage = buildErrorMessage(e.getClass(), e.getMessage(), new Object[]{}); - if (!errors.contains(errorMessage)) { - errors.add(errorMessage); - } + addErrorIfAbsent(errorMessage); + } + } + + private void addErrorIfAbsent(LocalizedMessage errorMessage) { + if (!errors.contains(errorMessage)) { + errors.add(errorMessage); } } @@ -449,9 +449,7 @@ protected boolean rejectEmptyFile(long fileSize, String fileName, String fieldNa "Empty files are not allowed", new Object[]{fileName, fieldName} ); - if (!errors.contains(errorMessage)) { - errors.add(errorMessage); - } + addErrorIfAbsent(errorMessage); return true; } return false;