mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-19 11:07:43 +00:00
Changed the references from a String to a list of Strings
This commit is contained in:
parent
93c19ace0e
commit
272138dad6
@ -47,7 +47,7 @@ class EmailMessage {
|
|||||||
private long id = -1L;
|
private long id = -1L;
|
||||||
private String messageID = "";
|
private String messageID = "";
|
||||||
private String inReplyToID = "";
|
private String inReplyToID = "";
|
||||||
private String references = "";
|
private List<String> references = null;
|
||||||
|
|
||||||
boolean hasAttachment() {
|
boolean hasAttachment() {
|
||||||
return hasAttachment;
|
return hasAttachment;
|
||||||
@ -226,7 +226,7 @@ class EmailMessage {
|
|||||||
*
|
*
|
||||||
* @return reference list or empty string if non is available.
|
* @return reference list or empty string if non is available.
|
||||||
*/
|
*/
|
||||||
String getReferences() {
|
List<String> getReferences() {
|
||||||
return references;
|
return references;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -235,7 +235,7 @@ class EmailMessage {
|
|||||||
*
|
*
|
||||||
* @param references
|
* @param references
|
||||||
*/
|
*/
|
||||||
void setReferences(String references) {
|
void setReferences(List<String> references) {
|
||||||
this.references = references;
|
this.references = references;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,14 +181,26 @@ class MboxParser {
|
|||||||
email.setLocalPath(localPath);
|
email.setLocalPath(localPath);
|
||||||
email.setMessageID(msg.getMessageId());
|
email.setMessageID(msg.getMessageId());
|
||||||
|
|
||||||
Field field = msg.getHeader().getField("in-reply-to"); //NON-NLS
|
Field field = msg.getHeader().getField("in-reply-to"); //NON-NLS
|
||||||
|
String inReplyTo = null;
|
||||||
|
|
||||||
if (field != null) {
|
if (field != null) {
|
||||||
email.setInReplyToID(field.getBody());
|
inReplyTo = field.getBody();
|
||||||
|
email.setInReplyToID(inReplyTo);
|
||||||
}
|
}
|
||||||
|
|
||||||
field = msg.getHeader().getField("references");
|
field = msg.getHeader().getField("references");
|
||||||
if (field != null ) {
|
if (field != null) {
|
||||||
email.setReferences(field.getBody());
|
List<String> references = new ArrayList<>();
|
||||||
|
for (String id : field.getBody().split(">")) {
|
||||||
|
references.add(id.trim() + ">");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!references.contains(inReplyTo)) {
|
||||||
|
references.add(inReplyTo);
|
||||||
|
}
|
||||||
|
|
||||||
|
email.setReferences(references);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Body
|
// Body
|
||||||
|
@ -193,13 +193,24 @@ class PstParser {
|
|||||||
email.setSubject(msg.getSubject());
|
email.setSubject(msg.getSubject());
|
||||||
email.setId(msg.getDescriptorNodeId());
|
email.setId(msg.getDescriptorNodeId());
|
||||||
email.setMessageID(msg.getInternetMessageId());
|
email.setMessageID(msg.getInternetMessageId());
|
||||||
email.setInReplyToID(msg.getInReplyToId());
|
|
||||||
|
String inReplyToID = msg.getInReplyToId();
|
||||||
|
email.setInReplyToID(inReplyToID);
|
||||||
|
|
||||||
if (msg.hasAttachments()) {
|
if (msg.hasAttachments()) {
|
||||||
extractAttachments(email, msg, fileID);
|
extractAttachments(email, msg, fileID);
|
||||||
}
|
}
|
||||||
|
|
||||||
email.setReferences(extractReferences(msg.getTransportMessageHeaders()));
|
List<String> references = extractReferences(msg.getTransportMessageHeaders());
|
||||||
|
if (inReplyToID != null && !inReplyToID.isEmpty()) {
|
||||||
|
if (references == null) {
|
||||||
|
references = new ArrayList<>();
|
||||||
|
references.add(inReplyToID);
|
||||||
|
} else if (!references.contains(inReplyToID)) {
|
||||||
|
references.add(inReplyToID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
email.setReferences(references);
|
||||||
|
|
||||||
return email;
|
return email;
|
||||||
}
|
}
|
||||||
@ -351,26 +362,31 @@ class PstParser {
|
|||||||
* Returns the references value from the email header.
|
* Returns the references value from the email header.
|
||||||
*
|
*
|
||||||
* @param emailHeader
|
* @param emailHeader
|
||||||
* @return
|
*
|
||||||
|
* @return A list of message-IDs
|
||||||
*/
|
*/
|
||||||
private String extractReferences( String emailHeader ){
|
private List<String> extractReferences(String emailHeader) {
|
||||||
Scanner scanner = new Scanner(emailHeader);
|
Scanner scanner = new Scanner(emailHeader);
|
||||||
StringBuilder buffer = null;
|
StringBuilder buffer = null;
|
||||||
while(scanner.hasNextLine()) {
|
while (scanner.hasNextLine()) {
|
||||||
String token = scanner.nextLine();
|
String token = scanner.nextLine();
|
||||||
|
|
||||||
if( token.matches("^References:.*") ) {
|
if (token.matches("^References:.*")) {
|
||||||
buffer = new StringBuilder();
|
buffer = new StringBuilder();
|
||||||
buffer.append((token.substring(token.indexOf(":")+1)).trim());
|
buffer.append((token.substring(token.indexOf(":") + 1)).trim());
|
||||||
} else if ( buffer != null ) {
|
} else if (buffer != null) {
|
||||||
if(token.matches("^\\w+:.*$")){
|
if (token.matches("^\\w+:.*$")) {
|
||||||
return buffer.toString();
|
List<String> references = new ArrayList<>();
|
||||||
|
for (String id : buffer.toString().split(">")) {
|
||||||
|
references.add(id.trim() + ">");
|
||||||
|
}
|
||||||
|
return references;
|
||||||
} else {
|
} else {
|
||||||
buffer.append(token.trim());
|
buffer.append(token.trim());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return "";
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user