This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 731f13f07f312632e32fde5fc638c9284818017b Author: Benoit Tellier <[email protected]> AuthorDate: Mon Jan 31 10:26:13 2022 +0700 [REFACTORING] StripAttachment: use Optional to denote pattern absence --- .../james/transport/mailets/StripAttachment.java | 32 ++++++++-------------- 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/StripAttachment.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/StripAttachment.java index 9239a0c..c288f14 100644 --- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/StripAttachment.java +++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/StripAttachment.java @@ -118,8 +118,8 @@ public class StripAttachment extends GenericMailet { @VisibleForTesting String removeAttachments; private String directoryName; private Optional<AttributeName> attributeName; - private Pattern regExPattern; - private Pattern notRegExPattern; + private Optional<Pattern> regExPattern; + private Optional<Pattern> notRegExPattern; private String mimeType; private boolean decodeFilename; @@ -136,7 +136,7 @@ public class StripAttachment extends GenericMailet { regExPattern = regExFromParameter(PATTERN_PARAMETER_NAME); notRegExPattern = regExFromParameter(NOTPATTERN_PARAMETER_NAME); mimeType = getInitParameter(MIMETYPE_PARAMETER_NAME); - if (regExPattern == null && notRegExPattern == null && Strings.isNullOrEmpty(mimeType)) { + if (regExPattern.isEmpty() && notRegExPattern.isEmpty() && Strings.isNullOrEmpty(mimeType)) { throw new MailetException("At least one of '" + PATTERN_PARAMETER_NAME + "', '" + NOTPATTERN_PARAMETER_NAME + "' or '" + MIMETYPE_PARAMETER_NAME + "' parameter should be provided."); } @@ -165,13 +165,11 @@ public class StripAttachment extends GenericMailet { logConfiguration(); } - private Pattern regExFromParameter(String patternParameterName) throws MailetException { + private Optional<Pattern> regExFromParameter(String patternParameterName) throws MailetException { String patternString = getInitParameter(patternParameterName); try { - if (patternString != null) { - return Pattern.compile(patternString); - } - return null; + return Optional.ofNullable(patternString) + .map(Pattern::compile); } catch (Exception e) { throw new MailetException("Could not compile regex [" + patternString + "]."); } @@ -189,13 +187,9 @@ public class StripAttachment extends GenericMailet { if (LOGGER.isDebugEnabled()) { StringBuilder logMessage = new StringBuilder(); logMessage.append("StripAttachment is initialised with regex pattern ["); - if (regExPattern != null) { - logMessage.append(regExPattern.pattern()); - } + regExPattern.ifPresent(pattern -> logMessage.append(pattern.pattern())); logMessage.append(" / "); - if (notRegExPattern != null) { - logMessage.append(notRegExPattern.pattern()); - } + notRegExPattern.ifPresent(pattern -> logMessage.append(pattern.pattern())); logMessage.append(']'); if (directoryName != null) { @@ -426,15 +420,11 @@ public class StripAttachment extends GenericMailet { } private boolean patternsAreEquals() { - return regExPattern != null && notRegExPattern != null - && regExPattern.pattern().equals(notRegExPattern.pattern()); + return regExPattern.map(Pattern::pattern).equals(notRegExPattern.map(Pattern::pattern)); } - private Optional<Boolean> isMatchingPattern(String name, Pattern pattern) { - if (pattern != null) { - return Optional.of(pattern.matcher(name).matches()); - } - return Optional.empty(); + private Optional<Boolean> isMatchingPattern(String name, Optional<Pattern> pattern) { + return pattern.map(p -> p.matcher(name).matches()); } /** --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
