mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-06 21:00:22 +00:00
Work on getting modules to use settings
This commit is contained in:
parent
189b2ec858
commit
7ad2b5b5ae
@ -45,7 +45,8 @@ public class ExifParserModuleFactory extends IngestModuleFactoryAdapter {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getModuleDescription() {
|
public String getModuleDescription() {
|
||||||
return NbBundle.getMessage(ExifParserFileIngestModule.class, "ExifParserFileIngestModule.getDesc.text");
|
return NbBundle.getMessage(ExifParserFileIngestModule.class,
|
||||||
|
"ExifParserFileIngestModule.getDesc.text");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,22 +1,6 @@
|
|||||||
OpenIDE-Module-Name=FileExtMismatch
|
OpenIDE-Module-Name=FileExtMismatch
|
||||||
OptionsCategory_Name_FileExtMismatchOptions=File Extension Mismatch
|
OptionsCategory_Name_FileExtMismatchOptions=File Extension Mismatch
|
||||||
OptionsCategory_FileExtMismatch=File Extension Mismatch
|
OptionsCategory_FileExtMismatch=File Extension Mismatch
|
||||||
FileExtMismatchConfigPanel.extHeaderLabel.text=Allowed Extensions:
|
|
||||||
FileExtMismatchConfigPanel.userExtTextField.text=
|
|
||||||
FileExtMismatchConfigPanel.addExtButton.text=Add Extension
|
|
||||||
FileExtMismatchConfigPanel.removeExtButton.text=Remove Selected Extension
|
|
||||||
FileExtMismatchConfigPanel.saveButton.text=Save Configuration
|
|
||||||
FileExtMismatchConfigPanel.jLabel1.text=File Types:
|
|
||||||
FileExtMismatchConfigPanel.removeTypeButton.text=Remove Selected Type
|
|
||||||
FileExtMismatchConfigPanel.addTypeButton.text=Add Type
|
|
||||||
FileExtMismatchConfigPanel.userTypeTextField.text=
|
|
||||||
FileExtMismatchConfigPanel.extErrorLabel.text=\
|
|
||||||
FileExtMismatchConfigPanel.mimeErrLabel.text=\
|
|
||||||
FileExtMismatchConfigPanel.mimeRemoveErrLabel.text=\
|
|
||||||
FileExtMismatchConfigPanel.extRemoveErrLabel.text=\
|
|
||||||
FileExtMismatchConfigPanel.saveMsgLabel.text=\
|
|
||||||
FileExtMismatchSimpleConfigPanel.skipNoExtCheckBox.text=Skip files without extensions
|
|
||||||
FileExtMismatchSimpleConfigPanel.skipTextPlain.text=Skip text files
|
|
||||||
AddFileExtensionAction.msgDlg.msg=Writing XML configuration file failed.
|
AddFileExtensionAction.msgDlg.msg=Writing XML configuration file failed.
|
||||||
AddFileExtensionAction.msgDlg.title=Add Mismatch Extension Error
|
AddFileExtensionAction.msgDlg.title=Add Mismatch Extension Error
|
||||||
AddFileExtensionAction.extHeaderLbl.text=Allowed Extensions for
|
AddFileExtensionAction.extHeaderLbl.text=Allowed Extensions for
|
||||||
@ -50,3 +34,20 @@ FileExtMismatchIngestModule.complete.totalFiles=Total Files Processed
|
|||||||
FileExtMismatchIngestModule.complete.svcMsg.text=File Extension Mismatch Results
|
FileExtMismatchIngestModule.complete.svcMsg.text=File Extension Mismatch Results
|
||||||
FileExtMismatchOptionsPanelController.moduleErr=Module Error
|
FileExtMismatchOptionsPanelController.moduleErr=Module Error
|
||||||
FileExtMismatchOptionsPanelController.moduleErr.msg=A module caused an error listening to FileExtMismatchOptionsPanelController updates. See log to determine which module. Some data could be incomplete.
|
FileExtMismatchOptionsPanelController.moduleErr.msg=A module caused an error listening to FileExtMismatchOptionsPanelController updates. See log to determine which module. Some data could be incomplete.
|
||||||
|
FileExtMismatchModuleSettingsPanel.skipKnownFilesCheckbox.text=Skip known files (NSRL)
|
||||||
|
FileExtMismatchModuleSettingsPanel.skipTextPlain.text=Skip text files
|
||||||
|
FileExtMismatchModuleSettingsPanel.skipNoExtCheckBox.text=Skip files without extensions
|
||||||
|
FileExtMismatchSettingsPanel.addTypeButton.text=Add Type
|
||||||
|
FileExtMismatchSettingsPanel.extErrorLabel.text=\
|
||||||
|
FileExtMismatchSettingsPanel.extHeaderLabel.text=Allowed Extensions:
|
||||||
|
FileExtMismatchSettingsPanel.saveMsgLabel.text=\
|
||||||
|
FileExtMismatchSettingsPanel.mimeRemoveErrLabel.text=\
|
||||||
|
FileExtMismatchSettingsPanel.extRemoveErrLabel.text=\
|
||||||
|
FileExtMismatchSettingsPanel.mimeErrLabel.text=\
|
||||||
|
FileExtMismatchSettingsPanel.removeTypeButton.text=Remove Selected Type
|
||||||
|
FileExtMismatchSettingsPanel.saveButton.text=Save Configuration
|
||||||
|
FileExtMismatchSettingsPanel.jLabel1.text=File Types:
|
||||||
|
FileExtMismatchSettingsPanel.userExtTextField.text=
|
||||||
|
FileExtMismatchSettingsPanel.addExtButton.text=Add Extension
|
||||||
|
FileExtMismatchSettingsPanel.removeExtButton.text=Remove Selected Extension
|
||||||
|
FileExtMismatchSettingsPanel.userTypeTextField.text=
|
||||||
|
@ -1,45 +1,46 @@
|
|||||||
OpenIDE-Module-Name=\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u5B50\u4E0D\u4E00\u81F4
|
OpenIDE-Module-Name=\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50\u4e0d\u4e00\u81f4
|
||||||
OptionsCategory_Name_FileExtMismatchOptions=\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u5B50\u4E0D\u4E00\u81F4
|
OptionsCategory_Name_FileExtMismatchOptions=\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50\u4e0d\u4e00\u81f4
|
||||||
OptionsCategory_FileExtMismatch=\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u5B50\u4E0D\u4E00\u81F4
|
OptionsCategory_FileExtMismatch=\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50\u4e0d\u4e00\u81f4
|
||||||
FileExtMismatchConfigPanel.extHeaderLabel.text=\u8A31\u53EF\u3055\u308C\u305F\u62E1\u5F35\u5B50\uFF1A
|
AddFileExtensionAction.msgDlg.msg=XML\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u66f8\u304f\u306e\u3092\u5931\u6557\u3057\u307e\u3057\u305f\u3002
|
||||||
FileExtMismatchConfigPanel.addExtButton.text=\u62E1\u5F35\u5B50\u3092\u8FFD\u52A0
|
AddFileExtensionAction.msgDlg.title=\u4e0d\u4e00\u81f4\u62e1\u5f35\u5b50\u306e\u8ffd\u52a0\u30a8\u30e9\u30fc
|
||||||
FileExtMismatchConfigPanel.removeExtButton.text=\u9078\u629E\u3057\u305F\u62E1\u5F35\u5B50\u3092\u524A\u9664
|
FileExtMismatchConfigPanel.name.text=\u30a2\u30c9\u30d0\u30f3\u30b9\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50\u4e0d\u4e00\u81f4\u8a2d\u5b9a
|
||||||
FileExtMismatchConfigPanel.saveButton.text=\u8A2D\u5B9A\u3092\u4FDD\u5B58
|
FileExtMismatchConfigPanel.addExtButton.errLabel.empty=\u62e1\u5f35\u5b50\u30c6\u30ad\u30b9\u30c8\u304c\u7a7a\u767d\u3067\u3059\uff01
|
||||||
FileExtMismatchConfigPanel.jLabel1.text=\u30D5\u30A1\u30A4\u30EB\u30BF\u30A4\u30D7\uFF1A
|
FileExtMismatchConfigPanel.addExtButton.errLabel.noMimeType=MIME\u30bf\u30a4\u30d7\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff01
|
||||||
FileExtMismatchConfigPanel.removeTypeButton.text=\u9078\u629E\u3057\u305F\u30BF\u30A4\u30D7\u3092\u524A\u9664
|
FileExtMismatchConfigPanel.addExtButton.errLabel.extExists=\u62e1\u5f35\u5b50\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\uff01
|
||||||
FileExtMismatchConfigPanel.addTypeButton.text=\u30BF\u30A4\u30D7\u3092\u8FFD\u52A0
|
FileExtMismatchConfigPanel.addExtButton.errLabel.extAdded=\u62e1\u5f35\u5b50{0}\u306f\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002
|
||||||
FileExtMismatchSimpleConfigPanel.skipNoExtCheckBox.text=\u62E1\u5F35\u5B50\u306E\u7121\u3044\u30D5\u30A1\u30A4\u30EB\u306F\u30B9\u30AD\u30C3\u30D7
|
FileExtMismatchConfigPanel.addTypeButton.empty=MIME\u30bf\u30a4\u30d7\u30c6\u30ad\u30b9\u30c8\u304c\u7a7a\u767d\u3067\u3059\uff01
|
||||||
FileExtMismatchSimpleConfigPanel.skipTextPlain.text=\u30C6\u30AD\u30B9\u30C8\u30D5\u30A1\u30A4\u30EB\u306F\u30B9\u30AD\u30C3\u30D7
|
FileExtMismatchConfigPanel.addTypeButton.mimeTypeNotSupported=MIME\u30bf\u30a4\u30d7\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff01
|
||||||
AddFileExtensionAction.msgDlg.msg=XML\u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304F\u306E\u3092\u5931\u6557\u3057\u307E\u3057\u305F\u3002
|
FileExtMismatchConfigPanel.addTypeButton.mimeTypeExists=MIME\u30bf\u30a4\u30d7\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\uff01
|
||||||
AddFileExtensionAction.msgDlg.title=\u4E0D\u4E00\u81F4\u62E1\u5F35\u5B50\u306E\u8FFD\u52A0\u30A8\u30E9\u30FC
|
FileExtMismatchConfigPanel.addTypeButton.mimeTypeNotDetectable=MIME\u30bf\u30a4\u30d7\u306f\u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u306f\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
|
||||||
FileExtMismatchConfigPanel.name.text=\u30A2\u30C9\u30D0\u30F3\u30B9\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u5B50\u4E0D\u4E00\u81F4\u8A2D\u5B9A
|
FileExtMismatchConfigPanel.addTypeButton.mimeTypeAdded=MIME\u30bf\u30a4\u30d7{0}\u306f\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002
|
||||||
FileExtMismatchConfigPanel.addExtButton.errLabel.empty=\u62E1\u5F35\u5B50\u30C6\u30AD\u30B9\u30C8\u304C\u7A7A\u767D\u3067\u3059\uFF01
|
FileExtMismatchConfigPanel.removeTypeButton.noneSelected=MIME\u30bf\u30a4\u30d7\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff01
|
||||||
FileExtMismatchConfigPanel.addExtButton.errLabel.noMimeType=MIME\u30BF\u30A4\u30D7\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF01
|
FileExtMismatchConfigPanel.remoteTypeButton.deleted=MIME\u30bf\u30a4\u30d7{0}\u306f\u524a\u9664\u3055\u308c\u307e\u3057\u305f\u3002
|
||||||
FileExtMismatchConfigPanel.addExtButton.errLabel.extExists=\u62E1\u5F35\u5B50\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059\uFF01
|
FileExtMismatchConfigPanel.removeExtButton.noneSelected=\u62e1\u5f35\u5b50\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff01
|
||||||
FileExtMismatchConfigPanel.addExtButton.errLabel.extAdded=\u62E1\u5F35\u5B50{0}\u306F\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F\u3002
|
FileExtMismatchConfigPanel.removeExtButton.noMimeTypeSelected=MIME\u30bf\u30a4\u30d7\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff01
|
||||||
FileExtMismatchConfigPanel.addTypeButton.empty=MIME\u30BF\u30A4\u30D7\u30C6\u30AD\u30B9\u30C8\u304C\u7A7A\u767D\u3067\u3059\uFF01
|
FileExtMismatchConfigPanel.removeExtButton.deleted=\u62e1\u5f35\u5b50{0}\u306f\u524a\u9664\u3055\u308c\u307e\u3057\u305f\u3002
|
||||||
FileExtMismatchConfigPanel.addTypeButton.mimeTypeNotSupported=MIME\u30BF\u30A4\u30D7\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF01
|
FileExtMismatchConfigPanel.store.msg=\u4fdd\u5b58\u3055\u308c\u307e\u3057\u305f\u3002
|
||||||
FileExtMismatchConfigPanel.addTypeButton.mimeTypeExists=MIME\u30BF\u30A4\u30D7\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059\uFF01
|
FileExtMismatchConfigPanel.store.msgDlg.msg=XML\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u66f8\u304f\u306e\u3092\u5931\u6557\u3057\u307e\u3057\u305f\u3002
|
||||||
FileExtMismatchConfigPanel.addTypeButton.mimeTypeNotDetectable=MIME\u30BF\u30A4\u30D7\u306F\u3053\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u3067\u306F\u691C\u51FA\u3067\u304D\u307E\u305B\u3093\u3002
|
FileExtMismatchConfigPanel.save.msgDlg.title=\u4fdd\u5b58\u30a8\u30e9\u30fc
|
||||||
FileExtMismatchConfigPanel.addTypeButton.mimeTypeAdded=MIME\u30BF\u30A4\u30D7{0}\u306F\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F\u3002
|
FileExtMismatchConfigPanel.ok.confDlg.msg=\u8a2d\u5b9a\u5909\u66f4\u3092\u4fdd\u5b58\u3057\u307e\u3059\u304b\uff1f
|
||||||
FileExtMismatchConfigPanel.removeTypeButton.noneSelected=MIME\u30BF\u30A4\u30D7\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF01
|
FileExtMismatchConfigPanel.confDlg.title=\u4fdd\u5b58\u3055\u308c\u3066\u3044\u306a\u3044\u5909\u66f4
|
||||||
FileExtMismatchConfigPanel.remoteTypeButton.deleted=MIME\u30BF\u30A4\u30D7{0}\u306F\u524A\u9664\u3055\u308C\u307E\u3057\u305F\u3002
|
FileExtMismatchConfigPanel.mimeTableModel.colName=MIME\u30bf\u30a4\u30d7
|
||||||
FileExtMismatchConfigPanel.removeExtButton.noneSelected=\u62E1\u5F35\u5B50\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF01
|
FileExtMismatchConfigPanel.extTableModel.colName=\u62e1\u5f35\u5b50
|
||||||
FileExtMismatchConfigPanel.removeExtButton.noMimeTypeSelected=MIME\u30BF\u30A4\u30D7\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF01
|
FileExtMismatchContextMenuActionsProvider.menuItemStr=\u62e1\u5f35\u5b50{0}\u3092MIME\u30bf\u30a4\u30d7{1}\u306e\u4e00\u81f4\u3068\u3057\u3066\u8ffd\u52a0
|
||||||
FileExtMismatchConfigPanel.removeExtButton.deleted=\u62E1\u5F35\u5B50{0}\u306F\u524A\u9664\u3055\u308C\u307E\u3057\u305F\u3002
|
FileExtMismatchIngestModule.moduleName=\u62e1\u5f35\u5b50\u4e0d\u4e00\u81f4\u30c7\u30a3\u30c6\u30af\u30bf\u30fc
|
||||||
FileExtMismatchConfigPanel.store.msg=\u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F\u3002
|
FileExtMismatchIngestModule.moduleDesc.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u306b\u57fa\u3065\u3044\u3066\u3001\u6a19\u6e96\u7684\u3067\u306f\u306a\u3044\u62e1\u5f35\u5b50\u3092\u6301\u3064\u30d5\u30a1\u30a4\u30eb\u3092\u30d5\u30e9\u30b0\u4ed8\u3051\u3057\u307e\u3059\u3002d
|
||||||
FileExtMismatchConfigPanel.store.msgDlg.msg=XML\u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304F\u306E\u3092\u5931\u6557\u3057\u307E\u3057\u305F\u3002
|
FileExtMismatchIngestModule.complete.totalProcTime=\u5408\u8a08\u51e6\u7406\u6642\u9593
|
||||||
FileExtMismatchConfigPanel.save.msgDlg.title=\u4FDD\u5B58\u30A8\u30E9\u30FC
|
FileExtMismatchIngestModule.complete.totalFiles=\u5408\u8a08\u51e6\u7406\u30d5\u30a1\u30a4\u30eb\u6570
|
||||||
FileExtMismatchConfigPanel.ok.confDlg.msg=\u8A2D\u5B9A\u5909\u66F4\u3092\u4FDD\u5B58\u3057\u307E\u3059\u304B\uFF1F
|
FileExtMismatchIngestModule.complete.svcMsg.text=\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50\u4e0d\u4e00\u81f4\u7d50\u679c
|
||||||
FileExtMismatchConfigPanel.confDlg.title=\u4FDD\u5B58\u3055\u308C\u3066\u3044\u306A\u3044\u5909\u66F4
|
FileExtMismatchOptionsPanelController.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
|
||||||
FileExtMismatchConfigPanel.mimeTableModel.colName=MIME\u30BF\u30A4\u30D7
|
FileExtMismatchOptionsPanelController.moduleErr.msg=FileExtMismatchOptionsPanelController\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u306e\u78ba\u8a8d\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u8d77\u3053\u3057\u307e\u3057\u305f\u3002\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304b\u30ed\u30b0\u3067\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
|
||||||
FileExtMismatchConfigPanel.extTableModel.colName=\u62E1\u5F35\u5B50
|
AddFileExtensionAction.extHeaderLbl.text=\u4e0b\u8a18\u7528\u306b\u8a31\u53ef\u3055\u308c\u305f\u62e1\u5f35\u5b50
|
||||||
FileExtMismatchContextMenuActionsProvider.menuItemStr=\u62E1\u5F35\u5B50{0}\u3092MIME\u30BF\u30A4\u30D7{1}\u306E\u4E00\u81F4\u3068\u3057\u3066\u8FFD\u52A0
|
FileExtMismatchModuleSettingsPanel.skipTextPlain.text=\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u306f\u30b9\u30ad\u30c3\u30d7
|
||||||
FileExtMismatchIngestModule.moduleName=\u62E1\u5F35\u5B50\u4E0D\u4E00\u81F4\u30C7\u30A3\u30C6\u30AF\u30BF\u30FC
|
|
||||||
FileExtMismatchIngestModule.moduleDesc.text=\u30D5\u30A1\u30A4\u30EB\u30BF\u30A4\u30D7\u306B\u57FA\u3065\u3044\u3066\u3001\u6A19\u6E96\u7684\u3067\u306F\u306A\u3044\u62E1\u5F35\u5B50\u3092\u6301\u3064\u30D5\u30A1\u30A4\u30EB\u3092\u30D5\u30E9\u30B0\u4ED8\u3051\u3057\u307E\u3059\u3002d
|
FileExtMismatchModuleSettingsPanel.skipNoExtCheckBox.text=\u62e1\u5f35\u5b50\u306e\u7121\u3044\u30d5\u30a1\u30a4\u30eb\u306f\u30b9\u30ad\u30c3\u30d7
|
||||||
FileExtMismatchIngestModule.complete.totalProcTime=\u5408\u8A08\u51E6\u7406\u6642\u9593
|
FileExtMismatchSettingsPanel.addTypeButton.text=\u30bf\u30a4\u30d7\u3092\u8ffd\u52a0
|
||||||
FileExtMismatchIngestModule.complete.totalFiles=\u5408\u8A08\u51E6\u7406\u30D5\u30A1\u30A4\u30EB\u6570
|
FileExtMismatchSettingsPanel.extHeaderLabel.text=\u8a31\u53ef\u3055\u308c\u305f\u62e1\u5f35\u5b50\uff1a
|
||||||
FileExtMismatchIngestModule.complete.svcMsg.text=\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u5B50\u4E0D\u4E00\u81F4\u7D50\u679C
|
FileExtMismatchSettingsPanel.removeTypeButton.text=\u9078\u629e\u3057\u305f\u30bf\u30a4\u30d7\u3092\u524a\u9664
|
||||||
FileExtMismatchOptionsPanelController.moduleErr=\u30E2\u30B8\u30E5\u30FC\u30EB\u30A8\u30E9\u30FC
|
FileExtMismatchSettingsPanel.saveButton.text=\u8a2d\u5b9a\u3092\u4fdd\u5b58
|
||||||
FileExtMismatchOptionsPanelController.moduleErr.msg=FileExtMismatchOptionsPanelController\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u306E\u78BA\u8A8D\u4E2D\u306B\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u30A8\u30E9\u30FC\u3092\u8D77\u3053\u3057\u307E\u3057\u305F\u3002\u3069\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u304B\u30ED\u30B0\u3067\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002\u4E00\u90E8\u306E\u30C7\u30FC\u30BF\u304C\u4E0D\u5B8C\u5168\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002
|
FileExtMismatchSettingsPanel.jLabel1.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\uff1a
|
||||||
AddFileExtensionAction.extHeaderLbl.text=\u4E0B\u8A18\u7528\u306B\u8A31\u53EF\u3055\u308C\u305F\u62E1\u5F35\u5B50
|
FileExtMismatchSettingsPanel.addExtButton.text=\u62e1\u5f35\u5b50\u3092\u8ffd\u52a0
|
||||||
|
FileExtMismatchSettingsPanel.removeExtButton.text=\u9078\u629e\u3057\u305f\u62e1\u5f35\u5b50\u3092\u524a\u9664
|
||||||
|
@ -39,7 +39,7 @@ public class FileExtMismatchDetectorModuleFactory extends IngestModuleFactoryAda
|
|||||||
return NbBundle.getMessage(FileExtMismatchIngestModule.class,
|
return NbBundle.getMessage(FileExtMismatchIngestModule.class,
|
||||||
"FileExtMismatchIngestModule.moduleName");
|
"FileExtMismatchIngestModule.moduleName");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getModuleDisplayName() {
|
public String getModuleDisplayName() {
|
||||||
return getModuleName();
|
return getModuleName();
|
||||||
@ -58,7 +58,7 @@ public class FileExtMismatchDetectorModuleFactory extends IngestModuleFactoryAda
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IngestModuleSettings getDefaultModuleSettings() {
|
public IngestModuleSettings getDefaultModuleSettings() {
|
||||||
return new FileExtMismatchDetectorOptions();
|
return new FileExtMismatchDetectorModuleSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -67,9 +67,13 @@ public class FileExtMismatchDetectorModuleFactory extends IngestModuleFactoryAda
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IngestModuleSettingsPanel getModuleSettingsPanel(IngestModuleSettings ingestOptions) {
|
public IngestModuleSettingsPanel getModuleSettingsPanel(IngestModuleSettings settings) {
|
||||||
FileExtMismatchSimpleConfigPanel ingestOptionsPanel = new FileExtMismatchSimpleConfigPanel((FileExtMismatchDetectorOptions) ingestOptions);
|
assert settings instanceof FileExtMismatchDetectorModuleSettings;
|
||||||
return ingestOptionsPanel;
|
if (!(settings instanceof FileExtMismatchDetectorModuleSettings)) {
|
||||||
|
throw new IllegalArgumentException("Expected settings argument to be instanceof FileExtMismatchDetectorModuleSettings");
|
||||||
|
}
|
||||||
|
FileExtMismatchModuleSettingsPanel settingsPanel = new FileExtMismatchModuleSettingsPanel((FileExtMismatchDetectorModuleSettings) settings);
|
||||||
|
return settingsPanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -79,7 +83,7 @@ public class FileExtMismatchDetectorModuleFactory extends IngestModuleFactoryAda
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IngestModuleGlobalSetttingsPanel getGlobalSettingsPanel() {
|
public IngestModuleGlobalSetttingsPanel getGlobalSettingsPanel() {
|
||||||
FileExtMismatchConfigPanel globalOptionsPanel = new FileExtMismatchConfigPanel();
|
FileExtMismatchSettingsPanel globalOptionsPanel = new FileExtMismatchSettingsPanel();
|
||||||
globalOptionsPanel.load();
|
globalOptionsPanel.load();
|
||||||
return globalOptionsPanel;
|
return globalOptionsPanel;
|
||||||
}
|
}
|
||||||
@ -90,7 +94,11 @@ public class FileExtMismatchDetectorModuleFactory extends IngestModuleFactoryAda
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FileIngestModule createFileIngestModule(IngestModuleSettings ingestOptions) {
|
public FileIngestModule createFileIngestModule(IngestModuleSettings settings) {
|
||||||
return new FileExtMismatchIngestModule(); // RJCTODO: Update to pass in options
|
assert settings instanceof FileExtMismatchDetectorModuleSettings;
|
||||||
|
if (!(settings instanceof FileExtMismatchDetectorModuleSettings)) {
|
||||||
|
throw new IllegalArgumentException("Expected settings argument to be instanceof FileExtMismatchDetectorModuleSettings");
|
||||||
|
}
|
||||||
|
return new FileExtMismatchIngestModule((FileExtMismatchDetectorModuleSettings) settings);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,16 +23,16 @@ import org.sleuthkit.autopsy.ingest.IngestModuleSettings;
|
|||||||
/**
|
/**
|
||||||
* Ingest options for the file extension mismatch detector ingest module.
|
* Ingest options for the file extension mismatch detector ingest module.
|
||||||
*/
|
*/
|
||||||
public class FileExtMismatchDetectorOptions implements IngestModuleSettings {
|
final class FileExtMismatchDetectorModuleSettings implements IngestModuleSettings {
|
||||||
|
|
||||||
private boolean skipKnownFiles = false;
|
private boolean skipKnownFiles = false;
|
||||||
private boolean skipFilesWithNoExtension = true;
|
private boolean skipFilesWithNoExtension = true;
|
||||||
private boolean skipFilesWithTextPlainMimeType = false;
|
private boolean skipFilesWithTextPlainMimeType = false;
|
||||||
|
|
||||||
FileExtMismatchDetectorOptions() {
|
FileExtMismatchDetectorModuleSettings() {
|
||||||
}
|
}
|
||||||
|
|
||||||
FileExtMismatchDetectorOptions(boolean skipKnownFiles, boolean skipFilesWithNoExtension, boolean skipFilesWithTextPlainMimeType) {
|
FileExtMismatchDetectorModuleSettings(boolean skipKnownFiles, boolean skipFilesWithNoExtension, boolean skipFilesWithTextPlainMimeType) {
|
||||||
this.skipKnownFiles = skipKnownFiles;
|
this.skipKnownFiles = skipKnownFiles;
|
||||||
this.skipFilesWithNoExtension = skipFilesWithNoExtension;
|
this.skipFilesWithNoExtension = skipFilesWithNoExtension;
|
||||||
this.skipFilesWithTextPlainMimeType = skipFilesWithTextPlainMimeType;
|
this.skipFilesWithTextPlainMimeType = skipFilesWithTextPlainMimeType;
|
||||||
@ -42,7 +42,7 @@ public class FileExtMismatchDetectorOptions implements IngestModuleSettings {
|
|||||||
skipKnownFiles = enabled;
|
skipKnownFiles = enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean getSkipKnownFiles() {
|
boolean skipKnownFiles() {
|
||||||
return skipKnownFiles;
|
return skipKnownFiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,7 +50,7 @@ public class FileExtMismatchDetectorOptions implements IngestModuleSettings {
|
|||||||
skipFilesWithNoExtension = enabled;
|
skipFilesWithNoExtension = enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean getSkipFilesWithNoExtension() {
|
boolean skipFilesWithNoExtension() {
|
||||||
return skipFilesWithNoExtension;
|
return skipFilesWithNoExtension;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ public class FileExtMismatchDetectorOptions implements IngestModuleSettings {
|
|||||||
skipFilesWithTextPlainMimeType = enabled;
|
skipFilesWithTextPlainMimeType = enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean getSkipFilesWithTextPlainMimeType() {
|
boolean skipFilesWithTextPlainMimeType() {
|
||||||
return skipFilesWithTextPlainMimeType;
|
return skipFilesWithTextPlainMimeType;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -16,7 +16,6 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.sleuthkit.autopsy.fileextmismatch;
|
package org.sleuthkit.autopsy.fileextmismatch;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -46,57 +45,56 @@ import org.sleuthkit.datamodel.TskException;
|
|||||||
* Flags mismatched filename extensions based on file signature.
|
* Flags mismatched filename extensions based on file signature.
|
||||||
*/
|
*/
|
||||||
public class FileExtMismatchIngestModule extends IngestModuleAdapter implements FileIngestModule {
|
public class FileExtMismatchIngestModule extends IngestModuleAdapter implements FileIngestModule {
|
||||||
private static final Logger logger = Logger.getLogger(FileExtMismatchIngestModule.class.getName());
|
|
||||||
|
private static final Logger logger = Logger.getLogger(FileExtMismatchIngestModule.class.getName());
|
||||||
private static long processTime = 0; // RJCTODO: This is not thread safe
|
private static long processTime = 0; // RJCTODO: This is not thread safe
|
||||||
private static int messageId = 0; // RJCTODO: This is not thread safe
|
private static int messageId = 0; // RJCTODO: This is not thread safe
|
||||||
private static long numFiles = 0; // RJCTODO: This is not thread safe
|
private static long numFiles = 0; // RJCTODO: This is not thread safe
|
||||||
private final IngestServices services = IngestServices.getDefault();
|
private final IngestServices services = IngestServices.getDefault();
|
||||||
private boolean skipKnown = false;
|
private final FileExtMismatchDetectorModuleSettings settings;
|
||||||
private boolean skipNoExt = true;
|
|
||||||
private boolean skipTextPlain = false;
|
|
||||||
private HashMap<String, String[]> SigTypeToExtMap = new HashMap<>();
|
private HashMap<String, String[]> SigTypeToExtMap = new HashMap<>();
|
||||||
|
|
||||||
FileExtMismatchIngestModule() {
|
FileExtMismatchIngestModule(FileExtMismatchDetectorModuleSettings settings) {
|
||||||
|
this.settings = settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void startUp(IngestJobContext context) throws IngestModuleException {
|
public void startUp(IngestJobContext context) throws IngestModuleException {
|
||||||
FileExtMismatchXML xmlLoader = FileExtMismatchXML.getDefault();
|
FileExtMismatchXML xmlLoader = FileExtMismatchXML.getDefault();
|
||||||
SigTypeToExtMap = xmlLoader.load();
|
SigTypeToExtMap = xmlLoader.load();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ProcessResult process(AbstractFile abstractFile) {
|
public ProcessResult process(AbstractFile abstractFile) {
|
||||||
// skip non-files
|
// skip non-files
|
||||||
if ((abstractFile.getType() == TskData.TSK_DB_FILES_TYPE_ENUM.UNALLOC_BLOCKS) ||
|
if ((abstractFile.getType() == TskData.TSK_DB_FILES_TYPE_ENUM.UNALLOC_BLOCKS)
|
||||||
(abstractFile.getType() == TskData.TSK_DB_FILES_TYPE_ENUM.UNUSED_BLOCKS)) {
|
|| (abstractFile.getType() == TskData.TSK_DB_FILES_TYPE_ENUM.UNUSED_BLOCKS)) {
|
||||||
return ProcessResult.OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
// deleted files often have content that was not theirs and therefor causes mismatch
|
|
||||||
if ((abstractFile.isMetaFlagSet(TskData.TSK_FS_META_FLAG_ENUM.UNALLOC)) ||
|
|
||||||
(abstractFile.isDirNameFlagSet(TskData.TSK_FS_NAME_FLAG_ENUM.UNALLOC))) {
|
|
||||||
return ProcessResult.OK;
|
return ProcessResult.OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skipKnown && (abstractFile.getKnown() == FileKnown.KNOWN)) {
|
// deleted files often have content that was not theirs and therefor causes mismatch
|
||||||
|
if ((abstractFile.isMetaFlagSet(TskData.TSK_FS_META_FLAG_ENUM.UNALLOC))
|
||||||
|
|| (abstractFile.isDirNameFlagSet(TskData.TSK_FS_NAME_FLAG_ENUM.UNALLOC))) {
|
||||||
return ProcessResult.OK;
|
return ProcessResult.OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
if (settings.skipKnownFiles() && (abstractFile.getKnown() == FileKnown.KNOWN)) {
|
||||||
{
|
return ProcessResult.OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
long startTime = System.currentTimeMillis();
|
long startTime = System.currentTimeMillis();
|
||||||
|
|
||||||
boolean mismatchDetected = compareSigTypeToExt(abstractFile);
|
boolean mismatchDetected = compareSigTypeToExt(abstractFile);
|
||||||
|
|
||||||
processTime += (System.currentTimeMillis() - startTime);
|
processTime += (System.currentTimeMillis() - startTime);
|
||||||
numFiles++;
|
numFiles++;
|
||||||
|
|
||||||
if (mismatchDetected) {
|
if (mismatchDetected) {
|
||||||
// add artifact
|
// add artifact
|
||||||
BlackboardArtifact bart = abstractFile.newArtifact(ARTIFACT_TYPE.TSK_EXT_MISMATCH_DETECTED);
|
BlackboardArtifact bart = abstractFile.newArtifact(ARTIFACT_TYPE.TSK_EXT_MISMATCH_DETECTED);
|
||||||
|
|
||||||
services.fireModuleDataEvent(new ModuleDataEvent(FileExtMismatchDetectorModuleFactory.getModuleName(), ARTIFACT_TYPE.TSK_EXT_MISMATCH_DETECTED, Collections.singletonList(bart)));
|
services.fireModuleDataEvent(new ModuleDataEvent(FileExtMismatchDetectorModuleFactory.getModuleName(), ARTIFACT_TYPE.TSK_EXT_MISMATCH_DETECTED, Collections.singletonList(bart)));
|
||||||
}
|
}
|
||||||
return ProcessResult.OK;
|
return ProcessResult.OK;
|
||||||
} catch (TskException ex) {
|
} catch (TskException ex) {
|
||||||
@ -104,18 +102,19 @@ public class FileExtMismatchIngestModule extends IngestModuleAdapter implements
|
|||||||
return ProcessResult.ERROR;
|
return ProcessResult.ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compare file type for file and extension.
|
* Compare file type for file and extension.
|
||||||
|
*
|
||||||
* @param abstractFile
|
* @param abstractFile
|
||||||
* @return false if the two match. True if there is a mismatch.
|
* @return false if the two match. True if there is a mismatch.
|
||||||
*/
|
*/
|
||||||
private boolean compareSigTypeToExt(AbstractFile abstractFile) {
|
private boolean compareSigTypeToExt(AbstractFile abstractFile) {
|
||||||
try {
|
try {
|
||||||
String currActualExt = abstractFile.getNameExtension();
|
String currActualExt = abstractFile.getNameExtension();
|
||||||
|
|
||||||
// If we are skipping names with no extension
|
// If we are skipping names with no extension
|
||||||
if (skipNoExt && currActualExt.isEmpty()) {
|
if (settings.skipFilesWithNoExtension() && currActualExt.isEmpty()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,7 +123,7 @@ public class FileExtMismatchIngestModule extends IngestModuleAdapter implements
|
|||||||
ArrayList<BlackboardAttribute> attributes = abstractFile.getGenInfoAttributes(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_FILE_TYPE_SIG);
|
ArrayList<BlackboardAttribute> attributes = abstractFile.getGenInfoAttributes(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_FILE_TYPE_SIG);
|
||||||
for (BlackboardAttribute attribute : attributes) {
|
for (BlackboardAttribute attribute : attributes) {
|
||||||
String currActualSigType = attribute.getValueString();
|
String currActualSigType = attribute.getValueString();
|
||||||
if (skipTextPlain) {
|
if (settings.skipFilesWithTextPlainMimeType()) {
|
||||||
if (!currActualExt.isEmpty() && currActualSigType.equals("text/plain")) {
|
if (!currActualExt.isEmpty() && currActualSigType.equals("text/plain")) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -152,42 +151,22 @@ public class FileExtMismatchIngestModule extends IngestModuleAdapter implements
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void shutDown(boolean ingestJobCancelled) {
|
public void shutDown(boolean ingestJobCancelled) {
|
||||||
StringBuilder detailsSb = new StringBuilder();
|
StringBuilder detailsSb = new StringBuilder();
|
||||||
//details
|
|
||||||
detailsSb.append("<table border='0' cellpadding='4' width='280'>");
|
detailsSb.append("<table border='0' cellpadding='4' width='280'>");
|
||||||
|
|
||||||
detailsSb.append("<tr><td>").append(FileExtMismatchDetectorModuleFactory.getModuleName()).append("</td></tr>");
|
detailsSb.append("<tr><td>").append(FileExtMismatchDetectorModuleFactory.getModuleName()).append("</td></tr>");
|
||||||
|
|
||||||
detailsSb.append("<tr><td>").append(
|
detailsSb.append("<tr><td>").append(
|
||||||
NbBundle.getMessage(this.getClass(), "FileExtMismatchIngestModule.complete.totalProcTime"))
|
NbBundle.getMessage(this.getClass(), "FileExtMismatchIngestModule.complete.totalProcTime"))
|
||||||
.append("</td><td>").append(processTime).append("</td></tr>\n");
|
.append("</td><td>").append(processTime).append("</td></tr>\n");
|
||||||
detailsSb.append("<tr><td>").append(
|
detailsSb.append("<tr><td>").append(
|
||||||
NbBundle.getMessage(this.getClass(), "FileExtMismatchIngestModule.complete.totalFiles"))
|
NbBundle.getMessage(this.getClass(), "FileExtMismatchIngestModule.complete.totalFiles"))
|
||||||
.append("</td><td>").append(numFiles).append("</td></tr>\n");
|
.append("</td><td>").append(numFiles).append("</td></tr>\n");
|
||||||
detailsSb.append("</table>");
|
detailsSb.append("</table>");
|
||||||
|
|
||||||
services.postMessage(IngestMessage.createMessage(++messageId, IngestMessage.MessageType.INFO, FileExtMismatchDetectorModuleFactory.getModuleName(),
|
services.postMessage(IngestMessage.createMessage(++messageId, IngestMessage.MessageType.INFO, FileExtMismatchDetectorModuleFactory.getModuleName(),
|
||||||
NbBundle.getMessage(this.getClass(),
|
NbBundle.getMessage(this.getClass(),
|
||||||
"FileExtMismatchIngestModule.complete.svcMsg.text"),
|
"FileExtMismatchIngestModule.complete.svcMsg.text"),
|
||||||
detailsSb.toString()));
|
detailsSb.toString()));
|
||||||
}
|
|
||||||
|
|
||||||
// RJCTODO: Ingest job setting
|
|
||||||
public void setSkipKnown(boolean flag) {
|
|
||||||
skipKnown = flag;
|
|
||||||
}
|
|
||||||
|
|
||||||
// RJCTODO: Ingest job setting
|
|
||||||
public void setSkipNoExt(boolean flag) {
|
|
||||||
skipNoExt = flag;
|
|
||||||
}
|
|
||||||
|
|
||||||
// RJCTODO: Ingest job setting
|
|
||||||
public void setSkipTextPlain(boolean flag) {
|
|
||||||
skipTextPlain = flag;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Component id="skipTextPlain" min="-2" max="-2" attributes="0"/>
|
<Component id="skipTextPlain" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="skipNoExtCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
|
<Component id="skipNoExtCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="skipKnownFilesCheckbox" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace min="0" pref="138" max="32767" attributes="0"/>
|
<EmptySpace min="0" pref="138" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
@ -32,7 +33,9 @@
|
|||||||
<Component id="skipNoExtCheckBox" min="-2" max="-2" attributes="0"/>
|
<Component id="skipNoExtCheckBox" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="skipTextPlain" min="-2" max="-2" attributes="0"/>
|
<Component id="skipTextPlain" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace pref="51" max="32767" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="skipKnownFilesCheckbox" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace pref="28" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
@ -42,7 +45,7 @@
|
|||||||
<Properties>
|
<Properties>
|
||||||
<Property name="selected" type="boolean" value="true"/>
|
<Property name="selected" type="boolean" value="true"/>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchSimpleConfigPanel.skipNoExtCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchModuleSettingsPanel.skipNoExtCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -52,7 +55,7 @@
|
|||||||
<Component class="javax.swing.JCheckBox" name="skipTextPlain">
|
<Component class="javax.swing.JCheckBox" name="skipTextPlain">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchSimpleConfigPanel.skipTextPlain.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchModuleSettingsPanel.skipTextPlain.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -62,5 +65,15 @@
|
|||||||
<AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value="skipTextPlain.setSelected(true);"/>
|
<AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value="skipTextPlain.setSelected(true);"/>
|
||||||
</AuxValues>
|
</AuxValues>
|
||||||
</Component>
|
</Component>
|
||||||
|
<Component class="javax.swing.JCheckBox" name="skipKnownFilesCheckbox">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchModuleSettingsPanel.skipKnownFilesCheckbox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="skipKnownFilesCheckboxActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
</Form>
|
</Form>
|
@ -25,24 +25,25 @@ import org.sleuthkit.autopsy.ingest.IngestModuleSettingsPanel;
|
|||||||
* UI component used to set ingest job options for file extension mismatch
|
* UI component used to set ingest job options for file extension mismatch
|
||||||
* detector ingest modules.
|
* detector ingest modules.
|
||||||
*/
|
*/
|
||||||
class FileExtMismatchSimpleConfigPanel extends IngestModuleSettingsPanel {
|
final class FileExtMismatchModuleSettingsPanel extends IngestModuleSettingsPanel {
|
||||||
|
|
||||||
private FileExtMismatchDetectorOptions ingestJobOptions;
|
private final FileExtMismatchDetectorModuleSettings settings;
|
||||||
|
|
||||||
FileExtMismatchSimpleConfigPanel(FileExtMismatchDetectorOptions ingestOptions) {
|
FileExtMismatchModuleSettingsPanel(FileExtMismatchDetectorModuleSettings settings) {
|
||||||
this.ingestJobOptions = ingestOptions;
|
this.settings = settings;
|
||||||
initComponents();
|
initComponents();
|
||||||
customizeComponents(ingestOptions);
|
customizeComponents();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void customizeComponents(FileExtMismatchDetectorOptions ingestOptions) {
|
private void customizeComponents() {
|
||||||
skipNoExtCheckBox.setSelected(ingestOptions.getSkipFilesWithNoExtension());
|
skipNoExtCheckBox.setSelected(settings.skipFilesWithNoExtension());
|
||||||
skipTextPlain.setSelected(ingestOptions.getSkipFilesWithTextPlainMimeType());
|
skipTextPlain.setSelected(settings.skipFilesWithTextPlainMimeType());
|
||||||
|
skipKnownFilesCheckbox.setSelected(settings.skipKnownFiles());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IngestModuleSettings getSettings() {
|
public IngestModuleSettings getSettings() {
|
||||||
return ingestJobOptions;
|
return settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -56,16 +57,17 @@ class FileExtMismatchSimpleConfigPanel extends IngestModuleSettingsPanel {
|
|||||||
|
|
||||||
skipNoExtCheckBox = new javax.swing.JCheckBox();
|
skipNoExtCheckBox = new javax.swing.JCheckBox();
|
||||||
skipTextPlain = new javax.swing.JCheckBox();
|
skipTextPlain = new javax.swing.JCheckBox();
|
||||||
|
skipKnownFilesCheckbox = new javax.swing.JCheckBox();
|
||||||
|
|
||||||
skipNoExtCheckBox.setSelected(true);
|
skipNoExtCheckBox.setSelected(true);
|
||||||
skipNoExtCheckBox.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSimpleConfigPanel.class, "FileExtMismatchSimpleConfigPanel.skipNoExtCheckBox.text")); // NOI18N
|
skipNoExtCheckBox.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchModuleSettingsPanel.class, "FileExtMismatchModuleSettingsPanel.skipNoExtCheckBox.text")); // NOI18N
|
||||||
skipNoExtCheckBox.addActionListener(new java.awt.event.ActionListener() {
|
skipNoExtCheckBox.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
skipNoExtCheckBoxActionPerformed(evt);
|
skipNoExtCheckBoxActionPerformed(evt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
skipTextPlain.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSimpleConfigPanel.class, "FileExtMismatchSimpleConfigPanel.skipTextPlain.text")); // NOI18N
|
skipTextPlain.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchModuleSettingsPanel.class, "FileExtMismatchModuleSettingsPanel.skipTextPlain.text")); // NOI18N
|
||||||
skipTextPlain.setSelected(true);
|
skipTextPlain.setSelected(true);
|
||||||
skipTextPlain.addActionListener(new java.awt.event.ActionListener() {
|
skipTextPlain.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
@ -73,6 +75,13 @@ class FileExtMismatchSimpleConfigPanel extends IngestModuleSettingsPanel {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
skipKnownFilesCheckbox.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchModuleSettingsPanel.class, "FileExtMismatchModuleSettingsPanel.skipKnownFilesCheckbox.text")); // NOI18N
|
||||||
|
skipKnownFilesCheckbox.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
skipKnownFilesCheckboxActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||||
this.setLayout(layout);
|
this.setLayout(layout);
|
||||||
layout.setHorizontalGroup(
|
layout.setHorizontalGroup(
|
||||||
@ -81,7 +90,8 @@ class FileExtMismatchSimpleConfigPanel extends IngestModuleSettingsPanel {
|
|||||||
.addContainerGap()
|
.addContainerGap()
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addComponent(skipTextPlain)
|
.addComponent(skipTextPlain)
|
||||||
.addComponent(skipNoExtCheckBox))
|
.addComponent(skipNoExtCheckBox)
|
||||||
|
.addComponent(skipKnownFilesCheckbox))
|
||||||
.addGap(0, 138, Short.MAX_VALUE))
|
.addGap(0, 138, Short.MAX_VALUE))
|
||||||
);
|
);
|
||||||
layout.setVerticalGroup(
|
layout.setVerticalGroup(
|
||||||
@ -90,18 +100,26 @@ class FileExtMismatchSimpleConfigPanel extends IngestModuleSettingsPanel {
|
|||||||
.addComponent(skipNoExtCheckBox)
|
.addComponent(skipNoExtCheckBox)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(skipTextPlain)
|
.addComponent(skipTextPlain)
|
||||||
.addContainerGap(51, Short.MAX_VALUE))
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
|
.addComponent(skipKnownFilesCheckbox)
|
||||||
|
.addContainerGap(28, Short.MAX_VALUE))
|
||||||
);
|
);
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
private void skipNoExtCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_skipNoExtCheckBoxActionPerformed
|
private void skipNoExtCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_skipNoExtCheckBoxActionPerformed
|
||||||
ingestJobOptions.setSkipFilesWithNoExtension(skipNoExtCheckBox.isSelected());
|
settings.setSkipFilesWithNoExtension(skipNoExtCheckBox.isSelected());
|
||||||
}//GEN-LAST:event_skipNoExtCheckBoxActionPerformed
|
}//GEN-LAST:event_skipNoExtCheckBoxActionPerformed
|
||||||
|
|
||||||
private void skipTextPlainActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_skipTextPlainActionPerformed
|
private void skipTextPlainActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_skipTextPlainActionPerformed
|
||||||
ingestJobOptions.setSkipFilesWithTextPlainMimeType(skipTextPlain.isSelected());
|
settings.setSkipFilesWithTextPlainMimeType(skipTextPlain.isSelected());
|
||||||
}//GEN-LAST:event_skipTextPlainActionPerformed
|
}//GEN-LAST:event_skipTextPlainActionPerformed
|
||||||
|
|
||||||
|
private void skipKnownFilesCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_skipKnownFilesCheckboxActionPerformed
|
||||||
|
settings.setSkipKnownFiles(skipKnownFilesCheckbox.isSelected());
|
||||||
|
}//GEN-LAST:event_skipKnownFilesCheckboxActionPerformed
|
||||||
|
|
||||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
|
private javax.swing.JCheckBox skipKnownFilesCheckbox;
|
||||||
private javax.swing.JCheckBox skipNoExtCheckBox;
|
private javax.swing.JCheckBox skipNoExtCheckBox;
|
||||||
private javax.swing.JCheckBox skipTextPlain;
|
private javax.swing.JCheckBox skipTextPlain;
|
||||||
// End of variables declaration//GEN-END:variables
|
// End of variables declaration//GEN-END:variables
|
@ -23,7 +23,7 @@ import org.sleuthkit.autopsy.coreutils.Logger;
|
|||||||
keywordsCategory = "KeywordSearchOptions")
|
keywordsCategory = "KeywordSearchOptions")
|
||||||
public final class FileExtMismatchOptionsPanelController extends OptionsPanelController {
|
public final class FileExtMismatchOptionsPanelController extends OptionsPanelController {
|
||||||
|
|
||||||
private FileExtMismatchConfigPanel panel;
|
private FileExtMismatchSettingsPanel panel;
|
||||||
private final PropertyChangeSupport pcs = new PropertyChangeSupport(this);
|
private final PropertyChangeSupport pcs = new PropertyChangeSupport(this);
|
||||||
private boolean changed;
|
private boolean changed;
|
||||||
private static final Logger logger = Logger.getLogger(FileExtMismatchOptionsPanelController.class.getName());
|
private static final Logger logger = Logger.getLogger(FileExtMismatchOptionsPanelController.class.getName());
|
||||||
@ -76,9 +76,9 @@ public final class FileExtMismatchOptionsPanelController extends OptionsPanelCon
|
|||||||
pcs.removePropertyChangeListener(l);
|
pcs.removePropertyChangeListener(l);
|
||||||
}
|
}
|
||||||
|
|
||||||
private FileExtMismatchConfigPanel getPanel() {
|
private FileExtMismatchSettingsPanel getPanel() {
|
||||||
if (panel == null) {
|
if (panel == null) {
|
||||||
panel = new FileExtMismatchConfigPanel();
|
panel = new FileExtMismatchSettingsPanel();
|
||||||
}
|
}
|
||||||
return panel;
|
return panel;
|
||||||
}
|
}
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
<Image iconType="3" name="/org/sleuthkit/autopsy/fileextmismatch/save16.png"/>
|
<Image iconType="3" name="/org/sleuthkit/autopsy/fileextmismatch/save16.png"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchConfigPanel.saveButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchSettingsPanel.saveButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="enabled" type="boolean" value="false"/>
|
<Property name="enabled" type="boolean" value="false"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
@ -128,7 +128,7 @@
|
|||||||
<Component class="javax.swing.JLabel" name="jLabel1">
|
<Component class="javax.swing.JLabel" name="jLabel1">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchConfigPanel.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchSettingsPanel.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
@ -148,7 +148,7 @@
|
|||||||
<Component class="javax.swing.JTextField" name="userTypeTextField">
|
<Component class="javax.swing.JTextField" name="userTypeTextField">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchConfigPanel.userTypeTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchSettingsPanel.userTypeTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -158,7 +158,7 @@
|
|||||||
<Component class="javax.swing.JButton" name="addTypeButton">
|
<Component class="javax.swing.JButton" name="addTypeButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchConfigPanel.addTypeButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchSettingsPanel.addTypeButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -168,7 +168,7 @@
|
|||||||
<Component class="javax.swing.JButton" name="removeTypeButton">
|
<Component class="javax.swing.JButton" name="removeTypeButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchConfigPanel.removeTypeButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchSettingsPanel.removeTypeButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -181,14 +181,14 @@
|
|||||||
<Color blue="0" green="0" red="ff" type="rgb"/>
|
<Color blue="0" green="0" red="ff" type="rgb"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchConfigPanel.mimeErrLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchSettingsPanel.mimeErrLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="mimeRemoveErrLabel">
|
<Component class="javax.swing.JLabel" name="mimeRemoveErrLabel">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchConfigPanel.mimeRemoveErrLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchSettingsPanel.mimeRemoveErrLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
@ -254,7 +254,7 @@
|
|||||||
<Component class="javax.swing.JTextField" name="userExtTextField">
|
<Component class="javax.swing.JTextField" name="userExtTextField">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchConfigPanel.userExtTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchSettingsPanel.userExtTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -264,7 +264,7 @@
|
|||||||
<Component class="javax.swing.JButton" name="addExtButton">
|
<Component class="javax.swing.JButton" name="addExtButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchConfigPanel.addExtButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchSettingsPanel.addExtButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -287,7 +287,7 @@
|
|||||||
<Component class="javax.swing.JButton" name="removeExtButton">
|
<Component class="javax.swing.JButton" name="removeExtButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchConfigPanel.removeExtButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchSettingsPanel.removeExtButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -297,7 +297,7 @@
|
|||||||
<Component class="javax.swing.JLabel" name="extHeaderLabel">
|
<Component class="javax.swing.JLabel" name="extHeaderLabel">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchConfigPanel.extHeaderLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchSettingsPanel.extHeaderLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
@ -307,14 +307,14 @@
|
|||||||
<Color blue="0" green="0" red="ff" type="rgb"/>
|
<Color blue="0" green="0" red="ff" type="rgb"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchConfigPanel.extErrorLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchSettingsPanel.extErrorLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="extRemoveErrLabel">
|
<Component class="javax.swing.JLabel" name="extRemoveErrLabel">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchConfigPanel.extRemoveErrLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchSettingsPanel.extRemoveErrLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
@ -328,7 +328,7 @@
|
|||||||
<Color blue="ff" green="0" red="0" type="rgb"/>
|
<Color blue="ff" green="0" red="0" type="rgb"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchConfigPanel.saveMsgLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/fileextmismatch/Bundle.properties" key="FileExtMismatchSettingsPanel.saveMsgLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
@ -39,21 +39,21 @@ import org.sleuthkit.autopsy.corecomponents.OptionsPanel;
|
|||||||
* Container panel for File Extension Mismatch Ingest Module advanced
|
* Container panel for File Extension Mismatch Ingest Module advanced
|
||||||
* configuration options
|
* configuration options
|
||||||
*/
|
*/
|
||||||
final class FileExtMismatchConfigPanel extends IngestModuleGlobalSetttingsPanel implements OptionsPanel {
|
final class FileExtMismatchSettingsPanel extends IngestModuleGlobalSetttingsPanel implements OptionsPanel {
|
||||||
|
|
||||||
private static Logger logger = Logger.getLogger(FileExtMismatchConfigPanel.class.getName());
|
private static Logger logger = Logger.getLogger(FileExtMismatchSettingsPanel.class.getName());
|
||||||
private HashMap<String, String[]> editableMap = new HashMap<>();
|
private HashMap<String, String[]> editableMap = new HashMap<>();
|
||||||
private ArrayList<String> mimeList = null;
|
private ArrayList<String> mimeList = null;
|
||||||
private ArrayList<String> currentExtensions = null;
|
private ArrayList<String> currentExtensions = null;
|
||||||
private MimeTableModel mimeTableModel;
|
private MimeTableModel mimeTableModel;
|
||||||
private ExtTableModel extTableModel;
|
private ExtTableModel extTableModel;
|
||||||
private final String EXT_HEADER_LABEL = NbBundle.getMessage(FileExtMismatchConfigPanel.class,
|
private final String EXT_HEADER_LABEL = NbBundle.getMessage(FileExtMismatchSettingsPanel.class,
|
||||||
"AddFileExtensionAction.extHeaderLbl.text");
|
"AddFileExtensionAction.extHeaderLbl.text");
|
||||||
private String selectedMime = "";
|
private String selectedMime = "";
|
||||||
private String selectedExt = "";
|
private String selectedExt = "";
|
||||||
ListSelectionModel lsm = null;
|
ListSelectionModel lsm = null;
|
||||||
|
|
||||||
public FileExtMismatchConfigPanel() {
|
public FileExtMismatchSettingsPanel() {
|
||||||
mimeTableModel = new MimeTableModel();
|
mimeTableModel = new MimeTableModel();
|
||||||
extTableModel = new ExtTableModel();
|
extTableModel = new ExtTableModel();
|
||||||
|
|
||||||
@ -155,7 +155,7 @@ final class FileExtMismatchConfigPanel extends IngestModuleGlobalSetttingsPanel
|
|||||||
saveMsgLabel = new javax.swing.JLabel();
|
saveMsgLabel = new javax.swing.JLabel();
|
||||||
|
|
||||||
saveButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/fileextmismatch/save16.png"))); // NOI18N
|
saveButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/fileextmismatch/save16.png"))); // NOI18N
|
||||||
saveButton.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchConfigPanel.class, "FileExtMismatchConfigPanel.saveButton.text")); // NOI18N
|
saveButton.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.saveButton.text")); // NOI18N
|
||||||
saveButton.setEnabled(false);
|
saveButton.setEnabled(false);
|
||||||
saveButton.addActionListener(new java.awt.event.ActionListener() {
|
saveButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
@ -165,26 +165,26 @@ final class FileExtMismatchConfigPanel extends IngestModuleGlobalSetttingsPanel
|
|||||||
|
|
||||||
jSplitPane1.setDividerLocation(430);
|
jSplitPane1.setDividerLocation(430);
|
||||||
|
|
||||||
jLabel1.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchConfigPanel.class, "FileExtMismatchConfigPanel.jLabel1.text")); // NOI18N
|
jLabel1.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.jLabel1.text")); // NOI18N
|
||||||
|
|
||||||
mimeTable.setModel(mimeTableModel);
|
mimeTable.setModel(mimeTableModel);
|
||||||
jScrollPane2.setViewportView(mimeTable);
|
jScrollPane2.setViewportView(mimeTable);
|
||||||
|
|
||||||
userTypeTextField.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchConfigPanel.class, "FileExtMismatchConfigPanel.userTypeTextField.text")); // NOI18N
|
userTypeTextField.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.userTypeTextField.text")); // NOI18N
|
||||||
userTypeTextField.addFocusListener(new java.awt.event.FocusAdapter() {
|
userTypeTextField.addFocusListener(new java.awt.event.FocusAdapter() {
|
||||||
public void focusGained(java.awt.event.FocusEvent evt) {
|
public void focusGained(java.awt.event.FocusEvent evt) {
|
||||||
userTypeTextFieldFocusGained(evt);
|
userTypeTextFieldFocusGained(evt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
addTypeButton.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchConfigPanel.class, "FileExtMismatchConfigPanel.addTypeButton.text")); // NOI18N
|
addTypeButton.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.addTypeButton.text")); // NOI18N
|
||||||
addTypeButton.addActionListener(new java.awt.event.ActionListener() {
|
addTypeButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
addTypeButtonActionPerformed(evt);
|
addTypeButtonActionPerformed(evt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
removeTypeButton.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchConfigPanel.class, "FileExtMismatchConfigPanel.removeTypeButton.text")); // NOI18N
|
removeTypeButton.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.removeTypeButton.text")); // NOI18N
|
||||||
removeTypeButton.addActionListener(new java.awt.event.ActionListener() {
|
removeTypeButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
removeTypeButtonActionPerformed(evt);
|
removeTypeButtonActionPerformed(evt);
|
||||||
@ -192,9 +192,9 @@ final class FileExtMismatchConfigPanel extends IngestModuleGlobalSetttingsPanel
|
|||||||
});
|
});
|
||||||
|
|
||||||
mimeErrLabel.setForeground(new java.awt.Color(255, 0, 0));
|
mimeErrLabel.setForeground(new java.awt.Color(255, 0, 0));
|
||||||
mimeErrLabel.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchConfigPanel.class, "FileExtMismatchConfigPanel.mimeErrLabel.text")); // NOI18N
|
mimeErrLabel.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.mimeErrLabel.text")); // NOI18N
|
||||||
|
|
||||||
mimeRemoveErrLabel.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchConfigPanel.class, "FileExtMismatchConfigPanel.mimeRemoveErrLabel.text")); // NOI18N
|
mimeRemoveErrLabel.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.mimeRemoveErrLabel.text")); // NOI18N
|
||||||
|
|
||||||
javax.swing.GroupLayout mimePanelLayout = new javax.swing.GroupLayout(mimePanel);
|
javax.swing.GroupLayout mimePanelLayout = new javax.swing.GroupLayout(mimePanel);
|
||||||
mimePanel.setLayout(mimePanelLayout);
|
mimePanel.setLayout(mimePanelLayout);
|
||||||
@ -239,14 +239,14 @@ final class FileExtMismatchConfigPanel extends IngestModuleGlobalSetttingsPanel
|
|||||||
|
|
||||||
jSplitPane1.setLeftComponent(mimePanel);
|
jSplitPane1.setLeftComponent(mimePanel);
|
||||||
|
|
||||||
userExtTextField.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchConfigPanel.class, "FileExtMismatchConfigPanel.userExtTextField.text")); // NOI18N
|
userExtTextField.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.userExtTextField.text")); // NOI18N
|
||||||
userExtTextField.addFocusListener(new java.awt.event.FocusAdapter() {
|
userExtTextField.addFocusListener(new java.awt.event.FocusAdapter() {
|
||||||
public void focusGained(java.awt.event.FocusEvent evt) {
|
public void focusGained(java.awt.event.FocusEvent evt) {
|
||||||
userExtTextFieldFocusGained(evt);
|
userExtTextFieldFocusGained(evt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
addExtButton.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchConfigPanel.class, "FileExtMismatchConfigPanel.addExtButton.text")); // NOI18N
|
addExtButton.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.addExtButton.text")); // NOI18N
|
||||||
addExtButton.addActionListener(new java.awt.event.ActionListener() {
|
addExtButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
addExtButtonActionPerformed(evt);
|
addExtButtonActionPerformed(evt);
|
||||||
@ -256,19 +256,19 @@ final class FileExtMismatchConfigPanel extends IngestModuleGlobalSetttingsPanel
|
|||||||
extTable.setModel(extTableModel);
|
extTable.setModel(extTableModel);
|
||||||
jScrollPane3.setViewportView(extTable);
|
jScrollPane3.setViewportView(extTable);
|
||||||
|
|
||||||
removeExtButton.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchConfigPanel.class, "FileExtMismatchConfigPanel.removeExtButton.text")); // NOI18N
|
removeExtButton.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.removeExtButton.text")); // NOI18N
|
||||||
removeExtButton.addActionListener(new java.awt.event.ActionListener() {
|
removeExtButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
removeExtButtonActionPerformed(evt);
|
removeExtButtonActionPerformed(evt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
extHeaderLabel.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchConfigPanel.class, "FileExtMismatchConfigPanel.extHeaderLabel.text")); // NOI18N
|
extHeaderLabel.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.extHeaderLabel.text")); // NOI18N
|
||||||
|
|
||||||
extErrorLabel.setForeground(new java.awt.Color(255, 0, 0));
|
extErrorLabel.setForeground(new java.awt.Color(255, 0, 0));
|
||||||
extErrorLabel.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchConfigPanel.class, "FileExtMismatchConfigPanel.extErrorLabel.text")); // NOI18N
|
extErrorLabel.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.extErrorLabel.text")); // NOI18N
|
||||||
|
|
||||||
extRemoveErrLabel.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchConfigPanel.class, "FileExtMismatchConfigPanel.extRemoveErrLabel.text")); // NOI18N
|
extRemoveErrLabel.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.extRemoveErrLabel.text")); // NOI18N
|
||||||
|
|
||||||
javax.swing.GroupLayout extensionPanelLayout = new javax.swing.GroupLayout(extensionPanel);
|
javax.swing.GroupLayout extensionPanelLayout = new javax.swing.GroupLayout(extensionPanel);
|
||||||
extensionPanel.setLayout(extensionPanelLayout);
|
extensionPanel.setLayout(extensionPanelLayout);
|
||||||
@ -314,7 +314,7 @@ final class FileExtMismatchConfigPanel extends IngestModuleGlobalSetttingsPanel
|
|||||||
jSplitPane1.setRightComponent(extensionPanel);
|
jSplitPane1.setRightComponent(extensionPanel);
|
||||||
|
|
||||||
saveMsgLabel.setForeground(new java.awt.Color(0, 0, 255));
|
saveMsgLabel.setForeground(new java.awt.Color(0, 0, 255));
|
||||||
saveMsgLabel.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchConfigPanel.class, "FileExtMismatchConfigPanel.saveMsgLabel.text")); // NOI18N
|
saveMsgLabel.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.saveMsgLabel.text")); // NOI18N
|
||||||
|
|
||||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||||
this.setLayout(layout);
|
this.setLayout(layout);
|
@ -1,6 +1,5 @@
|
|||||||
OpenIDE-Module-Name=FileTypeId
|
OpenIDE-Module-Name=FileTypeId
|
||||||
FileTypeIdSimpleConfigPanel.skipKnownCheckBox.toolTipText=Depending on how many files have known hashes, checking this box will improve the speed of file type identification.
|
FileTypeIdentifierModuleSettingsPanel.skipKnownCheckBox.toolTipText=Depending on how many files have known hashes, checking this box will improve the speed of file type identification.
|
||||||
FileTypeIdSimpleConfigPanel.skipKnownCheckBox.text=Skip Known Files (NSRL)
|
|
||||||
FileTypeIdIngestModule.moduleName.text=File Type Identification
|
FileTypeIdIngestModule.moduleName.text=File Type Identification
|
||||||
FileTypeIdIngestModule.moduleDesc.text=Matches file types based on binary signatures.
|
FileTypeIdIngestModule.moduleDesc.text=Matches file types based on binary signatures.
|
||||||
FileTypeIdIngestModule.complete.totalProcTime=Total Processing Time
|
FileTypeIdIngestModule.complete.totalProcTime=Total Processing Time
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
OpenIDE-Module-Name=\u30D5\u30A1\u30A4\u30EB\u30BF\u30A4\u30D7\u306E\u7279\u5B9A
|
OpenIDE-Module-Name=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u306e\u7279\u5b9a
|
||||||
FileTypeIdSimpleConfigPanel.skipKnownCheckBox.toolTipText=\u65E2\u77E5\u306E\u30CF\u30C3\u30B7\u30E5\u5024\u3092\u6301\u3064\u30D5\u30A1\u30A4\u30EB\u6570\u306B\u3088\u3063\u3066\u306F\u3001\u3053\u306E\u30DC\u30C3\u30AF\u30B9\u3092\u9078\u629E\u3059\u308B\u306E\u306B\u3088\u308A\u3001\u30D5\u30A1\u30A4\u30EB\u30BF\u30A4\u30D7\u306E\u7279\u5B9A\u3092\u52A0\u901F\u3057\u307E\u3059\u3002
|
FileTypeIdentifierModuleSettingsPanel.skipKnownCheckBox.toolTipText=\u65e2\u77e5\u306e\u30cf\u30c3\u30b7\u30e5\u5024\u3092\u6301\u3064\u30d5\u30a1\u30a4\u30eb\u6570\u306b\u3088\u3063\u3066\u306f\u3001\u3053\u306e\u30dc\u30c3\u30af\u30b9\u3092\u9078\u629e\u3059\u308b\u306e\u306b\u3088\u308a\u3001\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u306e\u7279\u5b9a\u3092\u52a0\u901f\u3057\u307e\u3059\u3002
|
||||||
FileTypeIdSimpleConfigPanel.skipKnownCheckBox.text=\u65E2\u77E5\u30D5\u30A1\u30A4\u30EB\u3092\u30B9\u30AD\u30C3\u30D7(NSRL)
|
FileTypeIdIngestModule.moduleName.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u306e\u7279\u5b9a
|
||||||
FileTypeIdIngestModule.moduleName.text=\u30D5\u30A1\u30A4\u30EB\u30BF\u30A4\u30D7\u306E\u7279\u5B9A
|
FileTypeIdIngestModule.moduleDesc.text=\u30d0\u30a4\u30ca\u30ea\u7f72\u540d\u306b\u57fa\u3065\u3044\u3066\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u3092\u4e00\u81f4\u3059\u308b\u3002
|
||||||
FileTypeIdIngestModule.moduleDesc.text=\u30D0\u30A4\u30CA\u30EA\u7F72\u540D\u306B\u57FA\u3065\u3044\u3066\u30D5\u30A1\u30A4\u30EB\u30BF\u30A4\u30D7\u3092\u4E00\u81F4\u3059\u308B\u3002
|
FileTypeIdIngestModule.complete.totalProcTime=\u5408\u8a08\u51e6\u7406\u6642\u9593
|
||||||
FileTypeIdIngestModule.complete.totalProcTime=\u5408\u8A08\u51E6\u7406\u6642\u9593
|
FileTypeIdIngestModule.complete.totalFiles=\u5408\u8a08\u51e6\u7406\u30d5\u30a1\u30a4\u30eb\u6570
|
||||||
FileTypeIdIngestModule.complete.totalFiles=\u5408\u8A08\u51E6\u7406\u30D5\u30A1\u30A4\u30EB\u6570
|
FileTypeIdIngestModule.complete.srvMsg.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u7279\u5b9a\u306e\u7d50\u679c
|
||||||
FileTypeIdIngestModule.complete.srvMsg.text=\u30D5\u30A1\u30A4\u30EB\u30BF\u30A4\u30D7\u7279\u5B9A\u306E\u7D50\u679C
|
|
@ -43,7 +43,7 @@ public class FileTypeIdIngestModule extends IngestModuleAdapter implements FileI
|
|||||||
|
|
||||||
private static final Logger logger = Logger.getLogger(FileTypeIdIngestModule.class.getName());
|
private static final Logger logger = Logger.getLogger(FileTypeIdIngestModule.class.getName());
|
||||||
private static final long MIN_FILE_SIZE = 512;
|
private static final long MIN_FILE_SIZE = 512;
|
||||||
private final FileTypeIdentifierIngestJobOptions ingestJobOptions;
|
private final FileTypeIdentifierModuleSettings settings;
|
||||||
private long matchTime = 0;
|
private long matchTime = 0;
|
||||||
private int messageId = 0; // RJCTODO: If this is not made a thread safe static, duplicate message ids will be used
|
private int messageId = 0; // RJCTODO: If this is not made a thread safe static, duplicate message ids will be used
|
||||||
private long numFiles = 0;
|
private long numFiles = 0;
|
||||||
@ -52,8 +52,8 @@ public class FileTypeIdIngestModule extends IngestModuleAdapter implements FileI
|
|||||||
// actually have a list of detectors which are called in order until a match is found.
|
// actually have a list of detectors which are called in order until a match is found.
|
||||||
private FileTypeDetectionInterface detector = new TikaFileTypeDetector();
|
private FileTypeDetectionInterface detector = new TikaFileTypeDetector();
|
||||||
|
|
||||||
FileTypeIdIngestModule(FileTypeIdentifierIngestJobOptions ingestJobOptions) {
|
FileTypeIdIngestModule(FileTypeIdentifierModuleSettings settings) {
|
||||||
this.ingestJobOptions = ingestJobOptions;
|
this.settings = settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -65,7 +65,7 @@ public class FileTypeIdIngestModule extends IngestModuleAdapter implements FileI
|
|||||||
return ProcessResult.OK;
|
return ProcessResult.OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ingestJobOptions.shouldSkipKnownFiles() && (abstractFile.getKnown() == FileKnown.KNOWN)) {
|
if (settings.skipKnownFiles() && (abstractFile.getKnown() == FileKnown.KNOWN)) {
|
||||||
return ProcessResult.OK;
|
return ProcessResult.OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,9 +101,7 @@ public class FileTypeIdIngestModule extends IngestModuleAdapter implements FileI
|
|||||||
public void shutDown(boolean ingestJobCancelled) {
|
public void shutDown(boolean ingestJobCancelled) {
|
||||||
StringBuilder detailsSb = new StringBuilder();
|
StringBuilder detailsSb = new StringBuilder();
|
||||||
detailsSb.append("<table border='0' cellpadding='4' width='280'>");
|
detailsSb.append("<table border='0' cellpadding='4' width='280'>");
|
||||||
|
|
||||||
detailsSb.append("<tr><td>").append(FileTypeIdentifierModuleFactory.getModuleName()).append("</td></tr>");
|
detailsSb.append("<tr><td>").append(FileTypeIdentifierModuleFactory.getModuleName()).append("</td></tr>");
|
||||||
|
|
||||||
detailsSb.append("<tr><td>")
|
detailsSb.append("<tr><td>")
|
||||||
.append(NbBundle.getMessage(this.getClass(), "FileTypeIdIngestModule.complete.totalProcTime"))
|
.append(NbBundle.getMessage(this.getClass(), "FileTypeIdIngestModule.complete.totalProcTime"))
|
||||||
.append("</td><td>").append(matchTime).append("</td></tr>\n");
|
.append("</td><td>").append(matchTime).append("</td></tr>\n");
|
||||||
@ -111,7 +109,6 @@ public class FileTypeIdIngestModule extends IngestModuleAdapter implements FileI
|
|||||||
.append(NbBundle.getMessage(this.getClass(), "FileTypeIdIngestModule.complete.totalFiles"))
|
.append(NbBundle.getMessage(this.getClass(), "FileTypeIdIngestModule.complete.totalFiles"))
|
||||||
.append("</td><td>").append(numFiles).append("</td></tr>\n");
|
.append("</td><td>").append(numFiles).append("</td></tr>\n");
|
||||||
detailsSb.append("</table>");
|
detailsSb.append("</table>");
|
||||||
|
|
||||||
IngestServices.getDefault().postMessage(IngestMessage.createMessage(++messageId, IngestMessage.MessageType.INFO, FileTypeIdentifierModuleFactory.getModuleName(),
|
IngestServices.getDefault().postMessage(IngestMessage.createMessage(++messageId, IngestMessage.MessageType.INFO, FileTypeIdentifierModuleFactory.getModuleName(),
|
||||||
NbBundle.getMessage(this.getClass(),
|
NbBundle.getMessage(this.getClass(),
|
||||||
"FileTypeIdIngestModule.complete.srvMsg.text"),
|
"FileTypeIdIngestModule.complete.srvMsg.text"),
|
||||||
|
@ -57,7 +57,7 @@ public class FileTypeIdentifierModuleFactory extends IngestModuleFactoryAdapter
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IngestModuleSettings getDefaultModuleSettings() {
|
public IngestModuleSettings getDefaultModuleSettings() {
|
||||||
return new FileTypeIdentifierIngestJobOptions();
|
return new FileTypeIdentifierModuleSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -66,8 +66,12 @@ public class FileTypeIdentifierModuleFactory extends IngestModuleFactoryAdapter
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IngestModuleSettingsPanel getModuleSettingsPanel(IngestModuleSettings ingestJobOptions) {
|
public IngestModuleSettingsPanel getModuleSettingsPanel(IngestModuleSettings settings) {
|
||||||
return new FileTypeIdSimpleConfigPanel((FileTypeIdentifierIngestJobOptions) ingestJobOptions);
|
assert settings instanceof FileTypeIdentifierModuleSettings;
|
||||||
|
if (!(settings instanceof FileTypeIdentifierModuleSettings)) {
|
||||||
|
throw new IllegalArgumentException("Expected settings argument to be instanceof FileTypeIdentifierModuleSettings");
|
||||||
|
}
|
||||||
|
return new FileTypeIdentifierModuleSettingsPanel((FileTypeIdentifierModuleSettings) settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -76,7 +80,11 @@ public class FileTypeIdentifierModuleFactory extends IngestModuleFactoryAdapter
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FileIngestModule createFileIngestModule(IngestModuleSettings ingestJobOptions) {
|
public FileIngestModule createFileIngestModule(IngestModuleSettings settings) {
|
||||||
return new FileTypeIdIngestModule((FileTypeIdentifierIngestJobOptions) ingestJobOptions);
|
assert settings instanceof FileTypeIdentifierModuleSettings;
|
||||||
|
if (!(settings instanceof FileTypeIdentifierModuleSettings)) {
|
||||||
|
throw new IllegalArgumentException("Expected settings argument to be instanceof FileTypeIdentifierModuleSettings");
|
||||||
|
}
|
||||||
|
return new FileTypeIdIngestModule((FileTypeIdentifierModuleSettings) settings);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,14 +23,14 @@ import org.sleuthkit.autopsy.ingest.IngestModuleSettings;
|
|||||||
/**
|
/**
|
||||||
* Ingest job options for the file type identifier ingest module instances.
|
* Ingest job options for the file type identifier ingest module instances.
|
||||||
*/
|
*/
|
||||||
public class FileTypeIdentifierIngestJobOptions implements IngestModuleSettings {
|
public class FileTypeIdentifierModuleSettings implements IngestModuleSettings {
|
||||||
|
|
||||||
private boolean skipKnownFiles = true;
|
private boolean skipKnownFiles = true;
|
||||||
|
|
||||||
FileTypeIdentifierIngestJobOptions() {
|
FileTypeIdentifierModuleSettings() {
|
||||||
}
|
}
|
||||||
|
|
||||||
FileTypeIdentifierIngestJobOptions(boolean skipKnownFiles) {
|
FileTypeIdentifierModuleSettings(boolean skipKnownFiles) {
|
||||||
this.skipKnownFiles = skipKnownFiles;
|
this.skipKnownFiles = skipKnownFiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ public class FileTypeIdentifierIngestJobOptions implements IngestModuleSettings
|
|||||||
skipKnownFiles = enabled;
|
skipKnownFiles = enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean shouldSkipKnownFiles() {
|
boolean skipKnownFiles() {
|
||||||
return skipKnownFiles;
|
return skipKnownFiles;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -25,23 +25,23 @@ import org.sleuthkit.autopsy.ingest.IngestModuleSettingsPanel;
|
|||||||
* UI component used to set ingest job options for file type identifier ingest
|
* UI component used to set ingest job options for file type identifier ingest
|
||||||
* modules.
|
* modules.
|
||||||
*/
|
*/
|
||||||
class FileTypeIdSimpleConfigPanel extends IngestModuleSettingsPanel {
|
final class FileTypeIdentifierModuleSettingsPanel extends IngestModuleSettingsPanel {
|
||||||
|
|
||||||
private final FileTypeIdentifierIngestJobOptions ingestJobOptions;
|
private final FileTypeIdentifierModuleSettings settings;
|
||||||
|
|
||||||
public FileTypeIdSimpleConfigPanel(FileTypeIdentifierIngestJobOptions ingestJobOptions) {
|
public FileTypeIdentifierModuleSettingsPanel(FileTypeIdentifierModuleSettings settings) {
|
||||||
this.ingestJobOptions = ingestJobOptions;
|
this.settings = settings;
|
||||||
initComponents();
|
initComponents();
|
||||||
customizeComponents();
|
customizeComponents();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void customizeComponents() {
|
private void customizeComponents() {
|
||||||
skipKnownCheckBox.setSelected(ingestJobOptions.shouldSkipKnownFiles());
|
skipKnownCheckBox.setSelected(settings.skipKnownFiles());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IngestModuleSettings getSettings() {
|
public IngestModuleSettings getSettings() {
|
||||||
return ingestJobOptions;
|
return settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -83,7 +83,7 @@ class FileTypeIdSimpleConfigPanel extends IngestModuleSettingsPanel {
|
|||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
private void skipKnownCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_skipKnownCheckBoxActionPerformed
|
private void skipKnownCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_skipKnownCheckBoxActionPerformed
|
||||||
ingestJobOptions.setSkipKnownFiles(skipKnownCheckBox.isSelected());
|
settings.setSkipKnownFiles(skipKnownCheckBox.isSelected());
|
||||||
}//GEN-LAST:event_skipKnownCheckBoxActionPerformed
|
}//GEN-LAST:event_skipKnownCheckBoxActionPerformed
|
||||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
private javax.swing.JCheckBox skipKnownCheckBox;
|
private javax.swing.JCheckBox skipKnownCheckBox;
|
@ -86,7 +86,7 @@ public class HashLookupModuleFactory extends IngestModuleFactoryAdapter {
|
|||||||
if (moduleSettingsPanel == null) {
|
if (moduleSettingsPanel == null) {
|
||||||
moduleSettingsPanel = new HashLookupModuleSettingsPanel();
|
moduleSettingsPanel = new HashLookupModuleSettingsPanel();
|
||||||
}
|
}
|
||||||
moduleSettingsPanel.load(); // RJCTODO: Use settings, will be default from file, so ok...
|
moduleSettingsPanel.load(); // RJCTODO: Fix this
|
||||||
return moduleSettingsPanel;
|
return moduleSettingsPanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ import org.sleuthkit.autopsy.ingest.IngestModuleSettings;
|
|||||||
/**
|
/**
|
||||||
* Settings for a hash lookup file ingest module instance.
|
* Settings for a hash lookup file ingest module instance.
|
||||||
*/
|
*/
|
||||||
class HashLookupModuleSettings implements IngestModuleSettings {
|
final class HashLookupModuleSettings implements IngestModuleSettings {
|
||||||
|
|
||||||
private final HashSet<String> enabledHashSets = new HashSet<>();
|
private final HashSet<String> enabledHashSets = new HashSet<>();
|
||||||
private boolean shouldCalculateHashes = true;
|
private boolean shouldCalculateHashes = true;
|
||||||
|
@ -28,7 +28,7 @@ import org.sleuthkit.autopsy.ingest.IngestModuleSettings;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* An factory that creates data source ingest modules that verify the integrity
|
* An factory that creates data source ingest modules that verify the integrity
|
||||||
* of Expert Witness Format (EWF) files (.e01).
|
* of Expert Witness Format (EWF), i.e., .e01 files .
|
||||||
*/
|
*/
|
||||||
@ServiceProvider(service = IngestModuleFactory.class)
|
@ServiceProvider(service = IngestModuleFactory.class)
|
||||||
public class EwfVerifierModuleFactory extends IngestModuleFactoryAdapter {
|
public class EwfVerifierModuleFactory extends IngestModuleFactoryAdapter {
|
||||||
|
@ -27,8 +27,7 @@ import org.sleuthkit.autopsy.ingest.IngestModuleFactoryAdapter;
|
|||||||
import org.sleuthkit.autopsy.ingest.IngestModuleSettings;
|
import org.sleuthkit.autopsy.ingest.IngestModuleSettings;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A factory for creating email parser file ingest modules and the user
|
* A factory for creating email parser file ingest module instances.
|
||||||
* interface panels used to configure the settings for instances of the modules.
|
|
||||||
*/
|
*/
|
||||||
@ServiceProvider(service = IngestModuleFactory.class)
|
@ServiceProvider(service = IngestModuleFactory.class)
|
||||||
public class EmailParserModuleFactory extends IngestModuleFactoryAdapter {
|
public class EmailParserModuleFactory extends IngestModuleFactoryAdapter {
|
||||||
@ -38,10 +37,10 @@ public class EmailParserModuleFactory extends IngestModuleFactoryAdapter {
|
|||||||
"ThunderbirdMboxFileIngestModule.moduleName");
|
"ThunderbirdMboxFileIngestModule.moduleName");
|
||||||
}
|
}
|
||||||
|
|
||||||
static String getVersion() {
|
static String getModuleVersion() {
|
||||||
return Version.getVersion();
|
return Version.getVersion();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getModuleDisplayName() {
|
public String getModuleDisplayName() {
|
||||||
return getModuleName();
|
return getModuleName();
|
||||||
@ -49,12 +48,13 @@ public class EmailParserModuleFactory extends IngestModuleFactoryAdapter {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getModuleDescription() {
|
public String getModuleDescription() {
|
||||||
return NbBundle.getMessage(ThunderbirdMboxFileIngestModule.class, "ThunderbirdMboxFileIngestModule.getDesc.text");
|
return NbBundle.getMessage(ThunderbirdMboxFileIngestModule.class,
|
||||||
|
"ThunderbirdMboxFileIngestModule.getDesc.text");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getModuleVersionNumber() {
|
public String getModuleVersionNumber() {
|
||||||
return getVersion();
|
return getModuleVersion();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -63,7 +63,7 @@ public class EmailParserModuleFactory extends IngestModuleFactoryAdapter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FileIngestModule createFileIngestModule(IngestModuleSettings ingestOptions) {
|
public FileIngestModule createFileIngestModule(IngestModuleSettings settings) {
|
||||||
return new ThunderbirdMboxFileIngestModule();
|
return new ThunderbirdMboxFileIngestModule();
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -317,7 +317,7 @@ public final class ThunderbirdMboxFileIngestModule extends IngestModuleAdapter i
|
|||||||
try {
|
try {
|
||||||
DerivedFile df = fileManager.addDerivedFile(filename, relPath,
|
DerivedFile df = fileManager.addDerivedFile(filename, relPath,
|
||||||
size, cTime, crTime, aTime, mTime, true, abstractFile, "",
|
size, cTime, crTime, aTime, mTime, true, abstractFile, "",
|
||||||
EmailParserModuleFactory.getModuleName(), EmailParserModuleFactory.getVersion(), "");
|
EmailParserModuleFactory.getModuleName(), EmailParserModuleFactory.getModuleVersion(), "");
|
||||||
files.add(df);
|
files.add(df);
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
postErrorMessage(
|
postErrorMessage(
|
||||||
@ -397,7 +397,7 @@ public final class ThunderbirdMboxFileIngestModule extends IngestModuleAdapter i
|
|||||||
}
|
}
|
||||||
|
|
||||||
void postErrorMessage(String subj, String details) {
|
void postErrorMessage(String subj, String details) {
|
||||||
IngestMessage ingestMessage = IngestMessage.createErrorMessage(messageId++, EmailParserModuleFactory.getVersion(), subj, details);
|
IngestMessage ingestMessage = IngestMessage.createErrorMessage(messageId++, EmailParserModuleFactory.getModuleVersion(), subj, details);
|
||||||
services.postMessage(ingestMessage);
|
services.postMessage(ingestMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user