[
https://issues.apache.org/jira/browse/TIKA-2044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15962208#comment-15962208
]
ASF GitHub Bot commented on TIKA-2044:
--------------------------------------
grossws commented on a change in pull request #166: fix for TIKA-2044
contributed by wko27
URL: https://github.com/apache/tika/pull/166#discussion_r110549163
##########
File path:
tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java
##########
@@ -67,23 +63,73 @@
private static final Pattern EMAIL_ADDRESS_PATTERN =
Pattern.compile("<(.*@.*)>");
private static final String EMAIL_HEADER_METADATA_PREFIX = "MboxParser-";
- private static final String EMAIL_FROMLINE_METADATA =
EMAIL_HEADER_METADATA_PREFIX + "from";
- private final Map<Integer, Metadata> trackingMetadata = new
HashMap<Integer, Metadata>();
- private boolean tracking = false;
+ static final String EMAIL_FROMLINE_METADATA = EMAIL_HEADER_METADATA_PREFIX
+ "from";
+ private static final SimpleDateFormat DATE_FORMAT = new
SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", Locale.US);
Review comment:
Why are you sure that `MboxParser` would never be called from different
threads?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> MboxParser wrongly concatenates multiple text lines into single header line
> ---------------------------------------------------------------------------
>
> Key: TIKA-2044
> URL: https://issues.apache.org/jira/browse/TIKA-2044
> Project: Tika
> Issue Type: Bug
> Affects Versions: 1.13
> Environment: Tika 1.13, and 1.14 nightly build at the time of this
> writing
> Reporter: Vjeran Marcinko
>
> MboxParser combines multiple text lines into single header value by
> (suposedly) using LIFO structure (stack - java deque), but instead it uses
> FIFO (queue) to fetch last inserted line and to extend it with current line
> in incorrect way:
> Current code:
> Queue<String> multiline = new LinkedList<String>();
> ... few lines below...
> String latestLine = multiline.poll();
> Whereas it should be:
> Deque<String> multiline = new LinkedList<String>();
> ... few lines below...
> String latestLine = multiline.pollLast();
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)