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-mime4j.git
commit 15d873873db4eceb0a0057cc1e46aa71fce155f8 Author: Benoit Tellier <btell...@linagora.com> AuthorDate: Tue Apr 18 09:21:12 2023 +0700 MIME4J-324 Avoid an extra copy of ContentDispositionFieldLenientImpl parameters --- .../java/org/apache/james/mime4j/util/MimeParameterMapping.java | 4 ++++ .../james/mime4j/field/ContentDispositionFieldLenientImpl.java | 8 +++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/org/apache/james/mime4j/util/MimeParameterMapping.java b/core/src/main/java/org/apache/james/mime4j/util/MimeParameterMapping.java index a3ffd44e..1335310e 100644 --- a/core/src/main/java/org/apache/james/mime4j/util/MimeParameterMapping.java +++ b/core/src/main/java/org/apache/james/mime4j/util/MimeParameterMapping.java @@ -30,6 +30,10 @@ public class MimeParameterMapping { return parameters; } + public String get(String name) { + return parameters.get(name); + } + public void addParameter(String name, String value) { String key = removeSectionFromName(name).toLowerCase(); if (parameters.containsKey(key)) { diff --git a/dom/src/main/java/org/apache/james/mime4j/field/ContentDispositionFieldLenientImpl.java b/dom/src/main/java/org/apache/james/mime4j/field/ContentDispositionFieldLenientImpl.java index 6abc127b..1291fbd0 100644 --- a/dom/src/main/java/org/apache/james/mime4j/field/ContentDispositionFieldLenientImpl.java +++ b/dom/src/main/java/org/apache/james/mime4j/field/ContentDispositionFieldLenientImpl.java @@ -51,7 +51,7 @@ public class ContentDispositionFieldLenientImpl extends AbstractField implements private boolean parsed = false; private String dispositionType = ""; - private final Map<String, String> parameters = new HashMap<String, String>(); + private final MimeParameterMapping mapping = new MimeParameterMapping(); private boolean creationDateParsed; private Date creationDate; @@ -78,14 +78,14 @@ public class ContentDispositionFieldLenientImpl extends AbstractField implements if (!parsed) { parse(); } - return parameters.get(name); + return mapping.get(name); } public Map<String, String> getParameters() { if (!parsed) { parse(); } - return Collections.unmodifiableMap(parameters); + return Collections.unmodifiableMap(mapping.getParameters()); } public boolean isDispositionType(String dispositionType) { @@ -160,11 +160,9 @@ public class ContentDispositionFieldLenientImpl extends AbstractField implements } else { dispositionType = null; } - MimeParameterMapping mapping = new MimeParameterMapping(); for (NameValuePair pair : body.getParams()) { mapping.addParameter(pair.getName(), pair.getValue()); } - parameters.putAll(mapping.getParameters()); } private Date parseDate(final String paramName) { --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org