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.

Reply via email to