Change approach to be driven by data source

This commit is contained in:
U-BASIS\dsmyda 2019-08-15 13:34:34 -04:00
parent 82b5002b2a
commit c8269001eb

View File

@ -45,6 +45,7 @@ import org.sleuthkit.datamodel.BlackboardArtifact;
import org.sleuthkit.datamodel.BlackboardArtifactTag; import org.sleuthkit.datamodel.BlackboardArtifactTag;
import org.sleuthkit.datamodel.BlackboardAttribute; import org.sleuthkit.datamodel.BlackboardAttribute;
import org.sleuthkit.datamodel.ContentTag; import org.sleuthkit.datamodel.ContentTag;
import org.sleuthkit.datamodel.DataSource;
import org.sleuthkit.datamodel.SleuthkitCase; import org.sleuthkit.datamodel.SleuthkitCase;
import org.sleuthkit.datamodel.TskCoreException; import org.sleuthkit.datamodel.TskCoreException;
import org.sleuthkit.datamodel.TskData; import org.sleuthkit.datamodel.TskData;
@ -211,26 +212,28 @@ public final class CaseUcoFormatExporter {
initializeJsonOutputFile(jsonGenerator); initializeJsonOutputFile(jsonGenerator);
String caseTraceId = saveCaseInfo(currentCase, jsonGenerator); String caseTraceId = saveCaseInfo(currentCase, jsonGenerator);
for(DataSource ds : currentCase.getDataSources()) {
String dataSourceTraceId = saveDataSourceInfo(ds.getId(), caseTraceId, currentCase, jsonGenerator);
for(TagName tn : tagTypes) { for(TagName tn : tagTypes) {
for(ContentTag ct : tagsManager.getContentTagsByTagName(tn)) { for(ContentTag ct : tagsManager.getContentTagsByTagName(tn, ds.getId())) {
//copy content tag // copy content tag.
} }
for(BlackboardArtifactTag bat : tagsManager.getBlackboardArtifactTagsByTagName(tn)) { for(BlackboardArtifactTag bat : tagsManager.getBlackboardArtifactTagsByTagName(tn, ds.getId())) {
//copy content //copy content
//copy associated content //copy associated content
} }
} }
if(!interestingItemSets.isEmpty()) { if(!interestingItemSets.isEmpty()) {
for(BlackboardArtifact bArt : currentCase.getBlackboardArtifacts(INTERESTING_FILE_HIT)) { for(BlackboardArtifact bArt : currentCase.getBlackboardArtifacts(INTERESTING_FILE_HIT, ds.getId())) {
BlackboardAttribute setAttr = bArt.getAttribute(SET_NAME); BlackboardAttribute setAttr = bArt.getAttribute(SET_NAME);
if (interestingItemSets.contains(setAttr.getValueString())) { if (interestingItemSets.contains(setAttr.getValueString())) {
} }
} }
for(BlackboardArtifact bArt : currentCase.getBlackboardArtifacts(INTERESTING_ARTIFACT_HIT)) { for(BlackboardArtifact bArt : currentCase.getBlackboardArtifacts(INTERESTING_ARTIFACT_HIT, ds.getId())) {
BlackboardAttribute setAttr = bArt.getAttribute(SET_NAME); BlackboardAttribute setAttr = bArt.getAttribute(SET_NAME);
if (interestingItemSets.contains(setAttr.getValueString())) { if (interestingItemSets.contains(setAttr.getValueString())) {
@ -238,6 +241,7 @@ public final class CaseUcoFormatExporter {
} }
} }
} }
}
private static JsonGenerator createJsonGenerator(File reportFile) throws IOException { private static JsonGenerator createJsonGenerator(File reportFile) throws IOException {
JsonFactory jsonGeneratorFactory = new JsonFactory(); JsonFactory jsonGeneratorFactory = new JsonFactory();