Removed "parseAllFields" parameters from the logic. Users that do not want to parse all of them will provide a custom FieldParser (Proposed refactoring for MIME4J-116)
git-svn-id: https://svn.apache.org/repos/asf/james/mime4j/branches/mime4j-116-refactoring@1138767 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dom/src/main/java/org/apache/james/mime4j/message/DefaultMessageBuilder.java b/dom/src/main/java/org/apache/james/mime4j/message/DefaultMessageBuilder.java
index fa27ac6..215e1a3 100644
--- a/dom/src/main/java/org/apache/james/mime4j/message/DefaultMessageBuilder.java
+++ b/dom/src/main/java/org/apache/james/mime4j/message/DefaultMessageBuilder.java
@@ -298,7 +298,7 @@
FieldParser<? extends ParsedField> fp = fieldParser != null ? fieldParser :
strict ? DefaultFieldParser.getParser() : LenientFieldParser.getParser();
MutableBodyDescriptorFactory bdf = bodyDescFactory != null ? bodyDescFactory :
- new MinimalBodyDescriptorFactory(fp, true);
+ new MinimalBodyDescriptorFactory(fp);
BodyFactory bf = bodyFactory != null ? bodyFactory : new BasicBodyFactory();
MimeStreamParser parser = new MimeStreamParser(cfg, mon, bdf);
// EntityBuilder expect the parser will send ParserFields for the well known fields
diff --git a/dom/src/main/java/org/apache/james/mime4j/message/MaximalBodyDescriptor.java b/dom/src/main/java/org/apache/james/mime4j/message/MaximalBodyDescriptor.java
index a2c5ccd..3cc45ab 100644
--- a/dom/src/main/java/org/apache/james/mime4j/message/MaximalBodyDescriptor.java
+++ b/dom/src/main/java/org/apache/james/mime4j/message/MaximalBodyDescriptor.java
@@ -61,16 +61,16 @@
}
protected MaximalBodyDescriptor(final BodyDescriptor parent) {
- this(parent, null, true, null);
+ this(parent, null, null);
}
- public MaximalBodyDescriptor(final BodyDescriptor parent, final FieldParser<?> fieldParser, final boolean parseAllFields, final DecodeMonitor monitor) {
- super(parent, fieldParser, parseAllFields, monitor);
+ public MaximalBodyDescriptor(final BodyDescriptor parent, final FieldParser<?> fieldParser, final DecodeMonitor monitor) {
+ super(parent, fieldParser, monitor);
}
@Override
public MutableBodyDescriptor newChild() {
- return new MaximalBodyDescriptor(this, getFieldParser(), getParseAllFields(), getDecodeMonitor());
+ return new MaximalBodyDescriptor(this, getFieldParser(), getDecodeMonitor());
}
@Override
diff --git a/dom/src/main/java/org/apache/james/mime4j/message/MaximalBodyDescriptorFactory.java b/dom/src/main/java/org/apache/james/mime4j/message/MaximalBodyDescriptorFactory.java
index f2a4d5e..1be58d8 100644
--- a/dom/src/main/java/org/apache/james/mime4j/message/MaximalBodyDescriptorFactory.java
+++ b/dom/src/main/java/org/apache/james/mime4j/message/MaximalBodyDescriptorFactory.java
@@ -27,20 +27,18 @@
public class MaximalBodyDescriptorFactory implements MutableBodyDescriptorFactory {
private final FieldParser<?> fieldParser;
- private final boolean parseAllFields;
public MaximalBodyDescriptorFactory() {
- this(null, false);
+ this(null);
}
public MaximalBodyDescriptorFactory(final
- FieldParser<?> fieldParser, final boolean parseAllFields) {
+ FieldParser<?> fieldParser) {
this.fieldParser = fieldParser;
- this.parseAllFields = parseAllFields;
}
public MutableBodyDescriptor newInstance(DecodeMonitor monitor) {
- return new MaximalBodyDescriptor(null, fieldParser, parseAllFields, monitor);
+ return new MaximalBodyDescriptor(null, fieldParser, monitor);
}
}
diff --git a/dom/src/main/java/org/apache/james/mime4j/message/MinimalBodyDescriptor.java b/dom/src/main/java/org/apache/james/mime4j/message/MinimalBodyDescriptor.java
index 7953316..5b34ebd 100644
--- a/dom/src/main/java/org/apache/james/mime4j/message/MinimalBodyDescriptor.java
+++ b/dom/src/main/java/org/apache/james/mime4j/message/MinimalBodyDescriptor.java
@@ -74,8 +74,6 @@
private final FieldParser<?> fieldParser;
- private final boolean parseAllFields;
-
/**
* Creates a new root <code>BodyDescriptor</code> instance.
*/
@@ -87,7 +85,7 @@
* Creates a new root <code>BodyDescriptor</code> instance with the given parent
*/
public MinimalBodyDescriptor(final BodyDescriptor parent) {
- this(parent, null, false, null);
+ this(parent, null, null);
}
/**
@@ -96,7 +94,7 @@
* @param parent the descriptor of the parent or <code>null</code> if this
* is the root descriptor.
*/
- public MinimalBodyDescriptor(final BodyDescriptor parent, final FieldParser<?> fieldParser, boolean parseAllFields, final DecodeMonitor monitor) {
+ public MinimalBodyDescriptor(final BodyDescriptor parent, final FieldParser<?> fieldParser, final DecodeMonitor monitor) {
if (parent != null && MimeUtil.isSameMimeType("multipart/digest", parent.getMimeType())) {
this.mimeType = EMAIL_MESSAGE_MIME_TYPE;
this.subType = SUB_TYPE_EMAIL;
@@ -107,7 +105,6 @@
this.mediaType = DEFAULT_MEDIA_TYPE;
}
this.fieldParser = fieldParser != null ? fieldParser : DefaultFieldParser.getParser();
- this.parseAllFields = parseAllFields;
this.monitor = monitor != null ? monitor : DecodeMonitor.SILENT;
}
@@ -119,12 +116,8 @@
return fieldParser;
}
- protected boolean getParseAllFields() {
- return parseAllFields;
- }
-
public MutableBodyDescriptor newChild() {
- return new MinimalBodyDescriptor(this, getFieldParser(), getParseAllFields(), getDecodeMonitor());
+ return new MinimalBodyDescriptor(this, getFieldParser(), getDecodeMonitor());
}
/**
@@ -141,9 +134,9 @@
return parseContentLength(field);
} else if (name.equalsIgnoreCase(FieldName.CONTENT_TYPE) && contentTypeField == null) {
return parseContentType(field);
- } else if (getParseAllFields()) {
+ } else {
return getFieldParser().parse(field, monitor);
- } else return null;
+ }
}
private ParsedField parseContentTransferEncoding(Field field) throws MimeException {
diff --git a/dom/src/main/java/org/apache/james/mime4j/message/MinimalBodyDescriptorFactory.java b/dom/src/main/java/org/apache/james/mime4j/message/MinimalBodyDescriptorFactory.java
index ec17d61..9c8855f 100644
--- a/dom/src/main/java/org/apache/james/mime4j/message/MinimalBodyDescriptorFactory.java
+++ b/dom/src/main/java/org/apache/james/mime4j/message/MinimalBodyDescriptorFactory.java
@@ -27,16 +27,14 @@
public class MinimalBodyDescriptorFactory implements MutableBodyDescriptorFactory {
private final FieldParser<?> fieldParser;
- private final boolean parseAllFields;
public MinimalBodyDescriptorFactory(final
- FieldParser<?> fieldParser, final boolean parseAllFields) {
+ FieldParser<?> fieldParser) {
this.fieldParser = fieldParser;
- this.parseAllFields = parseAllFields;
}
public MutableBodyDescriptor newInstance(DecodeMonitor monitor) {
- return new MinimalBodyDescriptor(null, fieldParser, parseAllFields, monitor);
+ return new MinimalBodyDescriptor(null, fieldParser, monitor);
}
}
diff --git a/dom/src/test/java/org/apache/james/mime4j/message/MaximalBodyDescriptorTest.java b/dom/src/test/java/org/apache/james/mime4j/message/MaximalBodyDescriptorTest.java
index 2d85bcf..898a5f8 100644
--- a/dom/src/test/java/org/apache/james/mime4j/message/MaximalBodyDescriptorTest.java
+++ b/dom/src/test/java/org/apache/james/mime4j/message/MaximalBodyDescriptorTest.java
@@ -41,7 +41,7 @@
MimeEntityConfig config = new MimeEntityConfig();
config.setStrictParsing(true);
parser = new MimeTokenStream(config,
- new MaximalBodyDescriptorFactory(null, false));
+ new MaximalBodyDescriptorFactory(null));
}
@Override