diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java index 9ddb7523752332d1f353efed8b084a1ac5714f33..4f3da229dd9f8f746a5c36df0440db15d0efe3f7 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java @@ -168,7 +168,8 @@ private void fillPropertyMap(Map<String, Object> map, BlackboardArtifact artifac } else { switch (attribute.getValueType()) { case STRING: - map.put(attribute.getAttributeTypeDisplayName(), attribute.getValueString()); + String valString = attribute.getValueString(); + map.put(attribute.getAttributeTypeDisplayName(), valString == null ? "":valString); break; case INTEGER: map.put(attribute.getAttributeTypeDisplayName(), attribute.getValueInt()); diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Tags.java b/Core/src/org/sleuthkit/autopsy/datamodel/Tags.java index db55d3ae9aabecbccaca3eb97781ea86d0afe427..f73d384449ebbb7b8d8d40f3bbabb3fe46689c4e 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/Tags.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/Tags.java @@ -63,6 +63,8 @@ public class Tags implements AutopsyVisitableItem { public static final String NAME = "Tags"; private static final String TAG_ICON_PATH = "org/sleuthkit/autopsy/images/tag-folder-blue-icon-16.png"; private Map<BlackboardArtifact.ARTIFACT_TYPE, Map<String, List<BlackboardArtifact>>> tags; + + private static final String EMPTY_COMMENT = "No Comment"; Tags(SleuthkitCase skCase) { this.skCase = skCase; @@ -383,7 +385,7 @@ public void actionPerformed(ActionEvent e) { * * @param file to create tag for * @param tagName TSK_TAG_NAME - * @param comment the tag comment + * @param comment the tag comment, or null if not present */ public static void createTag(AbstractFile file, String tagName, String comment) { try { @@ -393,10 +395,13 @@ public static void createTag(AbstractFile file, String tagName, String comment) BlackboardAttribute attr1 = new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_TAG_NAME.getTypeID(), "", tagName); - BlackboardAttribute attr2 = new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_COMMENT.getTypeID(), - "", comment); attrs.add(attr1); - attrs.add(attr2); + + if (comment != null && ! comment.isEmpty()) { + BlackboardAttribute attr2 = new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_COMMENT.getTypeID(), + "", comment); + attrs.add(attr2); + } bookArt.addAttributes(attrs); } catch (TskCoreException ex) { logger.log(Level.SEVERE, "Failed to create tag for " + file.getName()); @@ -408,7 +413,7 @@ public static void createTag(AbstractFile file, String tagName, String comment) * * @param artifact to create tag for * @param tagName TSK_TAG_NAME - * @param comment the tag comment + * @param comment the tag comment or null if not present */ public static void createTag(BlackboardArtifact artifact, String tagName, String comment) { try { @@ -422,12 +427,17 @@ public static void createTag(BlackboardArtifact artifact, String tagName, String BlackboardAttribute attr1 = new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_TAG_NAME.getTypeID(), "", tagName); - BlackboardAttribute attr2 = new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_COMMENT.getTypeID(), + + if (comment != null && ! comment.isEmpty()) { + BlackboardAttribute attr2 = new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_COMMENT.getTypeID(), "", comment); + attrs.add(attr2); + } + BlackboardAttribute attr3 = new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_TAGGED_ARTIFACT.getTypeID(), "", artifact.getArtifactID()); attrs.add(attr1); - attrs.add(attr2); + attrs.add(attr3); bookArt.addAttributes(attrs); } catch (TskCoreException ex) { @@ -550,7 +560,7 @@ static String getCommentFromTag(long tagArtifactId) { logger.log(Level.SEVERE, "Failed to get artifact " + tagArtifactId + " from case."); } - return null; + return EMPTY_COMMENT; } /** diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/TagDialog.form b/Core/src/org/sleuthkit/autopsy/directorytree/TagDialog.form index f8bdce7c2429f761107c5be3dedc9b8c71d7be88..71174010c6e36350e446ebcecb7d120cefe38770 100644 --- a/Core/src/org/sleuthkit/autopsy/directorytree/TagDialog.form +++ b/Core/src/org/sleuthkit/autopsy/directorytree/TagDialog.form @@ -3,6 +3,7 @@ <Form version="1.5" maxVersion="1.8" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> <SyntheticProperties> <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> </SyntheticProperties> <Events> <EventHandler event="windowClosing" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="closeDialog"/> diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/TagDialog.java b/Core/src/org/sleuthkit/autopsy/directorytree/TagDialog.java index 98332dbd1fd7ce6499b658f2416dbcce4f22d183..aab5bed9d0406d25809ff559b10ed5e34832b981 100644 --- a/Core/src/org/sleuthkit/autopsy/directorytree/TagDialog.java +++ b/Core/src/org/sleuthkit/autopsy/directorytree/TagDialog.java @@ -236,11 +236,7 @@ String getSelectedTag() { } String getComment() { - String comment = commentText.getText(); - if (comment == null || comment.isEmpty()) { - return "No Comment"; - } - return comment; + return commentText.getText(); } TagDialogResult getResult() {