mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-12 16:06:15 +00:00
ingest message filtering tweaks
This commit is contained in:
parent
8d65dadf4e
commit
7a581bf487
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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<String, List<IngestMessageGroup>> 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("<hr />");
|
||||
}
|
||||
|
||||
|
@ -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("<br />");
|
||||
}
|
||||
}
|
||||
|
||||
//file
|
||||
detailsSb.append("File: ");
|
||||
detailsSb.append(hitFile.getParentPath()).append(hitFile.getName());
|
||||
|
Loading…
x
Reference in New Issue
Block a user