mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-12 16:06:15 +00:00
7529 KWS artifact ingest module
This commit is contained in:
parent
c625a0cac1
commit
d51e74a95a
@ -62,8 +62,8 @@ public class AnalysisResultIngestPipeline extends IngestPipeline<AnalysisResultI
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A decorator that adds ingest infrastructure operations to a data artifact
|
* A decorator that adds ingest infrastructure operations to an analysis
|
||||||
* ingest module.
|
* result ingest module.
|
||||||
*/
|
*/
|
||||||
static final class AnalysisResultIngestPipelineModule extends IngestPipeline.PipelineModule<AnalysisResultIngestTask> {
|
static final class AnalysisResultIngestPipelineModule extends IngestPipeline.PipelineModule<AnalysisResultIngestTask> {
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ public class AnalysisResultIngestPipeline extends IngestPipeline<AnalysisResultI
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a decorator that adds ingest infrastructure operations to
|
* Constructs a decorator that adds ingest infrastructure operations to
|
||||||
* a data artifact ingest module.
|
* an analysis result ingest module.
|
||||||
*
|
*
|
||||||
* @param module The module.
|
* @param module The module.
|
||||||
* @param displayName The display name of the module.
|
* @param displayName The display name of the module.
|
||||||
@ -89,4 +89,5 @@ public class AnalysisResultIngestPipeline extends IngestPipeline<AnalysisResultI
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -364,6 +364,8 @@ final class IngestJobExecutor {
|
|||||||
Map<String, IngestModuleTemplate> jythonFileModuleTemplates = new LinkedHashMap<>();
|
Map<String, IngestModuleTemplate> jythonFileModuleTemplates = new LinkedHashMap<>();
|
||||||
Map<String, IngestModuleTemplate> javaArtifactModuleTemplates = new LinkedHashMap<>();
|
Map<String, IngestModuleTemplate> javaArtifactModuleTemplates = new LinkedHashMap<>();
|
||||||
Map<String, IngestModuleTemplate> jythonArtifactModuleTemplates = new LinkedHashMap<>();
|
Map<String, IngestModuleTemplate> jythonArtifactModuleTemplates = new LinkedHashMap<>();
|
||||||
|
Map<String, IngestModuleTemplate> javaResultModuleTemplates = new LinkedHashMap<>();
|
||||||
|
Map<String, IngestModuleTemplate> jythonResultModuleTemplates = new LinkedHashMap<>();
|
||||||
for (IngestModuleTemplate template : enabledTemplates) {
|
for (IngestModuleTemplate template : enabledTemplates) {
|
||||||
if (template.isDataSourceIngestModuleTemplate()) {
|
if (template.isDataSourceIngestModuleTemplate()) {
|
||||||
addModuleTemplateToSortingMap(javaDataSourceModuleTemplates, jythonDataSourceModuleTemplates, template);
|
addModuleTemplateToSortingMap(javaDataSourceModuleTemplates, jythonDataSourceModuleTemplates, template);
|
||||||
@ -375,14 +377,16 @@ final class IngestJobExecutor {
|
|||||||
addModuleTemplateToSortingMap(javaArtifactModuleTemplates, jythonArtifactModuleTemplates, template);
|
addModuleTemplateToSortingMap(javaArtifactModuleTemplates, jythonArtifactModuleTemplates, template);
|
||||||
}
|
}
|
||||||
if (template.isAnalysisResultIngestModuleTemplate()) {
|
if (template.isAnalysisResultIngestModuleTemplate()) {
|
||||||
addModuleTemplateToSortingMap(javaArtifactModuleTemplates, jythonArtifactModuleTemplates, template);
|
addModuleTemplateToSortingMap(javaResultModuleTemplates, jythonResultModuleTemplates, template);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Take the module templates that have pipeline configuration entries
|
* Take the module templates that have pipeline configuration entries
|
||||||
* out of the buckets and add them to ingest module pipeline templates
|
* out of the buckets and add them to ingest module pipeline templates
|
||||||
* in the order prescribed by the pipeline configuration.
|
* in the order prescribed by the pipeline configuration. There is
|
||||||
|
* currently no pipeline configuration file support for data artifact or
|
||||||
|
* analysis result ingest module pipelines.
|
||||||
*/
|
*/
|
||||||
IngestPipelinesConfiguration pipelineConfig = IngestPipelinesConfiguration.getInstance();
|
IngestPipelinesConfiguration pipelineConfig = IngestPipelinesConfiguration.getInstance();
|
||||||
List<IngestModuleTemplate> firstStageDataSourcePipelineTemplate = createIngestPipelineTemplate(javaDataSourceModuleTemplates, jythonDataSourceModuleTemplates, pipelineConfig.getStageOneDataSourceIngestPipelineConfig());
|
List<IngestModuleTemplate> firstStageDataSourcePipelineTemplate = createIngestPipelineTemplate(javaDataSourceModuleTemplates, jythonDataSourceModuleTemplates, pipelineConfig.getStageOneDataSourceIngestPipelineConfig());
|
||||||
@ -396,13 +400,13 @@ final class IngestJobExecutor {
|
|||||||
* appropriate ingest module pipeline templates. Data source level
|
* appropriate ingest module pipeline templates. Data source level
|
||||||
* ingest modules templates that were not listed in the pipeline
|
* ingest modules templates that were not listed in the pipeline
|
||||||
* configuration are added to the first stage data source pipeline
|
* configuration are added to the first stage data source pipeline
|
||||||
* template, Java modules are added before Jython modules and Core
|
* template, Java modules are added before Jython modules, and Core
|
||||||
* Autopsy modules are added before third party modules.
|
* Autopsy modules are added before third party modules.
|
||||||
*/
|
*/
|
||||||
addToIngestPipelineTemplate(firstStageDataSourcePipelineTemplate, javaDataSourceModuleTemplates, jythonDataSourceModuleTemplates);
|
addToIngestPipelineTemplate(firstStageDataSourcePipelineTemplate, javaDataSourceModuleTemplates, jythonDataSourceModuleTemplates);
|
||||||
addToIngestPipelineTemplate(filePipelineTemplate, javaFileModuleTemplates, jythonFileModuleTemplates);
|
addToIngestPipelineTemplate(filePipelineTemplate, javaFileModuleTemplates, jythonFileModuleTemplates);
|
||||||
addToIngestPipelineTemplate(artifactPipelineTemplate, javaArtifactModuleTemplates, jythonArtifactModuleTemplates);
|
addToIngestPipelineTemplate(artifactPipelineTemplate, javaArtifactModuleTemplates, jythonArtifactModuleTemplates);
|
||||||
addToIngestPipelineTemplate(resultsPipelineTemplate, javaArtifactModuleTemplates, jythonArtifactModuleTemplates);
|
addToIngestPipelineTemplate(resultsPipelineTemplate, javaResultModuleTemplates, jythonResultModuleTemplates);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct the ingest module pipelines from the ingest module pipeline
|
* Construct the ingest module pipelines from the ingest module pipeline
|
||||||
@ -502,7 +506,8 @@ final class IngestJobExecutor {
|
|||||||
return hasFileIngestModules()
|
return hasFileIngestModules()
|
||||||
|| hasHighPriorityDataSourceIngestModules()
|
|| hasHighPriorityDataSourceIngestModules()
|
||||||
|| hasLowPriorityDataSourceIngestModules()
|
|| hasLowPriorityDataSourceIngestModules()
|
||||||
|| hasDataArtifactIngestModules();
|
|| hasDataArtifactIngestModules()
|
||||||
|
|| hasAnalysisResultIngestModules();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -581,7 +586,7 @@ final class IngestJobExecutor {
|
|||||||
List<IngestModuleError> errors = startUpIngestModulePipelines();
|
List<IngestModuleError> errors = startUpIngestModulePipelines();
|
||||||
if (errors.isEmpty()) {
|
if (errors.isEmpty()) {
|
||||||
recordIngestJobStartUpInfo();
|
recordIngestJobStartUpInfo();
|
||||||
if (hasHighPriorityDataSourceIngestModules() || hasFileIngestModules() || hasDataArtifactIngestModules()) {
|
if (hasHighPriorityDataSourceIngestModules() || hasFileIngestModules() || hasDataArtifactIngestModules() || hasAnalysisResultIngestModules()) {
|
||||||
if (ingestJob.getIngestMode() == IngestJob.Mode.STREAMING) {
|
if (ingestJob.getIngestMode() == IngestJob.Mode.STREAMING) {
|
||||||
startStreamingModeAnalysis();
|
startStreamingModeAnalysis();
|
||||||
} else {
|
} else {
|
||||||
@ -801,7 +806,7 @@ final class IngestJobExecutor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hasDataArtifactIngestModules()) {
|
if (hasDataArtifactIngestModules()) { // RJCTODO
|
||||||
/*
|
/*
|
||||||
* Schedule artifact ingest tasks for any artifacts currently in
|
* Schedule artifact ingest tasks for any artifacts currently in
|
||||||
* the case database. This needs to be done before any files or
|
* the case database. This needs to be done before any files or
|
||||||
|
Loading…
x
Reference in New Issue
Block a user