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

Reply via email to