mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-17 18:17:43 +00:00
catching and ignoring report modules with null or empty names
This commit is contained in:
parent
1b413e0ea1
commit
a89183f863
@ -3,6 +3,7 @@ CTL_ReportWizardAction=Run Report
|
||||
ArtifactSelectionDialog.titleLabel.text=Select which artifacts you would like to report on:
|
||||
ArtifactSelectionDialog.okButton.text=OK
|
||||
ReportVisualPanel1.reportModulesLabel.text=Report Modules:
|
||||
ReportVisualPanel1.initModules.invalidWarning=Encountered an invalid Report Module
|
||||
DefaultReportConfigurationPanel.infoLabel.text=This report will be configured on the next screen.
|
||||
ReportVisualPanel2.dataLabel.text=Select which data to report on:
|
||||
ReportVisualPanel2.deselectAllButton.text=Deselect All
|
||||
|
@ -27,6 +27,7 @@ import java.util.Comparator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
import javax.swing.JList;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JRadioButton;
|
||||
@ -34,8 +35,11 @@ import javax.swing.ListCellRenderer;
|
||||
import javax.swing.ListSelectionModel;
|
||||
import javax.swing.event.ListSelectionEvent;
|
||||
import javax.swing.event.ListSelectionListener;
|
||||
import org.openide.DialogDisplayer;
|
||||
import org.openide.NotifyDescriptor;
|
||||
import org.openide.util.Lookup;
|
||||
import org.openide.util.NbBundle;
|
||||
import org.sleuthkit.autopsy.actions.OpenPythonModulesFolderAction;
|
||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
import org.sleuthkit.autopsy.python.JythonModuleLoader;
|
||||
import org.sleuthkit.autopsy.report.ReportHTML;
|
||||
@ -64,23 +68,55 @@ final class ReportVisualPanel1 extends JPanel implements ListSelectionListener {
|
||||
// Initialize the list of ReportModules
|
||||
private void initModules() {
|
||||
for (TableReportModule module : Lookup.getDefault().lookupAll(TableReportModule.class)) {
|
||||
tableModules.add(module);
|
||||
modules.add(module);
|
||||
if(validModule(module)) {
|
||||
tableModules.add(module);
|
||||
modules.add(module);
|
||||
} else {
|
||||
// log
|
||||
logger.log(Level.WARNING, "Invalid TableReportModule"); // NON_NLS
|
||||
DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(
|
||||
NbBundle.getMessage(ReportVisualPanel1.class, "ReportVisualPanel1.initModules.invalidWarning", module),
|
||||
NotifyDescriptor.ERROR_MESSAGE));
|
||||
}
|
||||
}
|
||||
|
||||
for (GeneralReportModule module : Lookup.getDefault().lookupAll(GeneralReportModule.class)) {
|
||||
generalModules.add(module);
|
||||
modules.add(module);
|
||||
if(validModule(module)) {
|
||||
generalModules.add(module);
|
||||
modules.add(module);
|
||||
} else {
|
||||
// log
|
||||
logger.log(Level.WARNING, "Invalid GeneralReportModule"); // NON_NLS
|
||||
DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(
|
||||
NbBundle.getMessage(ReportVisualPanel1.class, "ReportVisualPanel1.initModules.invalidWarning", module),
|
||||
NotifyDescriptor.ERROR_MESSAGE));
|
||||
}
|
||||
}
|
||||
|
||||
for (GeneralReportModule module : JythonModuleLoader.getGeneralReportModules()) {
|
||||
generalModules.add(module);
|
||||
modules.add(module);
|
||||
if(validModule(module)) {
|
||||
generalModules.add(module);
|
||||
modules.add(module);
|
||||
} else {
|
||||
//log
|
||||
logger.log(Level.WARNING, "Invalid GeneralReportModule"); // NON_NLS
|
||||
DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(
|
||||
NbBundle.getMessage(ReportVisualPanel1.class, "ReportVisualPanel1.initModules.invalidWarning", module),
|
||||
NotifyDescriptor.ERROR_MESSAGE));
|
||||
}
|
||||
}
|
||||
|
||||
for (FileReportModule module : Lookup.getDefault().lookupAll(FileReportModule.class)) {
|
||||
fileModules.add(module);
|
||||
modules.add(module);
|
||||
if(validModule(module)) {
|
||||
fileModules.add(module);
|
||||
modules.add(module);
|
||||
} else {
|
||||
//log
|
||||
logger.log(Level.WARNING, "Invalid FileReportModule"); // NON_NLS
|
||||
DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(
|
||||
NbBundle.getMessage(ReportVisualPanel1.class, "ReportVisualPanel1.initModules.invalidWarning", module),
|
||||
NotifyDescriptor.ERROR_MESSAGE));
|
||||
}
|
||||
}
|
||||
|
||||
Collections.sort(modules, new Comparator<ReportModule>() {
|
||||
@ -116,6 +152,11 @@ final class ReportVisualPanel1 extends JPanel implements ListSelectionListener {
|
||||
selectedIndex = 0;
|
||||
modulesJList.setSelectedIndex(selectedIndex);
|
||||
}
|
||||
|
||||
// Make sure that the report module has a valid non-null name.
|
||||
private boolean validModule(ReportModule module) {
|
||||
return module != null && module.getName() != null && !module.getName().isEmpty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user