diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContent.java b/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContent.java index d97e980a8b..9de0e95462 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContent.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContent.java @@ -227,6 +227,7 @@ public class ExtractedContent implements AutopsyVisitableItem { // maps the artifact type to its child node private final HashMap typeNodeList = new HashMap<>(); + @SuppressWarnings("deprecation") TypeFactory() { super(); diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/DataResultFilterNode.java b/Core/src/org/sleuthkit/autopsy/directorytree/DataResultFilterNode.java index 1eb22316c4..ea7a3220b6 100644 --- a/Core/src/org/sleuthkit/autopsy/directorytree/DataResultFilterNode.java +++ b/Core/src/org/sleuthkit/autopsy/directorytree/DataResultFilterNode.java @@ -259,17 +259,19 @@ public class DataResultFilterNode extends FilterNode { protected Node[] createNodes(Node key) { // if displaying the results from the Data Source tree // filter out artifacts - // unless there are message artifacts with attachments as children + + // In older versions of Autopsy, attachments were children of email/message artifacts + // and hence email/messages with attachments are shown in the tree data source tree, BlackboardArtifact art = key.getLookup().lookup(BlackboardArtifact.class); if (art != null && filterArtifacts - && ((DirectoryTreeUtils.showMessagesInDirTree() == false) - || (DirectoryTreeUtils.showMessagesInDirTree() + && ((FilterNodeUtils.showMessagesInDatasourceTree() == false) + || (FilterNodeUtils.showMessagesInDatasourceTree() && art.getArtifactTypeID() != BlackboardArtifact.ARTIFACT_TYPE.TSK_EMAIL_MSG.getTypeID() && art.getArtifactTypeID() != BlackboardArtifact.ARTIFACT_TYPE.TSK_MESSAGE.getTypeID()))) { return new Node[]{}; } - return new Node[]{new DataResultFilterNode(key, sourceEm)}; + return new Node[]{new DataResultFilterNode(key, sourceEm)}; } } diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java b/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java index c5d5712ec8..06a0b18c10 100644 --- a/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java +++ b/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java @@ -132,7 +132,7 @@ class DirectoryTreeFilterNode extends FilterNode { } } else if (child instanceof BlackboardArtifact) { - if (DirectoryTreeUtils.showMessagesInDirTree()) { + if (FilterNodeUtils.showMessagesInDatasourceTree()) { // In older versions of Autopsy, attachments were children of email/message artifacts // and hence email/messages with attachments are shown in the directory tree. BlackboardArtifact bba = (BlackboardArtifact) child; diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeUtils.java b/Core/src/org/sleuthkit/autopsy/directorytree/FilterNodeUtils.java similarity index 83% rename from Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeUtils.java rename to Core/src/org/sleuthkit/autopsy/directorytree/FilterNodeUtils.java index 40b3954897..ce8344862c 100644 --- a/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeUtils.java +++ b/Core/src/org/sleuthkit/autopsy/directorytree/FilterNodeUtils.java @@ -26,7 +26,7 @@ import org.sleuthkit.datamodel.CaseDbSchemaVersionNumber; * Utility class for Directory tree. * */ -final class DirectoryTreeUtils { +final class FilterNodeUtils { private static final int ATTACHMENT_CHILDOF_MSG_MAX_DB_MAJOR_VER = 8; private static final int ATTACHMENT_CHILDOF_MSG_MAX_DB_MINOR_VER = 4; @@ -34,7 +34,7 @@ final class DirectoryTreeUtils { /** * Empty private constructor */ - private DirectoryTreeUtils() { + private FilterNodeUtils() { } @@ -43,8 +43,8 @@ final class DirectoryTreeUtils { * hence messages with any attachment children are shown in the directory * tree. * - * At 8.4, attachments are tracked as an attribute, and the message artifact - * don't need to be shown in the directory tree. + * At 8.4 and later, attachments are tracked as an attribute, and the message + * artifacts don't need to be shown in the directory tree. * * This method may be used to check the schema version and behave * accordingly, in order to maintain backward compatibility. @@ -52,15 +52,15 @@ final class DirectoryTreeUtils { * @return True if messages with attachment children should be shown in * directory tree. */ - static boolean showMessagesInDirTree() { - boolean showMessagesInDirTree = true; + static boolean showMessagesInDatasourceTree() { + boolean showMessagesInDatasourceTree = true; if (Case.isCaseOpen()) { CaseDbSchemaVersionNumber version = Case.getCurrentCase().getSleuthkitCase().getDBSchemaCreationVersion(); - showMessagesInDirTree + showMessagesInDatasourceTree = ((version.getMajor() < ATTACHMENT_CHILDOF_MSG_MAX_DB_MAJOR_VER) || (version.getMajor() == ATTACHMENT_CHILDOF_MSG_MAX_DB_MAJOR_VER && version.getMinor() < ATTACHMENT_CHILDOF_MSG_MAX_DB_MINOR_VER)); } - return showMessagesInDirTree; + return showMessagesInDatasourceTree; } } diff --git a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/ThunderbirdMboxFileIngestModule.java b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/ThunderbirdMboxFileIngestModule.java index 419173fcff..983e59e6b4 100644 --- a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/ThunderbirdMboxFileIngestModule.java +++ b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/ThunderbirdMboxFileIngestModule.java @@ -138,7 +138,7 @@ public final class ThunderbirdMboxFileIngestModule implements FileIngestModule { communicationArtifactsHelper = new CommunicationArtifactsHelper(currentCase.getSleuthkitCase(), EmailParserModuleFactory.getModuleName(), abstractFile, Account.Type.EMAIL); } catch (TskCoreException ex) { - logger.log(Level.SEVERE, String.format("Failed to create CommunicationArtifactsHelper for file %s", abstractFile.getName()), ex); + logger.log(Level.SEVERE, String.format("Failed to create CommunicationArtifactsHelper for file with object id = %d", abstractFile.getId()), ex); return ProcessResult.ERROR; }