From 7a581bf48745d1e2c4be9fe4be9bedfaf00ca832 Mon Sep 17 00:00:00 2001 From: adam-m Date: Fri, 24 Feb 2012 19:05:12 -0500 Subject: [PATCH] ingest message filtering tweaks --- .../sleuthkit/autopsy/ingest/IngestMessage.java | 16 +++++++++------- .../autopsy/ingest/IngestMessagePanel.java | 16 +++++++++++----- .../KeywordSearchIngestService.java | 13 +++++++------ 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/Ingest/src/org/sleuthkit/autopsy/ingest/IngestMessage.java b/Ingest/src/org/sleuthkit/autopsy/ingest/IngestMessage.java index 7b8d4c73a4..81296cff38 100644 --- a/Ingest/src/org/sleuthkit/autopsy/ingest/IngestMessage.java +++ b/Ingest/src/org/sleuthkit/autopsy/ingest/IngestMessage.java @@ -45,12 +45,15 @@ public class IngestMessage { private Date datePosted; private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - private IngestMessage(long ID, MessageType messageType, IngestServiceAbstract source, String subject, String detailsHtml) { + private IngestMessage(long ID, MessageType messageType, IngestServiceAbstract source, String subject, String detailsHtml, String uniqueKey) { this.ID = ID; this.source = source; this.messageType = messageType; this.subject = subject; this.detailsHtml = detailsHtml; + if (uniqueKey == null) + this.uniqueKey = ""; + else this.uniqueKey = uniqueKey; datePosted = new Date(); } @@ -167,7 +170,7 @@ public class IngestMessage { if (messageType == null || source == null || subject == null) { throw new IllegalArgumentException("message type, source and subject cannot be null"); } - return new IngestMessage(ID, messageType, source, subject, detailsHtml); + return new IngestMessage(ID, messageType, source, subject, detailsHtml, null); } /** @@ -193,7 +196,7 @@ public class IngestMessage { if (source == null || subject == null) { throw new IllegalArgumentException("source and subject cannot be null"); } - return new IngestMessage(ID, MessageType.ERROR, source, subject, null); + return new IngestMessage(ID, MessageType.ERROR, source, subject, null, null); } /** @@ -207,7 +210,7 @@ public class IngestMessage { if (source == null || subject == null) { throw new IllegalArgumentException("source and subject cannot be null"); } - return new IngestMessage(ID, MessageType.WARNING, source, subject, null); + return new IngestMessage(ID, MessageType.WARNING, source, subject, null, null); } /** @@ -225,13 +228,12 @@ public class IngestMessage { throw new IllegalArgumentException("source, subject, details and data cannot be null"); } - IngestMessage im = new IngestMessage(ID, MessageType.DATA, source, subject, detailsHtml); - im.uniqueKey = uniqueKey; + IngestMessage im = new IngestMessage(ID, MessageType.DATA, source, subject, detailsHtml, uniqueKey); im.data = data; return im; } static IngestMessage createManagerMessage(String subject) { - return new IngestMessage(0, MessageType.INFO, null, subject, null); + return new IngestMessage(0, MessageType.INFO, null, subject, null, null); } } diff --git a/Ingest/src/org/sleuthkit/autopsy/ingest/IngestMessagePanel.java b/Ingest/src/org/sleuthkit/autopsy/ingest/IngestMessagePanel.java index b98d1e83de..c2d4857904 100644 --- a/Ingest/src/org/sleuthkit/autopsy/ingest/IngestMessagePanel.java +++ b/Ingest/src/org/sleuthkit/autopsy/ingest/IngestMessagePanel.java @@ -281,8 +281,8 @@ class IngestMessagePanel extends javax.swing.JPanel { //and add to existing group or create a new group IngestServiceAbstract service = m.getSource(); IngestMessageGroup messageGroup = null; - if (service != null) { - //not a manager message, then group + if (service != null && m.getMessageType() == IngestMessage.MessageType.DATA) { + //not a manager message, a data message, then group final Map> groups = groupings.get(service); //groups for this uniqueness final String uniqueness = m.getUniqueKey(); @@ -315,9 +315,10 @@ class IngestMessagePanel extends javax.swing.JPanel { IngestMessageGroup first = uniqGroups.get(0); //one group with multiple messages if (first.getCount() > 1) { + //had already been merged first.add(m); messageGroup = first; - //TODO move to bottom of table + //move to bottom of table //remove from existing position int toRemove = getTableEntryIndex(messageGroup); messageData.remove(toRemove); @@ -325,12 +326,14 @@ class IngestMessagePanel extends javax.swing.JPanel { this.fireTableRowsDeleted(toRemove, toRemove); //TODO check } else { //one group with one message + //create another group messageGroup = new IngestMessageGroup(m); uniqGroups.add(messageGroup); } } else { //multiple groups with 1 msg each + //create another group, until need to merge messageGroup = new IngestMessageGroup(m); uniqGroups.add(messageGroup); //add to bottom @@ -338,7 +341,7 @@ class IngestMessagePanel extends javax.swing.JPanel { } } else { - //manager message + //manager or non-data message messageGroup = new IngestMessageGroup(m); } @@ -457,7 +460,10 @@ class IngestMessagePanel extends javax.swing.JPanel { String getDetails() { StringBuilder b = new StringBuilder(); for (IngestMessage m : messages) { - b.append(m.getDetails()); + String details = m.getDetails(); + if (details == null) + details = ""; + b.append(details); b.append("
"); } diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestService.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestService.java index 8c255de4ad..3d028e05b6 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestService.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestService.java @@ -18,8 +18,6 @@ */ package org.sleuthkit.autopsy.keywordsearch; -import java.io.File; -import java.net.URLEncoder; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -30,7 +28,6 @@ import java.util.logging.Logger; import javax.swing.SwingUtilities; import javax.swing.SwingWorker; import org.apache.solr.client.solrj.SolrServerException; -import org.apache.solr.client.solrj.response.TermsResponse.Term; import org.netbeans.api.progress.ProgressHandle; import org.netbeans.api.progress.ProgressHandleFactory; import org.openide.util.Cancellable; @@ -46,7 +43,6 @@ import org.sleuthkit.autopsy.keywordsearch.Ingester.IngesterException; import org.sleuthkit.datamodel.BlackboardArtifact; import org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE; import org.sleuthkit.datamodel.BlackboardAttribute; -import org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE; import org.sleuthkit.datamodel.FsContent; import org.sleuthkit.datamodel.SleuthkitCase; import org.sleuthkit.datamodel.TskException; @@ -524,12 +520,16 @@ public final class KeywordSearchIngestService implements IngestServiceFsContent //final int hitFiles = newResults.size(); subjectSb.append("Keyword hit: ").append("<"); + String uniqueKey = null; BlackboardAttribute attr = res.getAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_KEYWORD.getTypeID()); if (attr != null) { - subjectSb.append(attr.getValueString()); + final String keyword = attr.getValueString(); + subjectSb.append(keyword); + uniqueKey = keyword; } + subjectSb.append(">"); - String uniqueKey = queryStr; + //String uniqueKey = queryStr; //details //hit @@ -545,6 +545,7 @@ public final class KeywordSearchIngestService implements IngestServiceFsContent detailsSb.append("
"); } } + //file detailsSb.append("File: "); detailsSb.append(hitFile.getParentPath()).append(hitFile.getName());