mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-17 18:17:43 +00:00
Make IngestJobSettings a public class
This commit is contained in:
parent
2a61c68633
commit
44e58f327e
@ -339,7 +339,7 @@ final class DataSourceIngestJob {
|
|||||||
* @return True or false.
|
* @return True or false.
|
||||||
*/
|
*/
|
||||||
FilesSet getFileIngestFilter() {
|
FilesSet getFileIngestFilter() {
|
||||||
return this.settings.getFileIngestFilter();
|
return this.settings.getFileFilter();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -47,7 +47,7 @@ import org.sleuthkit.autopsy.modules.interestingitems.FilesSetsManager;
|
|||||||
/**
|
/**
|
||||||
* The settings for an ingest job.
|
* The settings for an ingest job.
|
||||||
*/
|
*/
|
||||||
public class IngestJobSettings {
|
public final class IngestJobSettings {
|
||||||
|
|
||||||
private static final String ENABLED_MODULES_PROPERTY = "Enabled_Ingest_Modules"; //NON-NLS
|
private static final String ENABLED_MODULES_PROPERTY = "Enabled_Ingest_Modules"; //NON-NLS
|
||||||
private static final String DISABLED_MODULES_PROPERTY = "Disabled_Ingest_Modules"; //NON-NLS
|
private static final String DISABLED_MODULES_PROPERTY = "Disabled_Ingest_Modules"; //NON-NLS
|
||||||
@ -58,10 +58,10 @@ public class IngestJobSettings {
|
|||||||
private static final CharSequence PYTHON_CLASS_PROXY_PREFIX = "org.python.proxies.".subSequence(0, "org.python.proxies.".length() - 1); //NON-NLS
|
private static final CharSequence PYTHON_CLASS_PROXY_PREFIX = "org.python.proxies.".subSequence(0, "org.python.proxies.".length() - 1); //NON-NLS
|
||||||
private static final Logger logger = Logger.getLogger(IngestJobSettings.class.getName());
|
private static final Logger logger = Logger.getLogger(IngestJobSettings.class.getName());
|
||||||
private final IngestType ingestType;
|
private final IngestType ingestType;
|
||||||
private final List<IngestModuleTemplate> moduleTemplates;
|
private final List<IngestModuleTemplate> moduleTemplates = new ArrayList<>();
|
||||||
private final List<String> warnings;
|
private final List<String> warnings = new ArrayList<>();
|
||||||
private String executionContext;
|
private String executionContext;
|
||||||
private FilesSet fileIngestFilter;
|
private FilesSet fileFilter;
|
||||||
private String moduleSettingsFolderPath;
|
private String moduleSettingsFolderPath;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -72,7 +72,7 @@ public class IngestJobSettings {
|
|||||||
* the Run Ingest Modules dialog, and auto ingest. Different execution
|
* the Run Ingest Modules dialog, and auto ingest. Different execution
|
||||||
* contexts may have different ingest job settings.
|
* contexts may have different ingest job settings.
|
||||||
*
|
*
|
||||||
* @return The execution context identifier.
|
* @param The execution context identifier.
|
||||||
*
|
*
|
||||||
* @return The path to the module settings folder
|
* @return The path to the module settings folder
|
||||||
*/
|
*/
|
||||||
@ -111,8 +111,6 @@ public class IngestJobSettings {
|
|||||||
*/
|
*/
|
||||||
public IngestJobSettings(String executionContext, IngestType ingestType) {
|
public IngestJobSettings(String executionContext, IngestType ingestType) {
|
||||||
this.ingestType = ingestType;
|
this.ingestType = ingestType;
|
||||||
this.moduleTemplates = new ArrayList<>();
|
|
||||||
this.warnings = new ArrayList<>();
|
|
||||||
if (this.ingestType.equals(IngestType.ALL_MODULES)) {
|
if (this.ingestType.equals(IngestType.ALL_MODULES)) {
|
||||||
this.executionContext = executionContext;
|
this.executionContext = executionContext;
|
||||||
} else {
|
} else {
|
||||||
@ -122,6 +120,48 @@ public class IngestJobSettings {
|
|||||||
this.load();
|
this.load();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates entirely new ingest job settings for a given context without
|
||||||
|
* saving them.
|
||||||
|
*
|
||||||
|
* @param executionContext The execution context identifier.
|
||||||
|
* @param ingestType Whether to run all ingest modules, data source
|
||||||
|
* level ingest modules only, or file level ingest
|
||||||
|
* modules only.
|
||||||
|
* @param moduleTemplates A collection of ingest module templates for
|
||||||
|
* creating fully configured ingest modules; each
|
||||||
|
* template combines an ingest module factory with
|
||||||
|
* ingest module job settings and an enabled flag.
|
||||||
|
*/
|
||||||
|
public IngestJobSettings(String executionContext, IngestType ingestType, Collection<IngestModuleTemplate> moduleTemplates) {
|
||||||
|
this.ingestType = ingestType;
|
||||||
|
if (this.ingestType.equals(IngestType.ALL_MODULES)) {
|
||||||
|
this.executionContext = executionContext;
|
||||||
|
} else {
|
||||||
|
this.executionContext = executionContext + "." + this.ingestType.name();
|
||||||
|
}
|
||||||
|
this.moduleTemplates.addAll(moduleTemplates);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates entirely new ingest job settings for a given context without
|
||||||
|
* saving them.
|
||||||
|
*
|
||||||
|
* @param executionContext The execution context identifier.
|
||||||
|
* @param ingestType Whether to run all ingest modules, data source
|
||||||
|
* level ingest modules only, or file level ingest
|
||||||
|
* modules only.
|
||||||
|
* @param moduleTemplates A collection of ingest module templates for
|
||||||
|
* creating fully configured ingest modules; each
|
||||||
|
* template combines an ingest module factory with
|
||||||
|
* ingest module job settings and an enabled flag.
|
||||||
|
* @param fileFilter A file filter in the form of a files set.
|
||||||
|
*/
|
||||||
|
public IngestJobSettings(String executionContext, IngestType ingestType, Collection<IngestModuleTemplate> moduleTemplates, FilesSet fileFilter) {
|
||||||
|
this(executionContext, ingestType, moduleTemplates);
|
||||||
|
this.setFileFilter(fileFilter);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the path to the module settings folder for these ingest job
|
* Gets the path to the module settings folder for these ingest job
|
||||||
* settings.
|
* settings.
|
||||||
@ -136,6 +176,7 @@ public class IngestJobSettings {
|
|||||||
* Saves these ingest job settings.
|
* Saves these ingest job settings.
|
||||||
*/
|
*/
|
||||||
public void save() {
|
public void save() {
|
||||||
|
this.createSavedModuleSettingsFolder();
|
||||||
this.store();
|
this.store();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -148,7 +189,7 @@ public class IngestJobSettings {
|
|||||||
*
|
*
|
||||||
* @param executionContext The new execution context.
|
* @param executionContext The new execution context.
|
||||||
*/
|
*/
|
||||||
void saveAs(String executionContext) {
|
public void saveAs(String executionContext) {
|
||||||
this.executionContext = executionContext;
|
this.executionContext = executionContext;
|
||||||
this.createSavedModuleSettingsFolder();
|
this.createSavedModuleSettingsFolder();
|
||||||
this.store();
|
this.store();
|
||||||
@ -175,29 +216,29 @@ public class IngestJobSettings {
|
|||||||
*
|
*
|
||||||
* @return The execution context identifier.
|
* @return The execution context identifier.
|
||||||
*/
|
*/
|
||||||
String getExecutionContext() {
|
public String getExecutionContext() {
|
||||||
return this.executionContext;
|
return this.executionContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the file ingest filter for the ingest job.
|
* Gets the file filter for the ingest job.
|
||||||
*
|
*
|
||||||
* @return FilesSet The filter as a files set.
|
* @return FilesSet The filter as a files set.
|
||||||
*/
|
*/
|
||||||
FilesSet getFileIngestFilter() {
|
public FilesSet getFileFilter() {
|
||||||
if (fileIngestFilter == null) {
|
if (fileFilter == null) {
|
||||||
fileIngestFilter = FilesSetsManager.getDefaultFilter();
|
fileFilter = FilesSetsManager.getDefaultFilter();
|
||||||
}
|
}
|
||||||
return fileIngestFilter;
|
return fileFilter;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the file ingest filter for the ingest job.
|
* Sets the file filter for the ingest job.
|
||||||
*
|
*
|
||||||
* @param fileIngestFilter The filter as a files set.
|
* @param fileIngestFilter The filter as a files set.
|
||||||
*/
|
*/
|
||||||
void setFileIngestFilter(FilesSet fileIngestFilter) {
|
public void setFileFilter(FilesSet fileIngestFilter) {
|
||||||
this.fileIngestFilter = fileIngestFilter;
|
this.fileFilter = fileIngestFilter;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -205,7 +246,7 @@ public class IngestJobSettings {
|
|||||||
*
|
*
|
||||||
* @return The list of ingest module templates.
|
* @return The list of ingest module templates.
|
||||||
*/
|
*/
|
||||||
List<IngestModuleTemplate> getIngestModuleTemplates() {
|
public List<IngestModuleTemplate> getIngestModuleTemplates() {
|
||||||
return Collections.unmodifiableList(this.moduleTemplates);
|
return Collections.unmodifiableList(this.moduleTemplates);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -214,7 +255,7 @@ public class IngestJobSettings {
|
|||||||
*
|
*
|
||||||
* @param moduleTemplates The ingest module templates.
|
* @param moduleTemplates The ingest module templates.
|
||||||
*/
|
*/
|
||||||
void setIngestModuleTemplates(List<IngestModuleTemplate> moduleTemplates) {
|
public void setIngestModuleTemplates(List<IngestModuleTemplate> moduleTemplates) {
|
||||||
this.moduleTemplates.clear();
|
this.moduleTemplates.clear();
|
||||||
this.moduleTemplates.addAll(moduleTemplates);
|
this.moduleTemplates.addAll(moduleTemplates);
|
||||||
}
|
}
|
||||||
@ -224,7 +265,7 @@ public class IngestJobSettings {
|
|||||||
*
|
*
|
||||||
* @return The list of enabled ingest module templates.
|
* @return The list of enabled ingest module templates.
|
||||||
*/
|
*/
|
||||||
List<IngestModuleTemplate> getEnabledIngestModuleTemplates() {
|
public List<IngestModuleTemplate> getEnabledIngestModuleTemplates() {
|
||||||
List<IngestModuleTemplate> enabledModuleTemplates = new ArrayList<>();
|
List<IngestModuleTemplate> enabledModuleTemplates = new ArrayList<>();
|
||||||
for (IngestModuleTemplate moduleTemplate : this.moduleTemplates) {
|
for (IngestModuleTemplate moduleTemplate : this.moduleTemplates) {
|
||||||
if (moduleTemplate.isEnabled()) {
|
if (moduleTemplate.isEnabled()) {
|
||||||
@ -240,16 +281,17 @@ public class IngestJobSettings {
|
|||||||
* @return True or false.
|
* @return True or false.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
boolean getProcessUnallocatedSpace() {
|
public boolean getProcessUnallocatedSpace() {
|
||||||
boolean processUnallocated = true;
|
boolean processUnallocated = true;
|
||||||
if (!Objects.isNull(this.fileIngestFilter)) {
|
if (!Objects.isNull(this.fileFilter)) {
|
||||||
processUnallocated = (this.fileIngestFilter.ingoresUnallocatedSpace() == false);
|
processUnallocated = (this.fileFilter.ingoresUnallocatedSpace() == false);
|
||||||
}
|
}
|
||||||
return processUnallocated;
|
return processUnallocated;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates the module folder for these ingest job settings.
|
* Creates the module folder for these ingest job settings, if it does not
|
||||||
|
* already exist.
|
||||||
*/
|
*/
|
||||||
private void createSavedModuleSettingsFolder() {
|
private void createSavedModuleSettingsFolder() {
|
||||||
try {
|
try {
|
||||||
@ -359,10 +401,10 @@ public class IngestJobSettings {
|
|||||||
for (FilesSet fSet : FilesSetsManager.getStandardFileIngestFilters()) {
|
for (FilesSet fSet : FilesSetsManager.getStandardFileIngestFilters()) {
|
||||||
fileIngestFilters.put(fSet.getName(), fSet);
|
fileIngestFilters.put(fSet.getName(), fSet);
|
||||||
}
|
}
|
||||||
this.fileIngestFilter = fileIngestFilters.get(ModuleSettings.getConfigSetting(this.executionContext, IngestJobSettings.LAST_FILE_INGEST_FILTER_PROPERTY));
|
this.fileFilter = fileIngestFilters.get(ModuleSettings.getConfigSetting(this.executionContext, IngestJobSettings.LAST_FILE_INGEST_FILTER_PROPERTY));
|
||||||
} catch (FilesSetsManager.FilesSetsManagerException ex) {
|
} catch (FilesSetsManager.FilesSetsManagerException ex) {
|
||||||
this.fileIngestFilter = FilesSetsManager.getDefaultFilter();
|
this.fileFilter = FilesSetsManager.getDefaultFilter();
|
||||||
logger.log(Level.SEVERE, "Failed to get file ingest filter from .properties file, default filter being used", ex); //NON-NLS
|
logger.log(Level.SEVERE, "Failed to get file filter from .properties file, default filter being used", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -513,7 +555,7 @@ public class IngestJobSettings {
|
|||||||
/**
|
/**
|
||||||
* Save the last used File Ingest Filter setting for this context.
|
* Save the last used File Ingest Filter setting for this context.
|
||||||
*/
|
*/
|
||||||
ModuleSettings.setConfigSetting(this.executionContext, LAST_FILE_INGEST_FILTER_PROPERTY, fileIngestFilter.getName());
|
ModuleSettings.setConfigSetting(this.executionContext, LAST_FILE_INGEST_FILTER_PROPERTY, fileFilter.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -542,7 +584,18 @@ public class IngestJobSettings {
|
|||||||
* comma-separated values.
|
* comma-separated values.
|
||||||
*/
|
*/
|
||||||
private static String makeCsvList(Collection<String> collection) {
|
private static String makeCsvList(Collection<String> collection) {
|
||||||
return collection.stream().collect(Collectors.joining(","));
|
if (collection == null || collection.isEmpty()) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
ArrayList<String> list = new ArrayList<>();
|
||||||
|
list.addAll(collection);
|
||||||
|
StringBuilder csvList = new StringBuilder();
|
||||||
|
for (int i = 0; i < list.size() - 1; ++i) {
|
||||||
|
csvList.append(list.get(i)).append(", ");
|
||||||
|
}
|
||||||
|
csvList.append(list.get(list.size() - 1));
|
||||||
|
return csvList.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -84,7 +84,7 @@ public final class IngestJobSettingsPanel extends javax.swing.JPanel {
|
|||||||
}
|
}
|
||||||
initComponents();
|
initComponents();
|
||||||
customizeComponents();
|
customizeComponents();
|
||||||
fileIngestFilterComboBox.setSelectedItem(settings.getFileIngestFilter().getName());
|
fileIngestFilterComboBox.setSelectedItem(settings.getFileFilter().getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -110,7 +110,7 @@ public final class IngestJobSettingsPanel extends javax.swing.JPanel {
|
|||||||
}
|
}
|
||||||
initComponents();
|
initComponents();
|
||||||
customizeComponents();
|
customizeComponents();
|
||||||
fileIngestFilterComboBox.setSelectedItem(settings.getFileIngestFilter().getName());
|
fileIngestFilterComboBox.setSelectedItem(settings.getFileFilter().getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -426,19 +426,19 @@ public final class IngestJobSettingsPanel extends javax.swing.JPanel {
|
|||||||
for (FilesSet filter : newFilterList) { //getting one of the recently created filters
|
for (FilesSet filter : newFilterList) { //getting one of the recently created filters
|
||||||
if (!oldFilterList.contains(filter.getName())) {
|
if (!oldFilterList.contains(filter.getName())) {
|
||||||
//set newly created filter to selected filter
|
//set newly created filter to selected filter
|
||||||
settings.setFileIngestFilter(filter);
|
settings.setFileFilter(filter);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fileIngestFilterComboBox.setModel(new DefaultComboBoxModel<>(getComboBoxContents()));
|
fileIngestFilterComboBox.setModel(new DefaultComboBoxModel<>(getComboBoxContents()));
|
||||||
//set the selected filter after the comboBox Contents were updated to include it
|
//set the selected filter after the comboBox Contents were updated to include it
|
||||||
fileIngestFilterComboBox.setSelectedItem(settings.getFileIngestFilter().getName());
|
fileIngestFilterComboBox.setSelectedItem(settings.getFileFilter().getName());
|
||||||
dialog.close();
|
dialog.close();
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
dialog.display(fileIngestFilterPanel);
|
dialog.display(fileIngestFilterPanel);
|
||||||
//return to saved selection in case they cancel out of filter creation
|
//return to saved selection in case they cancel out of filter creation
|
||||||
fileIngestFilterComboBox.setSelectedItem(settings.getFileIngestFilter().getName());
|
fileIngestFilterComboBox.setSelectedItem(settings.getFileFilter().getName());
|
||||||
} else if (evt.getActionCommand().equals("comboBoxChanged")) {
|
} else if (evt.getActionCommand().equals("comboBoxChanged")) {
|
||||||
try {
|
try {
|
||||||
Map<String, FilesSet> fileIngestFilters = FilesSetsManager.getInstance()
|
Map<String, FilesSet> fileIngestFilters = FilesSetsManager.getInstance()
|
||||||
@ -446,10 +446,10 @@ public final class IngestJobSettingsPanel extends javax.swing.JPanel {
|
|||||||
for (FilesSet fSet : FilesSetsManager.getStandardFileIngestFilters()) {
|
for (FilesSet fSet : FilesSetsManager.getStandardFileIngestFilters()) {
|
||||||
fileIngestFilters.put(fSet.getName(), fSet);
|
fileIngestFilters.put(fSet.getName(), fSet);
|
||||||
}
|
}
|
||||||
settings.setFileIngestFilter(fileIngestFilters
|
settings.setFileFilter(fileIngestFilters
|
||||||
.get(fileIngestFilterComboBox.getSelectedItem().toString()));
|
.get(fileIngestFilterComboBox.getSelectedItem().toString()));
|
||||||
} catch (FilesSetsManager.FilesSetsManagerException ex) {
|
} catch (FilesSetsManager.FilesSetsManagerException ex) {
|
||||||
settings.setFileIngestFilter(FilesSetsManager.getDefaultFilter());
|
settings.setFileFilter(FilesSetsManager.getDefaultFilter());
|
||||||
logger.log(Level.SEVERE, "Failed to get file ingest filter from combobox selection, default filter being used", ex); //NON-NLS
|
logger.log(Level.SEVERE, "Failed to get file ingest filter from combobox selection, default filter being used", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -222,7 +222,7 @@ class ProfilePanel extends IngestModuleGlobalSettingsPanel {
|
|||||||
} else if (!profile.getName().equals(getProfileName())) {
|
} else if (!profile.getName().equals(getProfileName())) {
|
||||||
IngestProfile.renameProfile(profile.getName(), getProfileName());
|
IngestProfile.renameProfile(profile.getName(), getProfileName());
|
||||||
}
|
}
|
||||||
profile = new IngestProfile(getProfileName(), profileDescArea.getText(), ingestSettingsPanel.getSettings().getFileIngestFilter().getName());
|
profile = new IngestProfile(getProfileName(), profileDescArea.getText(), ingestSettingsPanel.getSettings().getFileFilter().getName());
|
||||||
IngestProfile.saveProfile(profile);
|
IngestProfile.saveProfile(profile);
|
||||||
ingestSettingsPanel.getSettings().saveAs(getProfileName());
|
ingestSettingsPanel.getSettings().saveAs(getProfileName());
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user