mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-12 07:56:16 +00:00
writeAllHitsToBlackBoard() can now optionally make calls to writeInboxMessage()
This commit is contained in:
parent
1dd46a1ee8
commit
f6634fbd3b
@ -98,9 +98,10 @@ class QueryResults {
|
|||||||
* @param query
|
* @param query
|
||||||
* @param listName
|
* @param listName
|
||||||
* @param progress
|
* @param progress
|
||||||
|
* @param notifyInbox flag indicating whether or not to call writeInboxMessage() for each hit
|
||||||
* @return list of new artifacts
|
* @return list of new artifacts
|
||||||
*/
|
*/
|
||||||
public Collection<BlackboardArtifact> writeAllHitsToBlackBoard(KeywordSearchQuery query, String listName, ProgressHandle progress) {
|
public Collection<BlackboardArtifact> writeAllHitsToBlackBoard(KeywordSearchQuery query, String listName, ProgressHandle progress, boolean notifyInbox) {
|
||||||
final Collection<BlackboardArtifact> newArtifacts = new ArrayList<>();
|
final Collection<BlackboardArtifact> newArtifacts = new ArrayList<>();
|
||||||
|
|
||||||
progress.start(getKeywords().size());
|
progress.start(getKeywords().size());
|
||||||
@ -131,6 +132,9 @@ class QueryResults {
|
|||||||
KeywordWriteResult written = query.writeToBlackBoard(hit.toString(), hitFile, snippet, listName);
|
KeywordWriteResult written = query.writeToBlackBoard(hit.toString(), hitFile, snippet, listName);
|
||||||
if (written != null) {
|
if (written != null) {
|
||||||
newArtifacts.add(written.getArtifact());
|
newArtifacts.add(written.getArtifact());
|
||||||
|
if (notifyInbox) {
|
||||||
|
writeInboxMessage(query, written, hitFile);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -147,68 +151,66 @@ class QueryResults {
|
|||||||
/**
|
/**
|
||||||
* Generate an ingest inbox message for this keyword in this file
|
* Generate an ingest inbox message for this keyword in this file
|
||||||
*/
|
*/
|
||||||
public void writeInboxMessage(KeywordSearchQuery query, KeywordList list, KeywordWriteResult written, AbstractFile hitFile) {
|
public void writeInboxMessage(KeywordSearchQuery query, KeywordWriteResult written, AbstractFile hitFile) {
|
||||||
if (list.getIngestMessages()) {
|
StringBuilder subjectSb = new StringBuilder();
|
||||||
StringBuilder subjectSb = new StringBuilder();
|
StringBuilder detailsSb = new StringBuilder();
|
||||||
StringBuilder detailsSb = new StringBuilder();
|
|
||||||
|
|
||||||
if (!query.isLiteral()) {
|
if (!query.isLiteral()) {
|
||||||
subjectSb.append(NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.regExpHitLbl"));
|
subjectSb.append(NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.regExpHitLbl"));
|
||||||
} else {
|
} else {
|
||||||
subjectSb.append(NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.kwHitLbl"));
|
subjectSb.append(NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.kwHitLbl"));
|
||||||
}
|
}
|
||||||
String uniqueKey = null;
|
String uniqueKey = null;
|
||||||
BlackboardAttribute attr = written.getAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_KEYWORD.getTypeID());
|
BlackboardAttribute attr = written.getAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_KEYWORD.getTypeID());
|
||||||
if (attr != null) {
|
if (attr != null) {
|
||||||
final String keyword = attr.getValueString();
|
final String keyword = attr.getValueString();
|
||||||
subjectSb.append(keyword);
|
subjectSb.append(keyword);
|
||||||
uniqueKey = keyword.toLowerCase();
|
uniqueKey = keyword.toLowerCase();
|
||||||
}
|
}
|
||||||
|
|
||||||
//details
|
//details
|
||||||
detailsSb.append("<table border='0' cellpadding='4' width='280'>"); //NON-NLS
|
detailsSb.append("<table border='0' cellpadding='4' width='280'>"); //NON-NLS
|
||||||
//hit
|
//hit
|
||||||
|
detailsSb.append("<tr>"); //NON-NLS
|
||||||
|
detailsSb.append(NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.kwHitThLbl"));
|
||||||
|
detailsSb.append("<td>").append(EscapeUtil.escapeHtml(attr.getValueString())).append("</td>"); //NON-NLS
|
||||||
|
detailsSb.append("</tr>"); //NON-NLS
|
||||||
|
|
||||||
|
//preview
|
||||||
|
attr = written.getAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_KEYWORD_PREVIEW.getTypeID());
|
||||||
|
if (attr != null) {
|
||||||
detailsSb.append("<tr>"); //NON-NLS
|
detailsSb.append("<tr>"); //NON-NLS
|
||||||
detailsSb.append(NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.kwHitThLbl"));
|
detailsSb.append(NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.previewThLbl"));
|
||||||
detailsSb.append("<td>").append(EscapeUtil.escapeHtml(attr.getValueString())).append("</td>"); //NON-NLS
|
detailsSb.append("<td>").append(EscapeUtil.escapeHtml(attr.getValueString())).append("</td>"); //NON-NLS
|
||||||
detailsSb.append("</tr>"); //NON-NLS
|
detailsSb.append("</tr>"); //NON-NLS
|
||||||
|
}
|
||||||
|
|
||||||
//preview
|
//file
|
||||||
attr = written.getAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_KEYWORD_PREVIEW.getTypeID());
|
detailsSb.append("<tr>"); //NON-NLS
|
||||||
|
detailsSb.append(NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.fileThLbl"));
|
||||||
|
detailsSb.append("<td>").append(hitFile.getParentPath()).append(hitFile.getName()).append("</td>"); //NON-NLS
|
||||||
|
detailsSb.append("</tr>"); //NON-NLS
|
||||||
|
|
||||||
|
//list
|
||||||
|
attr = written.getAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_SET_NAME.getTypeID());
|
||||||
|
detailsSb.append("<tr>"); //NON-NLS
|
||||||
|
detailsSb.append(NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.listThLbl"));
|
||||||
|
detailsSb.append("<td>").append(attr.getValueString()).append("</td>"); //NON-NLS
|
||||||
|
detailsSb.append("</tr>"); //NON-NLS
|
||||||
|
|
||||||
|
//regex
|
||||||
|
if (!query.isLiteral()) {
|
||||||
|
attr = written.getAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_KEYWORD_REGEXP.getTypeID());
|
||||||
if (attr != null) {
|
if (attr != null) {
|
||||||
detailsSb.append("<tr>"); //NON-NLS
|
detailsSb.append("<tr>"); //NON-NLS
|
||||||
detailsSb.append(NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.previewThLbl"));
|
detailsSb.append(NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.regExThLbl"));
|
||||||
detailsSb.append("<td>").append(EscapeUtil.escapeHtml(attr.getValueString())).append("</td>"); //NON-NLS
|
detailsSb.append("<td>").append(attr.getValueString()).append("</td>"); //NON-NLS
|
||||||
detailsSb.append("</tr>"); //NON-NLS
|
detailsSb.append("</tr>"); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
//file
|
|
||||||
detailsSb.append("<tr>"); //NON-NLS
|
|
||||||
detailsSb.append(NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.fileThLbl"));
|
|
||||||
detailsSb.append("<td>").append(hitFile.getParentPath()).append(hitFile.getName()).append("</td>"); //NON-NLS
|
|
||||||
detailsSb.append("</tr>"); //NON-NLS
|
|
||||||
|
|
||||||
//list
|
|
||||||
attr = written.getAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_SET_NAME.getTypeID());
|
|
||||||
detailsSb.append("<tr>"); //NON-NLS
|
|
||||||
detailsSb.append(NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.listThLbl"));
|
|
||||||
detailsSb.append("<td>").append(attr.getValueString()).append("</td>"); //NON-NLS
|
|
||||||
detailsSb.append("</tr>"); //NON-NLS
|
|
||||||
|
|
||||||
//regex
|
|
||||||
if (!query.isLiteral()) {
|
|
||||||
attr = written.getAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_KEYWORD_REGEXP.getTypeID());
|
|
||||||
if (attr != null) {
|
|
||||||
detailsSb.append("<tr>"); //NON-NLS
|
|
||||||
detailsSb.append(NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.regExThLbl"));
|
|
||||||
detailsSb.append("<td>").append(attr.getValueString()).append("</td>"); //NON-NLS
|
|
||||||
detailsSb.append("</tr>"); //NON-NLS
|
|
||||||
}
|
|
||||||
}
|
|
||||||
detailsSb.append("</table>"); //NON-NLS
|
|
||||||
|
|
||||||
IngestServices.getInstance().postMessage(IngestMessage.createDataMessage(KeywordSearchModuleFactory.getModuleName(), subjectSb.toString(), detailsSb.toString(), uniqueKey, written.getArtifact()));
|
|
||||||
}
|
}
|
||||||
|
detailsSb.append("</table>"); //NON-NLS
|
||||||
|
|
||||||
|
IngestServices.getInstance().postMessage(IngestMessage.createDataMessage(KeywordSearchModuleFactory.getModuleName(), subjectSb.toString(), detailsSb.toString(), uniqueKey, written.getArtifact()));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -524,8 +524,11 @@ public final class SearchRunner {
|
|||||||
|
|
||||||
newArtifacts.add(written.getArtifact());
|
newArtifacts.add(written.getArtifact());
|
||||||
|
|
||||||
// inbox
|
// Inbox messages
|
||||||
newResults.writeInboxMessage(keywordSearchQuery, list, written, hitFile);
|
boolean notifyInbox = list.getIngestMessages();
|
||||||
|
if (notifyInbox) {
|
||||||
|
newResults.writeInboxMessage(keywordSearchQuery, written, hitFile);
|
||||||
|
}
|
||||||
|
|
||||||
} //for each file hit
|
} //for each file hit
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user