DelegatingFieldParser NPE problem
---------------------------------
Key: MIME4J-139
URL: https://issues.apache.org/jira/browse/MIME4J-139
Project: JAMES Mime4j
Issue Type: Bug
Affects Versions: 0.6
Environment: jre 1.6.11
Reporter: Andrzej Rusin
Priority: Minor
We have custom ContentHandlers that extend AbstractContentHandler and add some
custom Fields that extend AbstractField.
We were getting:
java.lang.NullPointerException
at
org.apache.james.mime4j.field.DelegatingFieldParser.parse(DelegatingFieldParser.java:51)
at org.apache.james.mime4j.field.AbstractField.parse(AbstractField.java:171)
at org.apache.james.mime4j.field.AbstractField.parse(AbstractField.java:63)
at
org.apache.james.mime4j.message.MessageBuilder.field(MessageBuilder.java:101)
at
org.apache.james.mime4j.parser.MimeStreamParser.parse(MimeStreamParser.java:121)
at org.apache.james.mime4j.message.Message.<init>(Message.java:141)
at org.apache.james.mime4j.message.Message.<init>(Message.java:100)
always AFTER the MimeStreamParser got invoked with our content handlers (so,
not on our parsing, but eg. later, on normal
new Message(InputStream).
Looked like we are currupting something inside MimeStreamParser.
Then I noticed that DelegatingFieldParser.defaultParser is defined as:
private FieldParser defaultParser = UnstructuredField.PARSER;
while other field parsers have:
static final FieldParser PARSER = new FieldParser() {...}
So I changed DelegatingFieldParser.defaultParser to static final and the NPEs
do not occur anymore.
I do not undestand exactly why this happens, but that are the facts.
Is there any reason why DelegatingFieldParser.defaultParser can't be static
final?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.