mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-19 19:14:55 +00:00
Changes to ReportModule interface, modified UI to use it
This commit is contained in:
parent
82dfa7227f
commit
d7bd6cedd0
@ -61,4 +61,31 @@ interface ReportModule {
|
|||||||
public default JPanel getConfigurationPanel() {
|
public default JPanel getConfigurationPanel() {
|
||||||
return new DefaultReportConfigurationPanel();
|
return new DefaultReportConfigurationPanel();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get default configuration for this report module.
|
||||||
|
*
|
||||||
|
* @return Object which contains default report module settings.
|
||||||
|
*/
|
||||||
|
public default ReportModuleSettings getDefaultConfiguration() {
|
||||||
|
return new NoReportModuleSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get current configuration for this report module.
|
||||||
|
*
|
||||||
|
* @return Object which contains current report module settings.
|
||||||
|
*/
|
||||||
|
public default ReportModuleSettings getConfiguration() {
|
||||||
|
return new NoReportModuleSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set report module configuration.
|
||||||
|
*
|
||||||
|
* @param settings Object which contains report module settings.
|
||||||
|
*/
|
||||||
|
public default void setConfiguration(ReportModuleSettings settings) {
|
||||||
|
// NO-OP
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -40,6 +40,7 @@ final class ReportModuleConfig implements Serializable {
|
|||||||
ReportModuleConfig(ReportModule module, boolean enabled) {
|
ReportModuleConfig(ReportModule module, boolean enabled) {
|
||||||
this.moduleName = module.getClass().getCanonicalName();
|
this.moduleName = module.getClass().getCanonicalName();
|
||||||
this.enabled = enabled;
|
this.enabled = enabled;
|
||||||
|
this.settings = new NoReportModuleSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -50,7 +50,7 @@ final class ReportVisualPanel1 extends JPanel implements ListSelectionListener {
|
|||||||
private List<TableReportModule> tableModules = new ArrayList<>();
|
private List<TableReportModule> tableModules = new ArrayList<>();
|
||||||
private List<FileReportModule> fileModules = new ArrayList<>();
|
private List<FileReportModule> fileModules = new ArrayList<>();
|
||||||
private PortableCaseReportModule portableCaseModule;
|
private PortableCaseReportModule portableCaseModule;
|
||||||
private Map<String, ReportModuleConfig> moduleConfigs;
|
private final Map<String, ReportModuleConfig> moduleConfigs;
|
||||||
private Integer selectedIndex;
|
private Integer selectedIndex;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -118,9 +118,12 @@ final class ReportVisualPanel1 extends JPanel implements ListSelectionListener {
|
|||||||
for (ReportModule module : modules) {
|
for (ReportModule module : modules) {
|
||||||
ReportModuleSettings settings;
|
ReportModuleSettings settings;
|
||||||
if (moduleConfigs == null) {
|
if (moduleConfigs == null) {
|
||||||
// ELTODO get default module configuration (API isn't implemented yet)
|
// get default module configuration
|
||||||
// settings = module.getDefaultConfiguration();
|
settings = module.getDefaultConfiguration();
|
||||||
// update ReportModuleConfig config
|
// update config for this module
|
||||||
|
ReportModuleConfig moduleConfig = new ReportModuleConfig(module, false);
|
||||||
|
moduleConfig.setModuleSettings(settings);
|
||||||
|
moduleConfigs.put(module.getName(), moduleConfig);
|
||||||
} else {
|
} else {
|
||||||
// get configuration for this module
|
// get configuration for this module
|
||||||
ReportModuleConfig config = moduleConfigs.get(module.getClass().getCanonicalName());
|
ReportModuleConfig config = moduleConfigs.get(module.getClass().getCanonicalName());
|
||||||
@ -128,13 +131,16 @@ final class ReportVisualPanel1 extends JPanel implements ListSelectionListener {
|
|||||||
// there is an existing configuration for this module
|
// there is an existing configuration for this module
|
||||||
settings = config.getModuleSettings();
|
settings = config.getModuleSettings();
|
||||||
} else {
|
} else {
|
||||||
// ELTODO get default module configuration (API isn't implemented yet)
|
// get default module configuration
|
||||||
// settings = module.getDefaultConfiguration();
|
settings = module.getDefaultConfiguration();
|
||||||
// update ReportModuleConfig config
|
// update config for this module
|
||||||
|
ReportModuleConfig moduleConfig = new ReportModuleConfig(module, false);
|
||||||
|
moduleConfig.setModuleSettings(settings);
|
||||||
|
moduleConfigs.put(module.getName(), moduleConfig);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ELTODO set module configuration (API isn't implemented yet)
|
// set module configuration
|
||||||
// module.setConfiguration(settings);
|
module.setConfiguration(settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
modulesJList.getSelectionModel().addListSelectionListener(this);
|
modulesJList.getSelectionModel().addListSelectionListener(this);
|
||||||
@ -224,13 +230,14 @@ final class ReportVisualPanel1 extends JPanel implements ListSelectionListener {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Map<String, ReportModuleConfig> getUpdatedModuleConfigs() {
|
Map<String, ReportModuleConfig> getUpdatedModuleConfigs() {
|
||||||
// set module configurations
|
|
||||||
for (ReportModule module : modules) {
|
for (ReportModule module : modules) {
|
||||||
// ELTODO get updated module configuration (API isn't implemented yet)
|
// get updated module configuration
|
||||||
// settings = module.getConfiguration();
|
ReportModuleSettings settings = module.getConfiguration();
|
||||||
|
|
||||||
// update moduleConfigs
|
// update ReportModuleConfig for this module
|
||||||
// moduleConfigs.pu(module.getName(), settings);
|
ReportModuleConfig moduleConfig = new ReportModuleConfig(module, false);
|
||||||
|
moduleConfig.setModuleSettings(settings);
|
||||||
|
moduleConfigs.put(module.getName(), moduleConfig);
|
||||||
}
|
}
|
||||||
return moduleConfigs;
|
return moduleConfigs;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user