diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.java index 9feca42ba3..1ad052c834 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.java @@ -386,7 +386,7 @@ public final class DataResultTopComponent extends TopComponent implements DataRe } public , S extends RowResultDTO> void displaySearchResults(T searchResults, NodeCreator nodeCreator) { - dataResultPanel.setNode(new SearchResultTableNode(nodeCreator, searchResults)); + dataResultPanel.setNode(new SearchResultTableNode<>(nodeCreator, searchResults)); dataResultPanel.setNumberOfChildNodes( searchResults.getTotalResultsCount() > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) searchResults.getTotalResultsCount()); } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties-MERGED index 9fcc801417..644c77a950 100755 --- a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties-MERGED @@ -114,29 +114,6 @@ ContentTagNode.createSheet.artifactMD5.displayName=MD5 Hash ContentTagNode.createSheet.artifactMD5.name=MD5 Hash ContentTagNode.createSheet.origFileName=Original Name ContentTagNode.createSheet.userName.text=User Name -DataArtifactNodev2.createSheet.artifactDetails.displayName=Result Details -DataArtifactNodev2.createSheet.artifactDetails.name=Result Details -DataArtifactNodev2.createSheet.artifactMD5.displayName=MD5 Hash -DataArtifactNodev2.createSheet.artifactMD5.name=MD5 Hash -DataArtifactNodev2.createSheet.artifactType.displayName=Result Type -DataArtifactNodev2.createSheet.artifactType.name=Result Type -DataArtifactNodev2.createSheet.comment.displayName=C -DataArtifactNodev2.createSheet.comment.name=C -# {0} - occurrenceCount -# {1} - attributeType -DataArtifactNodev2.createSheet.count.description=There were {0} datasource(s) found with occurrences of the correlation value of type {1} -DataArtifactNodev2.createSheet.count.displayName=O -DataArtifactNodev2.createSheet.count.name=O -DataArtifactNodev2.createSheet.count.noCorrelationAttributes.description=No correlation properties found -DataArtifactNodev2.createSheet.count.noCorrelationValues.description=Unable to find other occurrences because no value exists for the available correlation property -DataArtifactNodev2.createSheet.dataSrc.displayName=Data Source -DataArtifactNodev2.createSheet.dataSrc.name=Data Source -DataArtifactNodev2.createSheet.fileSize.displayName=Size -DataArtifactNodev2.createSheet.fileSize.name=Size -DataArtifactNodev2.createSheet.path.displayName=Path -DataArtifactNodev2.createSheet.path.name=Path -DataArtifactNodev2.createSheet.score.displayName=S -DataArtifactNodev2.createSheet.score.name=S DataArtifactNodev2.createSheet.srcFile.displayName=Source Name DataArtifactNodev2.createSheet.srcFile.name=Source Name DataArtifactNodev2.createSheet.srcFile.origDisplayName=Original Name @@ -475,6 +452,21 @@ TagNode.propertySheet.origNameDisplayName=Original Name TagsNode.displayName.text=Tags TagsNode.createSheet.name.name=Name TagsNode.createSheet.name.displayName=Name +ThreePanelDAO.dataArtifact.columnKeys.comment.description=Comment +ThreePanelDAO.dataArtifact.columnKeys.comment.displayName=C +ThreePanelDAO.dataArtifact.columnKeys.comment.name=Comment +ThreePanelDAO.dataArtifact.columnKeys.dataSource.description=Data Source +ThreePanelDAO.dataArtifact.columnKeys.dataSource.displayName=Data Source +ThreePanelDAO.dataArtifact.columnKeys.dataSource.name=Data Source +ThreePanelDAO.dataArtifact.columnKeys.occurrences.description=Occurrences +ThreePanelDAO.dataArtifact.columnKeys.occurrences.displayName=O +ThreePanelDAO.dataArtifact.columnKeys.occurrences.name=Occurrences +ThreePanelDAO.dataArtifact.columnKeys.score.description=Score +ThreePanelDAO.dataArtifact.columnKeys.score.displayName=S +ThreePanelDAO.dataArtifact.columnKeys.score.name=Score +ThreePanelDAO.dataArtifact.columnKeys.srcFile.description=Source Name +ThreePanelDAO.dataArtifact.columnKeys.srcFile.displayName=Source Name +ThreePanelDAO.dataArtifact.columnKeys.srcFile.name=Source Name UnsupportedContentNode.createSheet.name.desc=no description UnsupportedContentNode.createSheet.name.displayName=Name UnsupportedContentNode.createSheet.name.name=Name diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/SearchResultTableNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/SearchResultTableNode.java index 70210e8512..5e8d800c79 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/SearchResultTableNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/SearchResultTableNode.java @@ -21,17 +21,17 @@ public class SearchResultTableNode, S extends RowR private final SearchResultChildFactory factory; - public SearchResultTableNode(NodeCreator nodeCreator, SearchResultsDTO initialResults) { - this(initialResults, new SearchResultChildFactory(nodeCreator, initialResults)); + public SearchResultTableNode(NodeCreator nodeCreator, T initialResults) { + this(initialResults, new SearchResultChildFactory<>(nodeCreator, initialResults)); } private SearchResultTableNode(SearchResultsDTO initialResults, SearchResultChildFactory factory) { super(Children.create(factory, true)); this.factory = factory; - + setName(initialResults.getTypeId()); setDisplayName(initialResults.getDisplayName()); - + // String iconPath = IconsUtil.getIconFilePath(initialResults.getArtifactType().getTypeID()); // setIconBaseWithExtension(iconPath != null && iconPath.charAt(0) == '/' ? iconPath.substring(1) : iconPath); } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ThreePanelDAO.java b/Core/src/org/sleuthkit/autopsy/datamodel/ThreePanelDAO.java index e47b6760b9..1519ee4339 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ThreePanelDAO.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ThreePanelDAO.java @@ -144,7 +144,7 @@ public class ThreePanelDAO { for (DataArtifact art : arts) { Map attrs = art.getAttributes().stream() .filter(attr -> isRenderedAttr(artType, attr.getAttributeType())) - .collect(Collectors.toMap(attr -> attr.getAttributeType(), attr -> getAttrValue(attr))); + .collect(Collectors.toMap(attr -> attr.getAttributeType(), attr -> getAttrValue(attr), (attr1, attr2) -> attr1)); artifactAttributes.put(art.getId(), attrs); } @@ -209,7 +209,8 @@ public class ThreePanelDAO { if (BlackboardArtifact.Type.TSK_EMAIL_MSG.getTypeID() == artType.getTypeID()) { return !HIDDEN_EMAIL_ATTR_TYPES.contains(attrType); } else { - return !HIDDEN_ATTR_TYPES.contains(attrType); + return !HIDDEN_ATTR_TYPES.contains(attrType) && + !BlackboardAttribute.TSK_BLACKBOARD_ATTRIBUTE_VALUE_TYPE.JSON.equals(attrType.getValueType()); } } @@ -492,7 +493,7 @@ public class ThreePanelDAO { long getId(); } - public class BaseRowResultDTO implements RowResultDTO { + public static class BaseRowResultDTO implements RowResultDTO { private final List cellValues; private final long id; @@ -539,7 +540,7 @@ public class ThreePanelDAO { } - public interface SearchResultsDTO { + public static interface SearchResultsDTO { String getTypeId(); @@ -552,7 +553,7 @@ public class ThreePanelDAO { long getTotalResultsCount(); } - public class BaseSearchResultsDTO implements SearchResultsDTO { + public static class BaseSearchResultsDTO implements SearchResultsDTO { private final String typeId; private final String displayName;