mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-19 11:07:43 +00:00
Code review changes
This commit is contained in:
parent
4d11d4a291
commit
75c83adcec
@ -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());
|
||||
|
@ -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
|
||||
|
||||
|
@ -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">
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
@ -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 {
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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());
|
||||
|
@ -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;
|
||||
|
@ -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++;
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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() {
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
@ -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");
|
||||
|
@ -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");
|
@ -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) {
|
@ -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
|
@ -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
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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=
|
||||
|
@ -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=
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/html/Bundle.properties" key="HTMLReportConfigurationPanel.headerLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</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, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/html/Bundle.properties" key="HTMLReportConfigurationPanel.footerLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</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, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/html/Bundle.properties" key="HTMLReportConfigurationPanel.headerTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</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, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/html/Bundle.properties" key="HTMLReportConfigurationPanel.footerTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
@ -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);
|
@ -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;
|
||||
}
|
@ -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) {
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
@ -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, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="SaveTaggedHashesToHashDbConfigPanel.selectAllButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</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, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="SaveTaggedHashesToHashDbConfigPanel.deselectAllButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</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, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="SaveTaggedHashesToHashDbConfigPanel.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</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, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="SaveTaggedHashesToHashDbConfigPanel.configureHashDatabasesButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</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, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="SaveTaggedHashesToHashDbConfigPanel.jLabel2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</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, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle.properties" key="SaveTaggedHashesToHashDbConfigPanel.jAllTagsCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
@ -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);
|
Loading…
x
Reference in New Issue
Block a user