Code review changes

This commit is contained in:
Eugene Livis 2019-09-18 15:26:37 -04:00
parent 4d11d4a291
commit 75c83adcec
45 changed files with 255 additions and 277 deletions

View File

@ -114,6 +114,7 @@ public class CommandLineIngestManager {
* Requests the list of command line commands from command line options
* processor and executes the commands one by one.
*/
@Override
public void run() {
LOGGER.log(Level.INFO, "Job processing task started");
@ -281,7 +282,7 @@ public class CommandLineIngestManager {
}
// generate reports
ReportGenerator generator = new ReportGenerator(CommandLineIngestSettingsPanel.REPORTING_CONFIGURATION_NAME, new ReportProgressLogger()); //NON-NLS
ReportGenerator generator = new ReportGenerator(CommandLineIngestSettingsPanel.getReportingConfigName(), new ReportProgressLogger()); //NON-NLS
generator.generateReports();
} catch (CaseActionException ex) {
String caseDirPath = command.getInputs().get(CommandLineCommand.InputType.CASE_FOLDER_PATH.name());

View File

@ -34,11 +34,10 @@ import static org.sleuthkit.autopsy.report.infrastructure.ReportWizardAction.doR
@SuppressWarnings("PMD.SingularField") // UI widgets cause lots of false positives
public class CommandLineIngestSettingsPanel extends javax.swing.JPanel {
private final CommandLineIngestSettingsPanelController controller;
private static final long serialVersionUID = 1L;
private static final Logger logger = Logger.getLogger(CommandLineIngestSettingsPanel.class.getName());
static final String REPORTING_CONFIGURATION_NAME = "CommandLineIngest";
private static final String REPORTING_CONFIGURATION_NAME = "CommandLineIngest";
private static final boolean DISPLAY_CASE_SPECIFIC_DATA = false; // do not try to display case specific data
private static final boolean RUN_REPORTS = false; // do not generate reports as part of running the report wizard
@ -48,9 +47,15 @@ public class CommandLineIngestSettingsPanel extends javax.swing.JPanel {
* @param theController Controller to notify of changes.
*/
public CommandLineIngestSettingsPanel(CommandLineIngestSettingsPanelController theController) {
controller = theController;
initComponents();
}
/**
* @return the REPORTING_CONFIGURATION_NAME
*/
public static String getReportingConfigName() {
return REPORTING_CONFIGURATION_NAME;
}
private void displayIngestJobSettingsPanel() {
this.getParent().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
@ -171,7 +176,7 @@ public class CommandLineIngestSettingsPanel extends javax.swing.JPanel {
private void bnEditReportSettingsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnEditReportSettingsActionPerformed
this.getParent().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
doReportWizard(REPORTING_CONFIGURATION_NAME, DISPLAY_CASE_SPECIFIC_DATA, RUN_REPORTS);
doReportWizard(getReportingConfigName(), DISPLAY_CASE_SPECIFIC_DATA, RUN_REPORTS);
this.getParent().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
}//GEN-LAST:event_bnEditReportSettingsActionPerformed

View File

@ -311,19 +311,19 @@
<attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.directorytree.FileSearchProvider"/>
<attr name="position" intvalue="250"/>
</file>
<file name="org-sleuthkit-autopsy-report-modules-html-ReportHTML.instance">
<file name="org-sleuthkit-autopsy-report-modules-html-HTMLReport.instance">
<attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.report.infrastructure.TableReportModule"/>
<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.report.modules.html.ReportHTML.getDefault"/>
<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.report.modules.html.HTMLReport.getDefault"/>
<attr name="position" intvalue="900"/>
</file>
<file name="org-sleuthkit-autopsy-report-modules-excel.ReportExcel.instance">
<file name="org-sleuthkit-autopsy-report-modules-excel.ExcelReport.instance">
<attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.report.infrastructure.TableReportModule"/>
<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.report.modules.excel.ReportExcel.getDefault"/>
<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.report.modules.excel.ExcelReport.getDefault"/>
<attr name="position" intvalue="901"/>
</file>
<file name="org-sleuthkit-autopsy-report-modules-bodyfile-ReportBodyFile.instance">
<file name="org-sleuthkit-autopsy-report-modules-bodyfile-BodyFileReport.instance">
<attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.report.GeneralReportModule"/>
<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.report.modules.bodyfile.ReportBodyFile.getDefault"/>
<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.report.modules.bodyfile.BodyFileReport.getDefault"/>
<attr name="position" intvalue="902"/>
</file>
<file name="org-sleuthkit-autopsy-report-modules-file-FileReportText.instance">
@ -331,9 +331,9 @@
<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.report.modules.file.FileReportText.getDefault"/>
<attr name="position" intvalue="903"/>
</file>
<file name="org-sleuthkit-autopsy-report-modules-kml-ReportKML.instance">
<file name="org-sleuthkit-autopsy-report-modules-kml-KMLReport.instance">
<attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.report.GeneralReportModule"/>
<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.report.modules.kml.ReportKML.getDefault"/>
<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.report.modules.kml.KMLReport.getDefault"/>
<attr name="position" intvalue="904"/>
</file>
<file name="org-sleuthkit-autopsy-report-modules-stix-STIXReportModule.instance">
@ -341,9 +341,9 @@
<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.report.modules.stix.STIXReportModule.getDefault"/>
<attr name="position" intvalue="910"/>
</file>
<file name="org-sleuthkit-autopsy-report-modules-caseuco-ReportCaseUco.instance">
<file name="org-sleuthkit-autopsy-report-modules-caseuco-CaseUcoReport.instance">
<attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.report.GeneralReportModule"/>
<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.report.modules.caseuco.ReportCaseUco.getDefault"/>
<attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.report.modules.caseuco.CaseUcoReport.getDefault"/>
<attr name="position" intvalue="911"/>
</file>
<!--<folder name="JavaHelp">

View File

@ -695,6 +695,8 @@ public class HashDbManager implements PropertyChangeListener {
public static abstract class HashDb implements Serializable {
private static final long serialVersionUID = 1L;
/**
* Indicates how files with hashes stored in a particular hash database
* object should be classified.

View File

@ -19,7 +19,6 @@
package org.sleuthkit.autopsy.report;
import javax.swing.JPanel;
import org.sleuthkit.autopsy.report.ReportProgressPanel;
/**
* An adapter that provides no-op implementations of various GeneralReportModule

View File

@ -18,8 +18,6 @@
*/
package org.sleuthkit.autopsy.report;
import org.sleuthkit.autopsy.report.ReportModuleSettings;
/**
* Implementation of the ReportModuleSettings interface for use by report
* modules that do not have settings.

View File

@ -58,7 +58,7 @@ class ArtifactSelectionDialog extends javax.swing.JDialog {
* @param parent The parent window
* @param modal Block user-input to other top-level windows.
*/
public ArtifactSelectionDialog(java.awt.Frame parent, boolean modal) {
ArtifactSelectionDialog(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
populateList();
@ -96,7 +96,9 @@ class ArtifactSelectionDialog extends javax.swing.JDialog {
Logger.getLogger(ArtifactSelectionDialog.class.getName()).log(Level.SEVERE, "Error getting list of artifacts in use: {0}", ex.getLocalizedMessage()); //NON-NLS
} catch (NoCurrentCaseException ex) {
// There may not be a case open, for example when configuring Command Line reports
Logger.getLogger(ArtifactSelectionDialog.class.getName()).log(Level.WARNING, "Exception while getting open case.", ex.getLocalizedMessage()); //NON-NLS
if (Case.isCaseOpen()) {
Logger.getLogger(ArtifactSelectionDialog.class.getName()).log(Level.SEVERE, "Exception while getting open case.", ex.getLocalizedMessage()); //NON-NLS
}
}
}

View File

@ -165,6 +165,7 @@ ReportVisualPanel2.getName.text=Configure Report
ReportWizardAction.actionName.text=Generate Report
ReportWizardAction.reportWiz.title=Generate Report
ReportWizardAction.toolBarButton.text=Generate Report
ReportWizardAction.unableToSaveConfig.errorLabel.text=Failed to save reporting configuration
ReportWizardFileOptionsPanel.finishButton.text=Finish
ReportWizardFileOptionsVisualPanel.getName.text=Configure File Report
ReportWizardPanel1.nextButton.text=Next >
@ -199,3 +200,16 @@ CreatePortableCasePanel.chooseOutputFolderButton.text=Choose folder
CreatePortableCasePanel.jLabel1.text=Export files tagged as:
CreatePortableCasePanel.jLabel2.text=Select output folder:
CreatePortableCasePanel.errorLabel.text_1=Windows only
FileReportDataTypes.filename.text=Name
FileReportDataTypes.fileExt.text=File Extension
FileReportDataTypes.fileType.text=File Type
FileReportDataTypes.isDel.text=Is Deleted
FileReportDataTypes.aTime.text=Last Accessed
FileReportDataTypes.crTime.text=File Created
FileReportDataTypes.mTime.text=Last Modified
FileReportDataTypes.size.text=Size
FileReportDataTypes.address.text=Address
FileReportDataTypes.hash.text=Hash Value
FileReportDataTypes.knownStatus.text=Known Status
FileReportDataTypes.perms.text=Permissions
FileReportDataTypes.path.text=Full Path

View File

@ -174,6 +174,7 @@ ReportVisualPanel2.getName.text=Configure Report
ReportWizardAction.actionName.text=Generate Report
ReportWizardAction.reportWiz.title=Generate Report
ReportWizardAction.toolBarButton.text=Generate Report
ReportWizardAction.unableToSaveConfig.errorLabel.text=Failed to save reporting configuration
ReportWizardFileOptionsPanel.finishButton.text=Finish
ReportWizardFileOptionsVisualPanel.getName.text=Configure File Report
ReportWizardPanel1.nextButton.text=Next >
@ -208,5 +209,18 @@ CreatePortableCasePanel.chooseOutputFolderButton.text=Choose folder
CreatePortableCasePanel.jLabel1.text=Export files tagged as:
CreatePortableCasePanel.jLabel2.text=Select output folder:
CreatePortableCasePanel.errorLabel.text_1=Windows only
FileReportDataTypes.filename.text=Name
FileReportDataTypes.fileExt.text=File Extension
FileReportDataTypes.fileType.text=File Type
FileReportDataTypes.isDel.text=Is Deleted
FileReportDataTypes.aTime.text=Last Accessed
FileReportDataTypes.crTime.text=File Created
FileReportDataTypes.mTime.text=Last Modified
FileReportDataTypes.size.text=Size
FileReportDataTypes.address.text=Address
FileReportDataTypes.hash.text=Hash Value
FileReportDataTypes.knownStatus.text=Known Status
FileReportDataTypes.perms.text=Permissions
FileReportDataTypes.path.text=Full Path
ReportWizardPortableCaseOptionsVisualPanel.getName.title=Choose Portable Case settings
TableReportGenerator.StatusColumn.Header=Review Status

View File

@ -175,3 +175,16 @@ ReportGenerator.errList.failedGetAbstractFileFromID=ID\u306b\u57fa\u3065\u304d\u
ReportVisualPanel1.invalidModuleWarning=\u7121\u52b9\u306a\u30ec\u30dd\u30fc\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb({0})\u306b\u906d\u9047\u3057\u307e\u3057\u305f
ReportGenerationPanel.confDlg.cancelReport.msg=\u672c\u5f53\u306b\u30ec\u30dd\u30fc\u30c8\u3092\u30ad\u30e3\u30f3\u30bb\u30eb\u3057\u307e\u3059\u304b\uff1f
ReportProgressPanel.complete.processLb2.text=\u5b8c\u4e86\u3057\u307e\u3057\u305f\u304c\u3001\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
FileReportDataTypes.filename.text=\u540d\u524d
FileReportDataTypes.fileExt.text=\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50
FileReportDataTypes.fileType.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7
FileReportDataTypes.isDel.text=\u306f\u524a\u9664\u3055\u308c\u307e\u3057\u305f
FileReportDataTypes.aTime.text=\u6700\u5f8c\u306e\u30a2\u30af\u30bb\u30b9
FileReportDataTypes.crTime.text=\u4f5c\u6210\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb
FileReportDataTypes.mTime.text=\u6700\u5f8c\u306e\u4fee\u6b63
FileReportDataTypes.size.text=\u30b5\u30a4\u30ba
FileReportDataTypes.address.text=\u30a2\u30c9\u30ec\u30b9
FileReportDataTypes.hash.text=\u30cf\u30c3\u30b7\u30e5\u5024
FileReportDataTypes.knownStatus.text=\u65e2\u77e5\u30b9\u30c6\u30fc\u30bf\u30b9
FileReportDataTypes.perms.text=\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3
FileReportDataTypes.path.text=\u30d5\u30eb\u30d1\u30b9

View File

@ -16,7 +16,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.sleuthkit.autopsy.report.modules.file;
package org.sleuthkit.autopsy.report.infrastructure;
import org.openide.util.NbBundle;
import org.sleuthkit.datamodel.AbstractFile;
@ -32,13 +32,13 @@ import org.sleuthkit.datamodel.TskData;
*/
public enum FileReportDataTypes {
NAME(NbBundle.getMessage(FileReportText.class, "FileReportDataTypes.filename.text")) {
NAME(NbBundle.getMessage(FileReportDataTypes.class, "FileReportDataTypes.filename.text")) {
@Override
public String getValue(AbstractFile file) {
return file.getName();
}
},
FILE_EXT(NbBundle.getMessage(FileReportText.class, "FileReportDataTypes.fileExt.text")) {
FILE_EXT(NbBundle.getMessage(FileReportDataTypes.class, "FileReportDataTypes.fileExt.text")) {
@Override
public String getValue(AbstractFile file) {
String name = file.getName();
@ -46,13 +46,13 @@ public enum FileReportDataTypes {
return (extIndex == -1 ? "" : name.substring(extIndex));
}
},
FILE_TYPE(NbBundle.getMessage(FileReportText.class, "FileReportDataTypes.fileType.text")) {
FILE_TYPE(NbBundle.getMessage(FileReportDataTypes.class, "FileReportDataTypes.fileType.text")) {
@Override
public String getValue(AbstractFile file) {
return file.getMetaTypeAsString();
}
},
DELETED(NbBundle.getMessage(FileReportText.class, "FileReportDataTypes.isDel.text")) {
DELETED(NbBundle.getMessage(FileReportDataTypes.class, "FileReportDataTypes.isDel.text")) {
@Override
public String getValue(AbstractFile file) {
if (file.getMetaFlagsAsString().equals(TskData.TSK_FS_META_FLAG_ENUM.UNALLOC.toString())) {
@ -61,55 +61,55 @@ public enum FileReportDataTypes {
return "";
}
},
A_TIME(NbBundle.getMessage(FileReportText.class, "FileReportDataTypes.aTime.text")) {
A_TIME(NbBundle.getMessage(FileReportDataTypes.class, "FileReportDataTypes.aTime.text")) {
@Override
public String getValue(AbstractFile file) {
return file.getAtimeAsDate();
}
},
CR_TIME(NbBundle.getMessage(FileReportText.class, "FileReportDataTypes.crTime.text")) {
CR_TIME(NbBundle.getMessage(FileReportDataTypes.class, "FileReportDataTypes.crTime.text")) {
@Override
public String getValue(AbstractFile file) {
return file.getCrtimeAsDate();
}
},
M_TIME(NbBundle.getMessage(FileReportText.class, "FileReportDataTypes.mTime.text")) {
M_TIME(NbBundle.getMessage(FileReportDataTypes.class, "FileReportDataTypes.mTime.text")) {
@Override
public String getValue(AbstractFile file) {
return file.getMtimeAsDate();
}
},
SIZE(NbBundle.getMessage(FileReportText.class, "FileReportDataTypes.size.text")) {
SIZE(NbBundle.getMessage(FileReportDataTypes.class, "FileReportDataTypes.size.text")) {
@Override
public String getValue(AbstractFile file) {
return String.valueOf(file.getSize());
}
},
ADDRESS(NbBundle.getMessage(FileReportText.class, "FileReportDataTypes.address.text")) {
ADDRESS(NbBundle.getMessage(FileReportDataTypes.class, "FileReportDataTypes.address.text")) {
@Override
public String getValue(AbstractFile file) {
return String.valueOf(file.getMetaAddr());
}
},
HASH_VALUE(NbBundle.getMessage(FileReportText.class, "FileReportDataTypes.hash.text")) {
HASH_VALUE(NbBundle.getMessage(FileReportDataTypes.class, "FileReportDataTypes.hash.text")) {
@Override
public String getValue(AbstractFile file) {
return file.getMd5Hash();
}
},
KNOWN_STATUS(NbBundle.getMessage(FileReportText.class, "FileReportDataTypes.knownStatus.text")) {
KNOWN_STATUS(NbBundle.getMessage(FileReportDataTypes.class, "FileReportDataTypes.knownStatus.text")) {
@Override
public String getValue(AbstractFile file) {
return file.getKnown().getName();
}
},
PERMISSIONS(NbBundle.getMessage(FileReportText.class, "FileReportDataTypes.perms.text")) {
PERMISSIONS(NbBundle.getMessage(FileReportDataTypes.class, "FileReportDataTypes.perms.text")) {
@Override
public String getValue(AbstractFile file) {
return file.getModesAsString();
}
},
FULL_PATH(NbBundle.getMessage(FileReportText.class, "FileReportDataTypes.path.text")) {
FULL_PATH(NbBundle.getMessage(FileReportDataTypes.class, "FileReportDataTypes.path.text")) {
@Override
public String getValue(AbstractFile file) {
try {

View File

@ -18,7 +18,6 @@
*/
package org.sleuthkit.autopsy.report.infrastructure;
import org.sleuthkit.autopsy.report.modules.file.FileReportDataTypes;
import org.sleuthkit.autopsy.report.ReportModule;
import java.util.List;
import org.sleuthkit.datamodel.AbstractFile;

View File

@ -18,7 +18,6 @@
*/
package org.sleuthkit.autopsy.report.infrastructure;
import org.sleuthkit.autopsy.report.modules.file.FileReportDataTypes;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

View File

@ -73,7 +73,7 @@ class PortableCaseInterestingItemsListPanel extends javax.swing.JPanel {
customizeComponents();
// update tag selection
jAllSetsCheckBox.setSelected(settings.isAllTagsSelected());
jAllSetsCheckBox.setSelected(settings.areAllTagsSelected());
setNamesListBox.setEnabled(!jAllSetsCheckBox.isSelected());
selectButton.setEnabled(!jAllSetsCheckBox.isSelected());
deselectButton.setEnabled(!jAllSetsCheckBox.isSelected());
@ -123,7 +123,9 @@ class PortableCaseInterestingItemsListPanel extends javax.swing.JPanel {
Logger.getLogger(ReportWizardPortableCaseOptionsVisualPanel.class.getName()).log(Level.SEVERE, "Failed to get interesting item set names", ex); // NON-NLS
} catch (NoCurrentCaseException ex) {
// There may not be a case open when configuring report modules for Command Line execution
Logger.getLogger(ReportWizardPortableCaseOptionsVisualPanel.class.getName()).log(Level.WARNING, "Exception while getting open case.", ex); // NON-NLS
if (Case.isCaseOpen()) {
Logger.getLogger(ReportWizardPortableCaseOptionsVisualPanel.class.getName()).log(Level.SEVERE, "Exception while getting open case.", ex); // NON-NLS
}
}
}
Collections.sort(setNames);

View File

@ -72,7 +72,7 @@ class PortableCaseTagsListPanel extends javax.swing.JPanel {
initComponents();
customizeComponents();
// update tag selection
jAllTagsCheckBox.setSelected(settings.isAllTagsSelected());
jAllTagsCheckBox.setSelected(settings.areAllTagsSelected());
tagNamesListBox.setEnabled(!jAllTagsCheckBox.isSelected());
selectButton.setEnabled(!jAllTagsCheckBox.isSelected());
deselectButton.setEnabled(!jAllTagsCheckBox.isSelected());

View File

@ -18,7 +18,6 @@
*/
package org.sleuthkit.autopsy.report.infrastructure;
import org.sleuthkit.autopsy.report.modules.file.FileReportDataTypes;
import org.sleuthkit.autopsy.report.modules.portablecase.PortableCaseReportModuleSettings;
import org.sleuthkit.autopsy.report.modules.portablecase.PortableCaseReportModule;
import org.sleuthkit.autopsy.report.NoReportModuleSettings;

View File

@ -19,7 +19,7 @@
package org.sleuthkit.autopsy.report.infrastructure;
import org.sleuthkit.autopsy.report.modules.portablecase.PortableCaseReportModule;
import org.sleuthkit.autopsy.report.modules.html.ReportHTML;
import org.sleuthkit.autopsy.report.modules.html.HTMLReport;
import org.sleuthkit.autopsy.report.ReportModule;
import org.sleuthkit.autopsy.report.ReportModuleSettings;
import org.sleuthkit.autopsy.report.GeneralReportModule;
@ -114,7 +114,7 @@ final class ReportVisualPanel1 extends JPanel implements ListSelectionListener {
// Results-HTML should always be first in the list of Report Modules.
int indexOfHTMLReportModule = 0;
for (ReportModule module : modules) {
if (module instanceof ReportHTML) {
if (module instanceof HTMLReport) {
break;
}
indexOfHTMLReportModule++;

View File

@ -110,9 +110,9 @@ final class ReportVisualPanel2 extends JPanel {
// enable things based on input settings
advancedButton.setEnabled(useCaseSpecificData);
specificTaggedResultsRadioButton.setEnabled(useCaseSpecificData);
TableReportSettings.TableReportType type = TableReportSettings.TableReportType.ALL_RESULTS;
TableReportSettings.TableReportOption type = TableReportSettings.TableReportOption.ALL_RESULTS;
if (settings != null) {
type = settings.getReportType();
type = settings.getSelectedReportOption();
}
switch (type) {
case ALL_TAGGED_RESULTS:
@ -275,13 +275,13 @@ final class ReportVisualPanel2 extends JPanel {
* @return true if the Specific Tags radio button is selected, false
* otherwise
*/
TableReportSettings.TableReportType getSelectedReportType() {
TableReportSettings.TableReportOption getSelectedReportType() {
if (allTaggedResultsRadioButton.isSelected()) {
return TableReportSettings.TableReportType.ALL_TAGGED_RESULTS;
return TableReportSettings.TableReportOption.ALL_TAGGED_RESULTS;
} else if (specificTaggedResultsRadioButton.isSelected()) {
return TableReportSettings.TableReportType.SPECIFIC_TAGGED_RESULTS;
return TableReportSettings.TableReportOption.SPECIFIC_TAGGED_RESULTS;
}
return TableReportSettings.TableReportType.ALL_RESULTS;
return TableReportSettings.TableReportOption.ALL_RESULTS;
}
/**

View File

@ -38,6 +38,7 @@ import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.SwingWorker;
import org.openide.DialogDisplayer;
import org.openide.NotifyDescriptor;
import org.openide.WizardDescriptor;
import org.openide.awt.ActionID;
import org.openide.awt.ActionReference;
@ -86,7 +87,15 @@ public final class ReportWizardAction extends CallableSystemAction implements Pr
if (DialogDisplayer.getDefault().notify(wiz) == WizardDescriptor.FINISH_OPTION) {
// save reporting configuration
saveReportingConfiguration(configName, wiz);
try {
saveReportingConfiguration(configName, wiz);
} catch (ReportConfigException ex) {
logger.log(Level.SEVERE, "Failed to save reporting configuration " + configName, ex); //NON-NLS
NotifyDescriptor descriptor = new NotifyDescriptor.Message(
NbBundle.getMessage(ReportWizardAction.class, "ReportWizardAction.unableToSaveConfig.errorLabel.text"),
NotifyDescriptor.ERROR_MESSAGE);
DialogDisplayer.getDefault().notify(descriptor);
}
if (runReports) {
// generate reports in a separate thread
@ -101,7 +110,7 @@ public final class ReportWizardAction extends CallableSystemAction implements Pr
}
}
private static void saveReportingConfiguration(String configName, WizardDescriptor wiz) {
private static void saveReportingConfiguration(String configName, WizardDescriptor wiz) throws ReportConfigException {
ReportingConfig reportingConfig = new ReportingConfig(configName);
reportingConfig.setFileReportSettings((FileReportSettings) wiz.getProperty("fileReportSettings"));
@ -120,13 +129,11 @@ public final class ReportWizardAction extends CallableSystemAction implements Pr
// set module configs
reportingConfig.setModuleConfigs(moduleConfigs);
try {
// save reporting configuration
ReportingConfigLoader.saveConfig(reportingConfig);
} catch (ReportConfigException ex) {
// ELTODO should we do more to let the user know?
logger.log(Level.SEVERE, "Failed to save reporting configuration " + reportingConfig.getName(), ex); //NON-NLS
}
// save reporting configuration
ReportingConfigLoader.saveConfig(reportingConfig);
//ELDELETE
throw new ReportConfigException("test");
}
public ReportWizardAction() {

View File

@ -18,7 +18,6 @@
*/
package org.sleuthkit.autopsy.report.infrastructure;
import org.sleuthkit.autopsy.report.modules.file.FileReportDataTypes;
import java.awt.Component;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

View File

@ -18,7 +18,7 @@
*/
package org.sleuthkit.autopsy.report.infrastructure;
import org.sleuthkit.autopsy.report.modules.html.ReportHTML;
import org.sleuthkit.autopsy.report.modules.html.HTMLReport;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimaps;
@ -127,7 +127,7 @@ class TableReportGenerator {
try {
// If report type is "all tagged results", then read all possible tab names from database.
// Otherwise do not load tag names, i.e. run "all results" report
if (settings.getReportType() == TableReportSettings.TableReportType.ALL_TAGGED_RESULTS) {
if (settings.getSelectedReportOption() == TableReportSettings.TableReportOption.ALL_TAGGED_RESULTS) {
getAllExistingTags();
}
@ -220,7 +220,7 @@ class TableReportGenerator {
});
for (String accountTypeStr : groupedArtifacts.keySet()) {
/*
* If the report is a ReportHTML, the data type name
* If the report is a HTMLReport, the data type name
* eventualy makes it to useDataTypeIcon which expects but
* does not require a artifact name, so we make a synthetic
* compund name by appending a ":" and the account type.
@ -346,8 +346,8 @@ class TableReportGenerator {
NbBundle.getMessage(this.getClass(), "ReportGenerator.makeContTagTab.taggedFiles.msg"));
comment.append(makeCommaSeparatedList(tagNamesFilter));
}
if (tableReport instanceof ReportHTML) {
ReportHTML htmlReportModule = (ReportHTML) tableReport;
if (tableReport instanceof HTMLReport) {
HTMLReport htmlReportModule = (HTMLReport) tableReport;
htmlReportModule.startDataType(BlackboardArtifact.ARTIFACT_TYPE.TSK_TAG_FILE.getDisplayName(), comment.toString());
htmlReportModule.startContentTagsTable(columnHeaders);
} else {
@ -384,8 +384,8 @@ class TableReportGenerator {
rowData.add(file.getMd5Hash());
}
// @@@ This casting is a tricky little workaround to allow the HTML report module to slip in a content hyperlink.
if (tableReport instanceof ReportHTML) {
ReportHTML htmlReportModule = (ReportHTML) tableReport;
if (tableReport instanceof HTMLReport) {
HTMLReport htmlReportModule = (HTMLReport) tableReport;
htmlReportModule.addRowWithTaggedContentHyperlink(rowData, tag);
} else {
tableReport.addRow(rowData);
@ -475,13 +475,13 @@ class TableReportGenerator {
progressPanel.updateStatusLabel(
NbBundle.getMessage(this.getClass(), "ReportGenerator.progress.createdThumb.text"));
if (tableReport instanceof ReportHTML) {
ReportHTML htmlModule = (ReportHTML) tableReport;
if (tableReport instanceof HTMLReport) {
HTMLReport htmlModule = (HTMLReport) tableReport;
htmlModule.startDataType(
NbBundle.getMessage(this.getClass(), "ReportGenerator.thumbnailTable.name"),
NbBundle.getMessage(this.getClass(), "ReportGenerator.thumbnailTable.desc"));
List<String> emptyHeaders = new ArrayList<>();
for (int i = 0; i < ReportHTML.THUMBNAIL_COLUMNS; i++) {
for (int i = 0; i < HTMLReport.THUMBNAIL_COLUMNS; i++) {
emptyHeaders.add("");
}
htmlModule.startTable(emptyHeaders);

View File

@ -32,9 +32,9 @@ import org.sleuthkit.datamodel.BlackboardArtifact;
final class TableReportSettings implements Serializable {
/**
* An enumeration of table report types.
* An enumeration of table report options.
*/
enum TableReportType {
enum TableReportOption {
ALL_RESULTS, //NON-NLS
ALL_TAGGED_RESULTS, //NON-NLS
SPECIFIC_TAGGED_RESULTS; //NON-NLS
@ -43,8 +43,8 @@ final class TableReportSettings implements Serializable {
private static final long serialVersionUID = 1L;
private final List<BlackboardArtifact.Type> artifactTypes = new ArrayList<>();
private final List<String> tagNames = new ArrayList<>();
private final boolean useCaseSpecificData;
private final TableReportType reportType;
private final boolean loadAllTagsAndArtifacts;
private final TableReportOption reportOption;
/**
* Creates TableReportSettings object. This constructor is used when user
@ -55,10 +55,10 @@ final class TableReportSettings implements Serializable {
* types to be included in the report. Only enabled entries will be kept.
* @param tagNameSelections The enabled/disabled state of the tag names to
* be included in the report. Only enabled entries will be kept.
* @param useCaseSpecificData Flag whether to use case specific tag and artifact data.
* @param reportType Table report type.
* @param loadAllTagsAndArtifacts Flag whether to read tag and artifact lists at report generation time
* @param reportOption Selected table report option.
*/
TableReportSettings(Map<BlackboardArtifact.Type, Boolean> artifactTypeSelections, Map<String, Boolean> tagNameSelections, boolean useCaseSpecificData, TableReportType reportType) {
TableReportSettings(Map<BlackboardArtifact.Type, Boolean> artifactTypeSelections, Map<String, Boolean> tagNameSelections, boolean loadAllTagsAndArtifacts, TableReportOption reportOption) {
// Get the artifact types selected by the user
for (Map.Entry<BlackboardArtifact.Type, Boolean> entry : artifactTypeSelections.entrySet()) {
if (entry.getValue()) {
@ -74,8 +74,8 @@ final class TableReportSettings implements Serializable {
}
}
this.reportType = reportType;
this.useCaseSpecificData = useCaseSpecificData;
this.reportOption = reportOption;
this.loadAllTagsAndArtifacts = loadAllTagsAndArtifacts;
}
List<BlackboardArtifact.Type> getArtifactSelections() {
@ -87,15 +87,15 @@ final class TableReportSettings implements Serializable {
}
boolean isUseCaseSpecificData() {
return useCaseSpecificData;
return loadAllTagsAndArtifacts;
}
/**
* Get report type.
* Get selected report option.
*
* @return the reportType
* @return the reportOption
*/
TableReportType getReportType() {
return reportType;
TableReportOption getSelectedReportOption() {
return reportOption;
}
}

View File

@ -40,14 +40,14 @@ import org.sleuthkit.autopsy.report.ReportProgressPanel.ReportStatus;
import org.sleuthkit.datamodel.*;
/**
* ReportBodyFile generates a report in the body file format specified on The
* Sleuth Kit wiki as
* MD5|name|inode|mode_as_string|UID|GID|size|atime|mtime|ctime|crtime.
* BodyFileReport generates a report in the body file format specified on The
Sleuth Kit wiki as
MD5|name|inode|mode_as_string|UID|GID|size|atime|mtime|ctime|crtime.
*/
class ReportBodyFile implements GeneralReportModule {
class BodyFileReport implements GeneralReportModule {
private static final Logger logger = Logger.getLogger(ReportBodyFile.class.getName());
private static ReportBodyFile instance = null;
private static final Logger logger = Logger.getLogger(BodyFileReport.class.getName());
private static BodyFileReport instance = null;
private Case currentCase;
private SleuthkitCase skCase;
@ -55,13 +55,13 @@ class ReportBodyFile implements GeneralReportModule {
private String reportPath;
// Hidden constructor for the report
private ReportBodyFile() {
private BodyFileReport() {
}
// Get the default implementation of this report
public static synchronized ReportBodyFile getDefault() {
public static synchronized BodyFileReport getDefault() {
if (instance == null) {
instance = new ReportBodyFile();
instance = new BodyFileReport();
}
return instance;
}

View File

@ -239,7 +239,7 @@ public final class CaseUcoFormatExporter {
//Create our report file
Path reportFile = Paths.get(caseReportFolder.toString(),
ReportCaseUco.getReportFileName());
CaseUcoReport.getReportFileName());
//Timezone for formatting file creation, modification, and accessed times
SimpleTimeZone timeZone = new SimpleTimeZone(0, "GMT");

View File

@ -23,65 +23,31 @@ import javax.swing.JPanel;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.report.GeneralReportModule;
import org.sleuthkit.autopsy.report.NoReportModuleSettings;
import org.sleuthkit.autopsy.report.ReportModuleSettings;
import org.sleuthkit.autopsy.report.ReportProgressPanel;
/**
* ReportCaseUco generates a report in the CASE-UCO format. It saves basic file
* CaseUcoReport generates a report in the CASE-UCO format. It saves basic file
* info like full caseDirPath, name, MIME type, times, and hash.
*/
public final class ReportCaseUco implements GeneralReportModule {
public final class CaseUcoReport implements GeneralReportModule {
private static final Logger logger = Logger.getLogger(ReportCaseUco.class.getName());
private static ReportCaseUco instance = null;
private static final Logger logger = Logger.getLogger(CaseUcoReport.class.getName());
private static CaseUcoReport instance = null;
private static final String REPORT_FILE_NAME = "CASE_UCO_output.json-ld";
// Hidden constructor for the report
private ReportCaseUco() {
private CaseUcoReport() {
}
// Get the default implementation of this report
public static synchronized ReportCaseUco getDefault() {
public static synchronized CaseUcoReport getDefault() {
if (instance == null) {
instance = new ReportCaseUco();
instance = new CaseUcoReport();
}
return instance;
}
/**
* Get default configuration for this report module.
*
* @return Object which contains default report module settings.
*/
@Override
public ReportModuleSettings getDefaultConfiguration() {
// This module does not have configuration
return new NoReportModuleSettings();
}
/**
* Get current configuration for this report module.
*
* @return Object which contains current report module settings.
*/
@Override
public ReportModuleSettings getConfiguration() {
// This module does not have configuration
return new NoReportModuleSettings();
}
/**
* Set report module configuration.
*
* @param settings Object which contains report module settings.
*/
@Override
public void setConfiguration(ReportModuleSettings settings) {
// This module does not have configuration
}
@Override
public String getName() {
String name = NbBundle.getMessage(this.getClass(), "ReportCaseUco.getName.text");

View File

@ -33,10 +33,10 @@ import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.report.infrastructure.TableReportModule;
import org.sleuthkit.datamodel.TskCoreException;
class ReportExcel implements TableReportModule {
class ExcelReport implements TableReportModule {
private static final Logger logger = Logger.getLogger(ReportExcel.class.getName());
private static ReportExcel instance;
private static final Logger logger = Logger.getLogger(ExcelReport.class.getName());
private static ExcelReport instance;
private static final int EXCEL_CELL_MAXIMUM_SIZE = 36767; //Specified at:https://poi.apache.org/apidocs/org/apache/poi/ss/SpreadsheetVersion.html
private Workbook wb;
@ -49,15 +49,15 @@ class ReportExcel implements TableReportModule {
private String reportPath;
// Get the default instance of this report
public static synchronized ReportExcel getDefault() {
public static synchronized ExcelReport getDefault() {
if (instance == null) {
instance = new ReportExcel();
instance = new ExcelReport();
}
return instance;
}
// Hidden constructor
private ReportExcel() {
private ExcelReport() {
}
/**
@ -246,7 +246,6 @@ class ReportExcel implements TableReportModule {
"ReportExcel.exceptionMessage.dataTooLarge=Value is too long to fit into an Excel cell. ",
"ReportExcel.exceptionMessage.errorText=Error showing data into an Excel cell."
})
public void addRow(List<String> rowData) {
Row row = sheet.createRow(rowIndex);
for (int i = 0; i < rowData.size(); ++i) {

View File

@ -6,16 +6,3 @@ ReportFileTextConfigurationPanel.tabDelimitedButton.text=Tab delimited
ReportFileTextConfigurationPanel.commaDelimitedButton.text=Comma delimited
FileReportText.getName.text=Files - Text
FileReportText.getDesc.text=A delimited text file containing information about individual files in the case.
FileReportDataTypes.filename.text=Name
FileReportDataTypes.fileExt.text=File Extension
FileReportDataTypes.fileType.text=File Type
FileReportDataTypes.isDel.text=Is Deleted
FileReportDataTypes.aTime.text=Last Accessed
FileReportDataTypes.crTime.text=File Created
FileReportDataTypes.mTime.text=Last Modified
FileReportDataTypes.size.text=Size
FileReportDataTypes.address.text=Address
FileReportDataTypes.hash.text=Hash Value
FileReportDataTypes.knownStatus.text=Known Status
FileReportDataTypes.perms.text=Permissions
FileReportDataTypes.path.text=Full Path

View File

@ -6,16 +6,3 @@ ReportFileTextConfigurationPanel.tabDelimitedButton.text=Tab delimited
ReportFileTextConfigurationPanel.commaDelimitedButton.text=Comma delimited
FileReportText.getName.text=Files - Text
FileReportText.getDesc.text=A delimited text file containing information about individual files in the case.
FileReportDataTypes.filename.text=Name
FileReportDataTypes.fileExt.text=File Extension
FileReportDataTypes.fileType.text=File Type
FileReportDataTypes.isDel.text=Is Deleted
FileReportDataTypes.aTime.text=Last Accessed
FileReportDataTypes.crTime.text=File Created
FileReportDataTypes.mTime.text=Last Modified
FileReportDataTypes.size.text=Size
FileReportDataTypes.address.text=Address
FileReportDataTypes.hash.text=Hash Value
FileReportDataTypes.knownStatus.text=Known Status
FileReportDataTypes.perms.text=Permissions
FileReportDataTypes.path.text=Full Path

View File

@ -1,15 +1,2 @@
FileReportDataTypes.filename.text=\u540d\u524d
FileReportDataTypes.fileExt.text=\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50
FileReportDataTypes.fileType.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7
FileReportDataTypes.isDel.text=\u306f\u524a\u9664\u3055\u308c\u307e\u3057\u305f
FileReportDataTypes.aTime.text=\u6700\u5f8c\u306e\u30a2\u30af\u30bb\u30b9
FileReportDataTypes.crTime.text=\u4f5c\u6210\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb
FileReportDataTypes.mTime.text=\u6700\u5f8c\u306e\u4fee\u6b63
FileReportDataTypes.size.text=\u30b5\u30a4\u30ba
FileReportDataTypes.address.text=\u30a2\u30c9\u30ec\u30b9
FileReportDataTypes.hash.text=\u30cf\u30c3\u30b7\u30e5\u5024
FileReportDataTypes.knownStatus.text=\u65e2\u77e5\u30b9\u30c6\u30fc\u30bf\u30b9
FileReportDataTypes.perms.text=\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3
FileReportDataTypes.path.text=\u30d5\u30eb\u30d1\u30b9
FileReportText.getName.text=\u30d5\u30a1\u30a4\u30eb - \u30c6\u30ad\u30b9\u30c8
FileReportText.getDesc.text=\u30b1\u30fc\u30b9\u306e\u500b\u5225\u30d5\u30a1\u30a4\u30eb\u306b\u3064\u3044\u3066\u306e\u60c5\u5831\u3092\u6301\u3064\u3001\u30bf\u30d6\u533a\u5207\u308a\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u3002

View File

@ -27,22 +27,22 @@ class FileReportModuleSettings implements ReportModuleSettings {
private static final long serialVersionUID = 1L;
enum ReportType {
enum ReportDelimiter {
TAB_DELIMITED,
COMA_DELIMITED
}
private final ReportType type;
private final ReportDelimiter delimiter;
/**
* Default File report module settings. Default to tab delimited since it
* was previously the only option.
*/
FileReportModuleSettings() {
this.type = ReportType.TAB_DELIMITED;
this.delimiter = ReportDelimiter.TAB_DELIMITED;
}
FileReportModuleSettings(ReportType type) {
this.type = type;
FileReportModuleSettings(ReportDelimiter type) {
this.delimiter = type;
}
@Override
@ -51,11 +51,11 @@ class FileReportModuleSettings implements ReportModuleSettings {
}
/**
* Get type of the report.
* Get delimiter of the report.
*
* @return Type of the report.
* @return Delimiter setting for the report.
*/
ReportType getReportType() {
return type;
ReportDelimiter getReportDelimiter() {
return delimiter;
}
}

View File

@ -18,6 +18,7 @@
*/
package org.sleuthkit.autopsy.report.modules.file;
import org.sleuthkit.autopsy.report.infrastructure.FileReportDataTypes;
import org.sleuthkit.autopsy.report.NoReportModuleSettings;
import org.sleuthkit.autopsy.report.ReportModuleSettings;
import java.io.BufferedWriter;

View File

@ -40,7 +40,7 @@ class ReportFileTextConfigurationPanel extends javax.swing.JPanel {
* @param settings File report module settings object
*/
void setConfiguration(FileReportModuleSettings settings) {
if (settings.getReportType() == FileReportModuleSettings.ReportType.COMA_DELIMITED) {
if (settings.getReportDelimiter() == FileReportModuleSettings.ReportDelimiter.COMA_DELIMITED) {
commaDelimitedButton.setSelected(true);
} else {
// default to tab since it was previously the only option
@ -55,9 +55,9 @@ class ReportFileTextConfigurationPanel extends javax.swing.JPanel {
*/
FileReportModuleSettings getConfiguration() {
if (commaDelimitedButton.isSelected()) {
return new FileReportModuleSettings(FileReportModuleSettings.ReportType.COMA_DELIMITED);
return new FileReportModuleSettings(FileReportModuleSettings.ReportDelimiter.COMA_DELIMITED);
} else {
return new FileReportModuleSettings(FileReportModuleSettings.ReportType.TAB_DELIMITED);
return new FileReportModuleSettings(FileReportModuleSettings.ReportDelimiter.TAB_DELIMITED);
}
}

View File

@ -1,11 +1,3 @@
# To change this license header, choose License Headers in Project Properties.
# To change this template file, choose Tools | Templates
# and open the template in the editor.
ReportHTMLConfigurationPanel.headerLabel.text=Header:
ReportHTMLConfigurationPanel.footerTextField.text=
ReportHTMLConfigurationPanel.headerTextField.text=
ReportHTMLConfigurationPanel.footerLabel.text=Footer:
ReportHTML.addThumbRows.dataType.title=Tagged Images - {0}
ReportHTML.addThumbRows.dataType.msg=Tagged Results and Contents that contain images.
ReportHTML.thumbLink.tags=Tags:
@ -33,3 +25,10 @@ ReportHTML.writeSum.autopsyVersion=Autopsy Version:
ReportHTML.writeSum.timezone=Timezone:
ReportHTML.writeSum.path=Path:
ReportHTML.writeIndex.srcModuleName.text=HTML Report
HTMLReportConfigurationPanel.headerTextField.text=
HTMLReportConfigurationPanel.footerLabel.text=Footer:
# To change this license header, choose License Headers in Project Properties.
# To change this template file, choose Tools | Templates
# and open the template in the editor.
HTMLReportConfigurationPanel.headerLabel.text=Header:
HTMLReportConfigurationPanel.footerTextField.text=

View File

@ -1,16 +1,3 @@
# To change this license header, choose License Headers in Project Properties.
# To change this template file, choose Tools | Templates
# and open the template in the editor.
ReportHTML.writeSum.case=Case:
ReportHTML.writeSum.caseNotes=Notes:
ReportHTML.writeSum.caseNumber=Case Number:
ReportHTML.writeSum.caseNumImages=Number of Images:
ReportHTML.writeSum.examiner=Examiner:
ReportHTMLConfigurationPanel.headerLabel.text=Header:
ReportHTMLConfigurationPanel.footerTextField.text=
ReportHTMLConfigurationPanel.headerTextField.text=
ReportHTMLConfigurationPanel.footerLabel.text=Footer:
ReportHTML.addThumbRows.dataType.title=Tagged Images - {0}
ReportHTML.addThumbRows.dataType.msg=Tagged Results and Contents that contain images.
ReportHTML.thumbLink.tags=Tags:
@ -23,6 +10,11 @@ ReportHTML.writeIndex.seeSum=and <a href\="content\summary.html">the summary pag
ReportHTML.writeNav.title=Report Navigation
ReportHTML.writeNav.h1=Report Navigation
ReportHTML.writeNav.summary=Case Summary
ReportHTML.writeSum.case=Case:
ReportHTML.writeSum.caseNotes=Notes:
ReportHTML.writeSum.caseNumber=Case Number:
ReportHTML.writeSum.caseNumImages=Number of Images:
ReportHTML.writeSum.examiner=Examiner:
ReportHTML.writeSum.title=Case Summary
ReportHTML.writeSum.warningMsg=<span>Warning, this report was run before ingest services completed\!</span>
#
@ -38,3 +30,10 @@ ReportHTML.writeSum.autopsyVersion=Autopsy Version:
ReportHTML.writeSum.timezone=Timezone:
ReportHTML.writeSum.path=Path:
ReportHTML.writeIndex.srcModuleName.text=HTML Report
HTMLReportConfigurationPanel.headerTextField.text=
HTMLReportConfigurationPanel.footerLabel.text=Footer:
# To change this license header, choose License Headers in Project Properties.
# To change this template file, choose Tools | Templates
# and open the template in the editor.
HTMLReportConfigurationPanel.headerLabel.text=Header:
HTMLReportConfigurationPanel.footerTextField.text=

View File

@ -84,11 +84,11 @@ import org.sleuthkit.datamodel.TskCoreException;
import org.sleuthkit.datamodel.TskData;
import org.sleuthkit.datamodel.TskData.TSK_DB_FILES_TYPE_ENUM;
public class ReportHTML implements TableReportModule {
public class HTMLReport implements TableReportModule {
private static final Logger logger = Logger.getLogger(ReportHTML.class.getName());
private static final Logger logger = Logger.getLogger(HTMLReport.class.getName());
private static final String THUMBS_REL_PATH = "thumbs" + File.separator; //NON-NLS
private static ReportHTML instance;
private static HTMLReport instance;
private static final int MAX_THUMBS_PER_PAGE = 1000;
private static final String HTML_SUBDIR = "content";
private Case currentCase;
@ -102,20 +102,20 @@ public class ReportHTML implements TableReportModule {
private Integer rowCount; // number of rows (aka artifacts or tags) for the current data type
private Writer out;
private ReportHTMLConfigurationPanel configPanel;
private HTMLReportConfigurationPanel configPanel;
private final ReportBranding reportBranding;
// Get the default instance of this report
public static synchronized ReportHTML getDefault() {
public static synchronized HTMLReport getDefault() {
if (instance == null) {
instance = new ReportHTML();
instance = new HTMLReport();
}
return instance;
}
// Hidden constructor
private ReportHTML() {
private HTMLReport() {
reportBranding = new ReportBranding();
}
@ -127,7 +127,7 @@ public class ReportHTML implements TableReportModule {
private void initializePanel() {
if (configPanel == null) {
configPanel = new ReportHTMLConfigurationPanel();
configPanel = new HTMLReportConfigurationPanel();
}
}

View File

@ -60,28 +60,28 @@
<Component class="javax.swing.JLabel" name="headerLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/html/Bundle.properties" key="ReportHTMLConfigurationPanel.headerLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/html/Bundle.properties" key="HTMLReportConfigurationPanel.headerLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="footerLabel">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/html/Bundle.properties" key="ReportHTMLConfigurationPanel.footerLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/html/Bundle.properties" key="HTMLReportConfigurationPanel.footerLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JTextField" name="headerTextField">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/html/Bundle.properties" key="ReportHTMLConfigurationPanel.headerTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/html/Bundle.properties" key="HTMLReportConfigurationPanel.headerTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JTextField" name="footerTextField">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/html/Bundle.properties" key="ReportHTMLConfigurationPanel.footerTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/html/Bundle.properties" key="HTMLReportConfigurationPanel.footerTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>

View File

@ -22,12 +22,12 @@ package org.sleuthkit.autopsy.report.modules.html;
* The panel shown for all TableReportModules when configuring report modules.
*/
@SuppressWarnings("PMD.SingularField") // UI widgets cause lots of false positives
final class ReportHTMLConfigurationPanel extends javax.swing.JPanel {
final class HTMLReportConfigurationPanel extends javax.swing.JPanel {
/**
* Creates new form DefaultReportConfigurationPanel
*/
ReportHTMLConfigurationPanel() {
HTMLReportConfigurationPanel() {
initComponents();
headerTextField.setText("");
footerTextField.setText("");
@ -76,13 +76,13 @@ final class ReportHTMLConfigurationPanel extends javax.swing.JPanel {
setFont(getFont().deriveFont(getFont().getStyle() & ~java.awt.Font.BOLD, 11));
org.openide.awt.Mnemonics.setLocalizedText(headerLabel, org.openide.util.NbBundle.getMessage(ReportHTMLConfigurationPanel.class, "ReportHTMLConfigurationPanel.headerLabel.text")); // NOI18N
org.openide.awt.Mnemonics.setLocalizedText(headerLabel, org.openide.util.NbBundle.getMessage(HTMLReportConfigurationPanel.class, "HTMLReportConfigurationPanel.headerLabel.text")); // NOI18N
org.openide.awt.Mnemonics.setLocalizedText(footerLabel, org.openide.util.NbBundle.getMessage(ReportHTMLConfigurationPanel.class, "ReportHTMLConfigurationPanel.footerLabel.text")); // NOI18N
org.openide.awt.Mnemonics.setLocalizedText(footerLabel, org.openide.util.NbBundle.getMessage(HTMLReportConfigurationPanel.class, "HTMLReportConfigurationPanel.footerLabel.text")); // NOI18N
headerTextField.setText(org.openide.util.NbBundle.getMessage(ReportHTMLConfigurationPanel.class, "ReportHTMLConfigurationPanel.headerTextField.text")); // NOI18N
headerTextField.setText(org.openide.util.NbBundle.getMessage(HTMLReportConfigurationPanel.class, "HTMLReportConfigurationPanel.headerTextField.text")); // NOI18N
footerTextField.setText(org.openide.util.NbBundle.getMessage(ReportHTMLConfigurationPanel.class, "ReportHTMLConfigurationPanel.footerTextField.text")); // NOI18N
footerTextField.setText(org.openide.util.NbBundle.getMessage(HTMLReportConfigurationPanel.class, "HTMLReportConfigurationPanel.footerTextField.text")); // NOI18N
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);

View File

@ -52,13 +52,13 @@ import org.sleuthkit.datamodel.ReadContentInputStream.ReadContentInputStreamExce
/**
* Generates a KML file based on geospatial information from the BlackBoard.
*/
class ReportKML implements GeneralReportModule {
class KMLReport implements GeneralReportModule {
private static final Logger logger = Logger.getLogger(ReportKML.class.getName());
private static final Logger logger = Logger.getLogger(KMLReport.class.getName());
private static final String KML_STYLE_FILE = "style.kml";
private static final String REPORT_KML = "ReportKML.kml";
private static final String STYLESHEETS_PATH = "/org/sleuthkit/autopsy/report/stylesheets/";
private static ReportKML instance = null;
private static KMLReport instance = null;
private Case currentCase;
private SleuthkitCase skCase;
private final SimpleDateFormat kmlDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX");
@ -84,13 +84,13 @@ class ReportKML implements GeneralReportModule {
}
// Hidden constructor for the report
private ReportKML() {
private KMLReport() {
}
// Get the default implementation of this report
public static synchronized ReportKML getDefault() {
public static synchronized KMLReport getDefault() {
if (instance == null) {
instance = new ReportKML();
instance = new KMLReport();
}
return instance;
}

View File

@ -227,7 +227,7 @@ public class PortableCaseReportModule implements ReportModule {
// Check that there will be something to copy
List<TagName> tagNames;
if (options.isAllTagsSelected()) {
if (options.areAllTagsSelected()) {
try {
tagNames = Case.getCurrentCaseThrows().getServices().getTagsManager().getTagNamesInUse();
} catch (NoCurrentCaseException | TskCoreException ex) {
@ -240,7 +240,7 @@ public class PortableCaseReportModule implements ReportModule {
}
List<String> setNames;
if (options.isAllSetsSelected()) {
if (options.areAllSetsSelected()) {
try {
setNames = getAllInterestingItemsSets();
} catch (NoCurrentCaseException | TskCoreException ex) {

View File

@ -134,11 +134,11 @@ public class PortableCaseReportModuleSettings implements ReportModuleSettings {
return chunkSize;
}
public boolean isAllTagsSelected() {
public boolean areAllTagsSelected() {
return allTagsSelected;
}
public boolean isAllSetsSelected() {
public boolean areAllSetsSelected() {
return allSetsSelected;
}

View File

@ -1,8 +1,8 @@
HashDbConfigDialog.okButton.text=OK
HashDbConfigDialog.cancelButton.text=Cancel
AddTaggedHashesToHashDbConfigPanel.selectAllButton.text=Select All
AddTaggedHashesToHashDbConfigPanel.jLabel2.text=Export to hash set:
AddTaggedHashesToHashDbConfigPanel.configureHashDatabasesButton.text=Configure Hash Sets...
AddTaggedHashesToHashDbConfigPanel.jLabel1.text=Export hashes of files tagged as:
AddTaggedHashesToHashDbConfigPanel.deselectAllButton.text=Deselect All
AddTaggedHashesToHashDbConfigPanel.jAllTagsCheckBox.text=All Tagged Results
SaveTaggedHashesToHashDbConfigPanel.deselectAllButton.text=Deselect All
SaveTaggedHashesToHashDbConfigPanel.selectAllButton.text=Select All
SaveTaggedHashesToHashDbConfigPanel.jAllTagsCheckBox.text=All Tagged Results
SaveTaggedHashesToHashDbConfigPanel.jLabel2.text=Export to hash set:
SaveTaggedHashesToHashDbConfigPanel.configureHashDatabasesButton.text=Configure Hash Sets...
SaveTaggedHashesToHashDbConfigPanel.jLabel1.text=Export hashes of files tagged as:

View File

@ -2,9 +2,9 @@ AddTaggedHashesToHashDb.error.noHashSetsSelected=No hash set selected for export
AddTaggedHashesToHashDb.error.noTagsSelected=No tags selected for export.
HashDbConfigDialog.okButton.text=OK
HashDbConfigDialog.cancelButton.text=Cancel
AddTaggedHashesToHashDbConfigPanel.selectAllButton.text=Select All
AddTaggedHashesToHashDbConfigPanel.jLabel2.text=Export to hash set:
AddTaggedHashesToHashDbConfigPanel.configureHashDatabasesButton.text=Configure Hash Sets...
AddTaggedHashesToHashDbConfigPanel.jLabel1.text=Export hashes of files tagged as:
AddTaggedHashesToHashDbConfigPanel.deselectAllButton.text=Deselect All
AddTaggedHashesToHashDbConfigPanel.jAllTagsCheckBox.text=All Tagged Results
SaveTaggedHashesToHashDbConfigPanel.deselectAllButton.text=Deselect All
SaveTaggedHashesToHashDbConfigPanel.selectAllButton.text=Select All
SaveTaggedHashesToHashDbConfigPanel.jAllTagsCheckBox.text=All Tagged Results
SaveTaggedHashesToHashDbConfigPanel.jLabel2.text=Export to hash set:
SaveTaggedHashesToHashDbConfigPanel.configureHashDatabasesButton.text=Configure Hash Sets...
SaveTaggedHashesToHashDbConfigPanel.jLabel1.text=Export hashes of files tagged as:

View File

@ -44,17 +44,17 @@ import org.sleuthkit.datamodel.TskCoreException;
* convenient way to add content hashes to hash set databases.
*/
@ServiceProvider(service = GeneralReportModule.class)
public class AddTaggedHashesToHashDb implements GeneralReportModule {
public class SaveTaggedHashesToHashDb implements GeneralReportModule {
private static final Logger logger = Logger.getLogger(AddTaggedHashesToHashDb.class.getName());
private AddTaggedHashesToHashDbConfigPanel configPanel;
private static final Logger logger = Logger.getLogger(SaveTaggedHashesToHashDb.class.getName());
private SaveTaggedHashesToHashDbConfigPanel configPanel;
public AddTaggedHashesToHashDb() {
public SaveTaggedHashesToHashDb() {
}
@Override
public String getName() {
return "Add Tagged Hashes";
return "Save Tagged Hashes";
}
@Override
@ -119,7 +119,7 @@ public class AddTaggedHashesToHashDb implements GeneralReportModule {
try {
openCase = Case.getCurrentCaseThrows();
} catch (NoCurrentCaseException ex) {
Logger.getLogger(AddTaggedHashesToHashDb.class.getName()).log(Level.SEVERE, "Exception while getting open case.", ex);
Logger.getLogger(SaveTaggedHashesToHashDb.class.getName()).log(Level.SEVERE, "Exception while getting open case.", ex);
progressPanel.updateStatusLabel("Exception while getting open case.");
progressPanel.complete(ReportProgressPanel.ReportStatus.ERROR);
return;
@ -166,7 +166,7 @@ public class AddTaggedHashesToHashDb implements GeneralReportModule {
try {
hashSet.addHashes(tag.getContent(), openCase.getDisplayName());
} catch (TskCoreException ex) {
Logger.getLogger(AddTaggedHashesToHashDb.class.getName()).log(Level.SEVERE, "Error adding hash for obj_id = " + tag.getContent().getId() + " to hash set " + hashSet.getHashSetName(), ex);
Logger.getLogger(SaveTaggedHashesToHashDb.class.getName()).log(Level.SEVERE, "Error adding hash for obj_id = " + tag.getContent().getId() + " to hash set " + hashSet.getHashSetName(), ex);
failedExports.add(tag.getContent().getName());
}
} else {
@ -176,7 +176,7 @@ public class AddTaggedHashesToHashDb implements GeneralReportModule {
}
}
} catch (TskCoreException ex) {
Logger.getLogger(AddTaggedHashesToHashDb.class.getName()).log(Level.SEVERE, "Error adding to hash set", ex);
Logger.getLogger(SaveTaggedHashesToHashDb.class.getName()).log(Level.SEVERE, "Error adding to hash set", ex);
progressPanel.updateStatusLabel("Error getting selected tags for case.");
}
}
@ -206,7 +206,7 @@ public class AddTaggedHashesToHashDb implements GeneralReportModule {
private void initializePanel() {
if (configPanel == null) {
configPanel = new AddTaggedHashesToHashDbConfigPanel();
configPanel = new SaveTaggedHashesToHashDbConfigPanel();
}
}
}

View File

@ -95,7 +95,7 @@
<Component class="javax.swing.JButton" name="selectAllButton">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="AddTaggedHashesToHashDbConfigPanel.selectAllButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="SaveTaggedHashesToHashDbConfigPanel.selectAllButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
<Events>
@ -105,7 +105,7 @@
<Component class="javax.swing.JButton" name="deselectAllButton">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="AddTaggedHashesToHashDbConfigPanel.deselectAllButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="SaveTaggedHashesToHashDbConfigPanel.deselectAllButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
<Events>
@ -115,7 +115,7 @@
<Component class="javax.swing.JLabel" name="jLabel1">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="AddTaggedHashesToHashDbConfigPanel.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="SaveTaggedHashesToHashDbConfigPanel.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
@ -135,7 +135,7 @@
<Component class="javax.swing.JButton" name="configureHashDatabasesButton">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="AddTaggedHashesToHashDbConfigPanel.configureHashDatabasesButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="SaveTaggedHashesToHashDbConfigPanel.configureHashDatabasesButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
<Events>
@ -145,14 +145,14 @@
<Component class="javax.swing.JLabel" name="jLabel2">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="AddTaggedHashesToHashDbConfigPanel.jLabel2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="SaveTaggedHashesToHashDbConfigPanel.jLabel2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JCheckBox" name="jAllTagsCheckBox">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="AddTaggedHashesToHashDbConfigPanel.jAllTagsCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="SaveTaggedHashesToHashDbConfigPanel.jAllTagsCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
<Events>

View File

@ -49,7 +49,7 @@ import org.sleuthkit.datamodel.TskCoreException;
* provides a convenient way to add content hashes to hash set databases.
*/
@SuppressWarnings("PMD.SingularField") // UI widgets cause lots of false positives
class AddTaggedHashesToHashDbConfigPanel extends javax.swing.JPanel {
class SaveTaggedHashesToHashDbConfigPanel extends javax.swing.JPanel {
private static final long serialVersionUID = 1L;
private List<TagName> tagNames;
@ -58,7 +58,7 @@ class AddTaggedHashesToHashDbConfigPanel extends javax.swing.JPanel {
private TagsNamesListCellRenderer tagsNamesRenderer = new TagsNamesListCellRenderer();
private HashDb selectedHashSet = null;
AddTaggedHashesToHashDbConfigPanel() {
SaveTaggedHashesToHashDbConfigPanel() {
initComponents();
customizeComponents();
@ -107,10 +107,10 @@ class AddTaggedHashesToHashDbConfigPanel extends javax.swing.JPanel {
// There may not be a case open when configuring report modules for Command Line execution
tagNames = Case.getCurrentCaseThrows().getServices().getTagsManager().getTagNamesInUse();
} catch (TskCoreException ex) {
Logger.getLogger(AddTaggedHashesToHashDbConfigPanel.class.getName()).log(Level.SEVERE, "Failed to get tag names", ex);
Logger.getLogger(SaveTaggedHashesToHashDbConfigPanel.class.getName()).log(Level.SEVERE, "Failed to get tag names", ex);
} catch (NoCurrentCaseException ex) {
// There may not be a case open when configuring report modules for Command Line execution
Logger.getLogger(AddTaggedHashesToHashDbConfigPanel.class.getName()).log(Level.WARNING, "Exception while getting open case.", ex);
Logger.getLogger(SaveTaggedHashesToHashDbConfigPanel.class.getName()).log(Level.WARNING, "Exception while getting open case.", ex);
}
// Mark the tag names as unselected. Note that tagNameSelections is a
@ -247,21 +247,21 @@ class AddTaggedHashesToHashDbConfigPanel extends javax.swing.JPanel {
jScrollPane1.setViewportView(tagNamesListBox);
org.openide.awt.Mnemonics.setLocalizedText(selectAllButton, org.openide.util.NbBundle.getMessage(AddTaggedHashesToHashDbConfigPanel.class, "AddTaggedHashesToHashDbConfigPanel.selectAllButton.text")); // NOI18N
org.openide.awt.Mnemonics.setLocalizedText(selectAllButton, org.openide.util.NbBundle.getMessage(SaveTaggedHashesToHashDbConfigPanel.class, "SaveTaggedHashesToHashDbConfigPanel.selectAllButton.text")); // NOI18N
selectAllButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
selectAllButtonActionPerformed(evt);
}
});
org.openide.awt.Mnemonics.setLocalizedText(deselectAllButton, org.openide.util.NbBundle.getMessage(AddTaggedHashesToHashDbConfigPanel.class, "AddTaggedHashesToHashDbConfigPanel.deselectAllButton.text")); // NOI18N
org.openide.awt.Mnemonics.setLocalizedText(deselectAllButton, org.openide.util.NbBundle.getMessage(SaveTaggedHashesToHashDbConfigPanel.class, "SaveTaggedHashesToHashDbConfigPanel.deselectAllButton.text")); // NOI18N
deselectAllButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
deselectAllButtonActionPerformed(evt);
}
});
org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(AddTaggedHashesToHashDbConfigPanel.class, "AddTaggedHashesToHashDbConfigPanel.jLabel1.text")); // NOI18N
org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(SaveTaggedHashesToHashDbConfigPanel.class, "SaveTaggedHashesToHashDbConfigPanel.jLabel1.text")); // NOI18N
hashSetsComboBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
@ -269,16 +269,16 @@ class AddTaggedHashesToHashDbConfigPanel extends javax.swing.JPanel {
}
});
org.openide.awt.Mnemonics.setLocalizedText(configureHashDatabasesButton, org.openide.util.NbBundle.getMessage(AddTaggedHashesToHashDbConfigPanel.class, "AddTaggedHashesToHashDbConfigPanel.configureHashDatabasesButton.text")); // NOI18N
org.openide.awt.Mnemonics.setLocalizedText(configureHashDatabasesButton, org.openide.util.NbBundle.getMessage(SaveTaggedHashesToHashDbConfigPanel.class, "SaveTaggedHashesToHashDbConfigPanel.configureHashDatabasesButton.text")); // NOI18N
configureHashDatabasesButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
configureHashDatabasesButtonActionPerformed(evt);
}
});
org.openide.awt.Mnemonics.setLocalizedText(jLabel2, org.openide.util.NbBundle.getMessage(AddTaggedHashesToHashDbConfigPanel.class, "AddTaggedHashesToHashDbConfigPanel.jLabel2.text")); // NOI18N
org.openide.awt.Mnemonics.setLocalizedText(jLabel2, org.openide.util.NbBundle.getMessage(SaveTaggedHashesToHashDbConfigPanel.class, "SaveTaggedHashesToHashDbConfigPanel.jLabel2.text")); // NOI18N
org.openide.awt.Mnemonics.setLocalizedText(jAllTagsCheckBox, org.openide.util.NbBundle.getMessage(AddTaggedHashesToHashDbConfigPanel.class, "AddTaggedHashesToHashDbConfigPanel.jAllTagsCheckBox.text")); // NOI18N
org.openide.awt.Mnemonics.setLocalizedText(jAllTagsCheckBox, org.openide.util.NbBundle.getMessage(SaveTaggedHashesToHashDbConfigPanel.class, "SaveTaggedHashesToHashDbConfigPanel.jAllTagsCheckBox.text")); // NOI18N
jAllTagsCheckBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jAllTagsCheckBoxActionPerformed(evt);