mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-15 09:17:42 +00:00
Merge branch 'develop' of https://github.com/sleuthkit/autopsy into core-report
This commit is contained in:
commit
ac4b8ca7e3
@ -140,3 +140,10 @@ ProductInformationPanel.verbLoggingEnabled.text=Verbose logging enabled
|
|||||||
ProductInformationPanel.propertyUnknown.text=unknown
|
ProductInformationPanel.propertyUnknown.text=unknown
|
||||||
ProductInformationPanel.getVMValue.text={0} {1}
|
ProductInformationPanel.getVMValue.text={0} {1}
|
||||||
TableFilterNode.displayName.text=Name
|
TableFilterNode.displayName.text=Name
|
||||||
|
DataResultViewerThumbnail.comboBox.smallThumbnails=Small Thumbnails
|
||||||
|
DataResultViewerThumbnail.comboBox.mediumThumbnails=Medium Thumbnails
|
||||||
|
DataResultViewerThumbnail.comboBox.largeThumbnails=Large Thumbnails
|
||||||
|
DataResultViewerThumbnail.switchPage.done.errMsg=Error making thumbnails\: {0}
|
||||||
|
FXVideoPanel.pauseButton.infoLabel.playbackErr=Playback error.
|
||||||
|
GstVideoPanel.progress.infoLabel.updateErr=Error updating video progress\: {0}
|
||||||
|
GstVideoPanel.ExtractMedia.progress.buffering=Buffering {0}
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
CTL_DataContentAction=\u30C7\u30FC\u30BF\u30B3\u30F3\u30C6\u30F3\u30C4
|
||||||
|
OptionsCategory_Name_General=\u4E00\u822C
|
||||||
|
OptionsCategory_Keywords_General=\u4E00\u822C
|
||||||
|
CTL_CustomAboutAction=Autopsy\u306B\u3064\u3044\u3066
|
||||||
CTL_DataContentTopComponent=\u30C7\u30FC\u30BF\u30B3\u30F3\u30C6\u30F3\u30C4
|
CTL_DataContentTopComponent=\u30C7\u30FC\u30BF\u30B3\u30F3\u30C6\u30F3\u30C4
|
||||||
HINT_DataContentTopComponent=\u3053\u308C\u306F\u30C7\u30FC\u30BF\u30B3\u30F3\u30C6\u30F3\u30C4\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3067\u3059
|
HINT_DataContentTopComponent=\u3053\u308C\u306F\u30C7\u30FC\u30BF\u30B3\u30F3\u30C6\u30F3\u30C4\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3067\u3059
|
||||||
HINT_NodeTableTopComponent=\u3053\u308C\u306F\u30C7\u30FC\u30BF\u7D50\u679C\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3067\u3059
|
HINT_NodeTableTopComponent=\u3053\u308C\u306F\u30C7\u30FC\u30BF\u7D50\u679C\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3067\u3059
|
||||||
@ -27,18 +31,18 @@ AdvancedConfigurationDialog.applyButton.text=OK
|
|||||||
DataContentViewerString.goToPageLabel.text=\u4E0B\u8A18\u306E\u30DA\u30FC\u30B8\u3078\u79FB\u52D5\uFF1A
|
DataContentViewerString.goToPageLabel.text=\u4E0B\u8A18\u306E\u30DA\u30FC\u30B8\u3078\u79FB\u52D5\uFF1A
|
||||||
DataContentViewerHex.goToPageLabel.text=\u4E0B\u8A18\u306E\u30DA\u30FC\u30B8\u3078\u79FB\u52D5\uFF1A
|
DataContentViewerHex.goToPageLabel.text=\u4E0B\u8A18\u306E\u30DA\u30FC\u30B8\u3078\u79FB\u52D5\uFF1A
|
||||||
DataContentViewerString.languageLabel.text=\u30B9\u30AF\u30EA\u30D7\u30C8\uFF1A
|
DataContentViewerString.languageLabel.text=\u30B9\u30AF\u30EA\u30D7\u30C8\uFF1A
|
||||||
DataContentViewerString.languageCombo.toolTipText=\u30D0\u30A4\u30CA\u30EA\u30B9\u30C8\u30EA\u30F3\u30B0\u306E\u51E6\u7406\uFF08\u62BD\u51FA\u304A\u3088\u3073\u30C7\u30B3\u30FC\u30C9\uFF09\u306E\u969B\u306B\u4F7F\u7528\u3059\u308B\u8A00\u8A9E
|
DataContentViewerString.languageCombo.toolTipText=\u30D0\u30A4\u30CA\u30EA\u30B9\u30C8\u30EA\u30F3\u30B0\u306E\u51E6\u7406\uFF08\u62BD\u51FA\u304A\u3088\u3073\u30C7\u30B3\u30FC\u30C9\uFF09\u306B\u4F7F\u7528\u3059\u308B\u8A00\u8A9E
|
||||||
DataResultViewerThumbnail.pageLabel.text=\u30DA\u30FC\u30B8\uFF1A
|
DataResultViewerThumbnail.pageLabel.text=\u30DA\u30FC\u30B8\uFF1A
|
||||||
DataResultViewerThumbnail.pagesLabel.text=\u30DA\u30FC\u30B8\uFF1A
|
DataResultViewerThumbnail.pagesLabel.text=\u30DA\u30FC\u30B8\uFF1A
|
||||||
DataResultViewerThumbnail.imagesLabel.text=\u30A4\u30E1\u30FC\u30B8\uFF1A
|
DataResultViewerThumbnail.imagesLabel.text=\u30A4\u30E1\u30FC\u30B8\uFF1A
|
||||||
DataResultViewerThumbnail.imagesRangeLabel.text=-
|
DataResultViewerThumbnail.imagesRangeLabel.text=-
|
||||||
DataResultViewerThumbnail.pageNumLabel.text=-
|
DataResultViewerThumbnail.pageNumLabel.text=-
|
||||||
DataResultViewerThumbnail.goToPageLabel.text=\u4E0B\u8A18\u306E\u30DA\u30FC\u30B8\u306B\u79FB\u52D5\uFF1A
|
DataResultViewerThumbnail.goToPageLabel.text=\u4E0B\u8A18\u306E\u30DA\u30FC\u30B8\u306B\u79FB\u52D5\uFF1A
|
||||||
GeneralPanel.jLabel1.text=\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E\u3059\u308B\u969B\uFF1A
|
GeneralPanel.jLabel1.text=\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E\u3059\u308B\u5834\u5408\uFF1A
|
||||||
GeneralPanel.useBestViewerRB.text=\u6700\u3082\u5C02\u9580\u7684\u306A\u30D5\u30A1\u30A4\u30EB\u30D3\u30E5\u30FC\u30A2\u306B\u5909\u66F4
|
GeneralPanel.useBestViewerRB.text=\u6700\u3082\u5C02\u9580\u7684\u306A\u30D5\u30A1\u30A4\u30EB\u30D3\u30E5\u30FC\u30A2\u306B\u5909\u66F4
|
||||||
GeneralPanel.keepCurrentViewerRB.text=\u305D\u306E\u307E\u307E\u540C\u3058\u30D5\u30A1\u30A4\u30EB\u30D3\u30E5\u30FC\u30A2\u3092\u4F7F\u7528
|
GeneralPanel.keepCurrentViewerRB.text=\u305D\u306E\u307E\u307E\u540C\u3058\u30D5\u30A1\u30A4\u30EB\u30D3\u30E5\u30FC\u30A2\u3092\u4F7F\u7528
|
||||||
GeneralPanel.useBestViewerRB.toolTipText=\u4F8B\u3048\u3070\u3001JPEG\u304C\u9078\u629E\u3055\u308C\u305F\u969B\u306B\u306FHEX\u304B\u3089\u30E1\u30C7\u30A3\u30A2\u306B\u5909\u66F4\u3059\u308B\u3002
|
GeneralPanel.useBestViewerRB.toolTipText=\u4F8B\u3048\u3070\u3001JPEG\u304C\u9078\u629E\u3055\u308C\u305F\u5834\u5408\u306B\u306FHEX\u304B\u3089\u30E1\u30C7\u30A3\u30A2\u306B\u5909\u66F4\u3059\u308B\u3002
|
||||||
GeneralPanel.keepCurrentViewerRB.toolTipText=\u4F8B\u3048\u3070\u3001JPEG\u304C\u9078\u629E\u3055\u308C\u305F\u969B\u306B\u305D\u306E\u307E\u307EHEX\u30D3\u30E5\u30FC\u3092\u4F7F\u7528\u3002
|
GeneralPanel.keepCurrentViewerRB.toolTipText=\u4F8B\u3048\u3070\u3001JPEG\u304C\u9078\u629E\u3055\u308C\u305F\u5834\u5408\u306B\u305D\u306E\u307E\u307EHEX\u30D3\u30E5\u30FC\u3092\u4F7F\u7528\u3002
|
||||||
AdvancedConfigurationDialog.cancelButton.text=\u30AD\u30E3\u30F3\u30BB\u30EB
|
AdvancedConfigurationDialog.cancelButton.text=\u30AD\u30E3\u30F3\u30BB\u30EB
|
||||||
DataResultPanel.directoryTablePath.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30D1\u30B9
|
DataResultPanel.directoryTablePath.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30D1\u30B9
|
||||||
DataResultPanel.numberMatchLabel.text=0
|
DataResultPanel.numberMatchLabel.text=0
|
||||||
@ -46,7 +50,7 @@ DataResultPanel.matchLabel.text=\u7D50\u679C
|
|||||||
MediaViewVideoPanel.pauseButton.text=\u25BA
|
MediaViewVideoPanel.pauseButton.text=\u25BA
|
||||||
MediaViewVideoPanel.progressLabel.text=00\:00
|
MediaViewVideoPanel.progressLabel.text=00\:00
|
||||||
MediaViewVideoPanel.infoLabel.text=\u60C5\u5831
|
MediaViewVideoPanel.infoLabel.text=\u60C5\u5831
|
||||||
GeneralPanel.jLabel2.text=\u30A2\u30A4\u30C6\u30E0\u3092\u8868\u793A\u3059\u308B\u969B\uFF1A
|
GeneralPanel.jLabel2.text=\u30A2\u30A4\u30C6\u30E0\u3092\u8868\u793A\u3059\u308B\u5834\u5408\uFF1A
|
||||||
GeneralPanel.useLocalTimeRB.text=\u30ED\u30FC\u30AB\u30EB\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3\u3092\u4F7F\u7528
|
GeneralPanel.useLocalTimeRB.text=\u30ED\u30FC\u30AB\u30EB\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3\u3092\u4F7F\u7528
|
||||||
GeneralPanel.useGMTTimeRB.text=GMT\u3092\u4F7F\u7528
|
GeneralPanel.useGMTTimeRB.text=GMT\u3092\u4F7F\u7528
|
||||||
GeneralPanel.jLabel3.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30EA\u30B9\u30C6\u30A3\u30F3\u30B0\u5185\u306E\u65E2\u77E5\u30D5\u30A1\u30A4\u30EB\u306F\u4E0B\u8A18\u306E\u5834\u5408\u306B\u96A0\u3059\uFF1A
|
GeneralPanel.jLabel3.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30EA\u30B9\u30C6\u30A3\u30F3\u30B0\u5185\u306E\u65E2\u77E5\u30D5\u30A1\u30A4\u30EB\u306F\u4E0B\u8A18\u306E\u5834\u5408\u306B\u96A0\u3059\uFF1A
|
||||||
@ -62,16 +66,15 @@ DataContentViewerHex.setDataView.errorText=\uFF08\u30AA\u30D5\u30BB\u30C3\u30C8{
|
|||||||
DataContentViewerHex.title=HEX
|
DataContentViewerHex.title=HEX
|
||||||
DataContentViewerHex.toolTip=\u30D0\u30A4\u30CA\u30EA\u30B3\u30F3\u30C6\u30F3\u30C4\u3092HEX\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u8868\u793A\u3057\u3001ASCII\u3068\u3057\u3066\u8868\u793A\u3067\u304D\u308B\u30D0\u30A4\u30C8\u306F\u53F3\u5074\u306B\u8868\u793A\u3057\u307E\u3059\u3002
|
DataContentViewerHex.toolTip=\u30D0\u30A4\u30CA\u30EA\u30B3\u30F3\u30C6\u30F3\u30C4\u3092HEX\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u8868\u793A\u3057\u3001ASCII\u3068\u3057\u3066\u8868\u793A\u3067\u304D\u308B\u30D0\u30A4\u30C8\u306F\u53F3\u5074\u306B\u8868\u793A\u3057\u307E\u3059\u3002
|
||||||
DataContentViewerMedia.title=\u30E1\u30C7\u30A3\u30A2
|
DataContentViewerMedia.title=\u30E1\u30C7\u30A3\u30A2
|
||||||
DataContentViewerMedia.toolTip=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u30DE\u30EB\u30C1\u30E1\u30C7\u30A3\u30A2\u30D5\u30A1\u30A4\u30EB\uFF08\u753B\u50CF\u3001\u30D3\u30C7\u30AA\u3001\u30AA\u30FC\u30C7\u30A3\u30AA\uFF09\u3092\u8868\u793A\u3057\u307E\u3059\u3002
|
DataContentViewerMedia.toolTip=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u30DE\u30EB\u30C1\u30E1\u30C7\u30A3\u30A2\u30D5\u30A1\u30A4\u30EB\uFF08\u30A4\u30E1\u30FC\u30B8\u3001\u30D3\u30C7\u30AA\u3001\u30AA\u30FC\u30C7\u30A3\u30AA\uFF09\u3092\u8868\u793A\u3057\u307E\u3059\u3002
|
||||||
DataContentViewerString.goToPageTextField.msgDlg=\uFF11\u304B\u3089{0}\u306E\u9593\u306E\u6709\u52B9\u306A\u30DA\u30FC\u30B8\u6570\u3092\u5165\u529B\u3057\u3066\u4E0B\u3055\u3044
|
DataContentViewerString.goToPageTextField.msgDlg=\uFF11\u304B\u3089{0}\u306E\u9593\u306E\u6709\u52B9\u306A\u30DA\u30FC\u30B8\u6570\u3092\u5165\u529B\u3057\u3066\u4E0B\u3055\u3044
|
||||||
DataContentViewerString.goToPageTextField.err=\u7121\u52B9\u306A\u30DA\u30FC\u30B8\u6570
|
DataContentViewerString.goToPageTextField.err=\u7121\u52B9\u306A\u30DA\u30FC\u30B8\u6570
|
||||||
DataContentViewerString.setDataView.errorText=\uFF08\u30AA\u30D5\u30BB\u30C3\u30C8{0}-{1}\u306F\u8AAD\u307F\u53D6\u308C\u307E\u305B\u3093\u3067\u3057\u305F\uFF09\
|
DataContentViewerString.setDataView.errorText=\uFF08\u30AA\u30D5\u30BB\u30C3\u30C8{0}-{1}\u306F\u8AAD\u307F\u53D6\u308C\u307E\u305B\u3093\u3067\u3057\u305F\uFF09
|
||||||
DataContentViewerString.setDataView.errorNoText=\uFF08\u30AA\u30D5\u30BB\u30C3\u30C8{0}-{1}\u306B\u306F\u30C6\u30AD\u30B9\u30C8\u304C\u3042\u308A\u307E\u305B\u3093\uFF09
|
|
||||||
DataContentViewerString.title=\u30B9\u30C8\u30EA\u30F3\u30B0
|
DataContentViewerString.title=\u30B9\u30C8\u30EA\u30F3\u30B0
|
||||||
DataContentViewerString.toolTip=\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u62BD\u51FA\u3055\u308C\u305FASCII\u304A\u3088\u3073\u30E6\u30CB\u30B3\u30FC\u30C9\u306E\u30B9\u30C8\u30EA\u30F3\u30B0\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
|
DataContentViewerString.toolTip=\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u62BD\u51FA\u3055\u308C\u305FASCII\u304A\u3088\u3073\u30E6\u30CB\u30B3\u30FC\u30C9\u306E\u30B9\u30C8\u30EA\u30F3\u30B0\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
|
||||||
DataResultPanel.dummyNodeDisplayName=\u3057\u3070\u3089\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u2026
|
DataResultPanel.dummyNodeDisplayName=\u3057\u3070\u3089\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u2026
|
||||||
DataResultViewerTable.firstColLbl=\u540D\u79F0
|
DataResultViewerTable.firstColLbl=\u540D\u524D
|
||||||
DataResultViewerTable.illegalArgExc.noChildFromParent=\u6307\u5B9A\u3055\u308C\u305F\u30DA\u30A2\u30EC\u30F3\u30C8\u304B\u3089\u30C1\u30E3\u30A4\u30EB\u30C9\u30CE\u30FC\u30C9\u3092\u5165\u624B\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
DataResultViewerTable.illegalArgExc.noChildFromParent=\u6307\u5B9A\u3055\u308C\u305F\u30DA\u30A2\u30EC\u30F3\u30C8\u304B\u3089\u30C1\u30E3\u30A4\u30EB\u30C9\u30CE\u30FC\u30C9\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
||||||
DataResultViewerTable.illegalArgExc.childWithoutPropertySet=\u30C1\u30E3\u30A4\u30EB\u30C9\u30CE\u30FC\u30C9\u306F\u901A\u5E38\u306EPropertySet\u3092\u6301\u3063\u3066\u3044\u307E\u305B\u3093\u3002
|
DataResultViewerTable.illegalArgExc.childWithoutPropertySet=\u30C1\u30E3\u30A4\u30EB\u30C9\u30CE\u30FC\u30C9\u306F\u901A\u5E38\u306EPropertySet\u3092\u6301\u3063\u3066\u3044\u307E\u305B\u3093\u3002
|
||||||
DataResultViewerTable.title=\u30C6\u30FC\u30D6\u30EB
|
DataResultViewerTable.title=\u30C6\u30FC\u30D6\u30EB
|
||||||
DataResultViewerTable.dummyNodeDisplayName=\u3057\u3070\u3089\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u2026
|
DataResultViewerTable.dummyNodeDisplayName=\u3057\u3070\u3089\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u2026
|
||||||
@ -100,16 +103,20 @@ GstVideoPanel.exception.problemPlayCaptFrame.msg=\u30D3\u30C7\u30AA\u30D5\u30A1\
|
|||||||
GstVideoPanel.exception.problemStopCaptFrame.msg=\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u30D5\u30EC\u30FC\u30E0\u306E\u62BD\u51FA\u4E2D\u306B\u505C\u6B62\u3057\u3088\u3046\u3068\u3057\u305F\u969B\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
GstVideoPanel.exception.problemStopCaptFrame.msg=\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u30D5\u30EC\u30FC\u30E0\u306E\u62BD\u51FA\u4E2D\u306B\u505C\u6B62\u3057\u3088\u3046\u3068\u3057\u305F\u969B\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||||
GstVideoPanel.progress.buffering=\u30D0\u30C3\u30D5\u30A1\u30EA\u30F3\u30B0\u4E2D\u2026
|
GstVideoPanel.progress.buffering=\u30D0\u30C3\u30D5\u30A1\u30EA\u30F3\u30B0\u4E2D\u2026
|
||||||
GstVideoPanel.progressLabel.bufferingErr=\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30C3\u30D5\u30A1\u30EA\u30F3\u30B0\u30A8\u30E9\u30FC
|
GstVideoPanel.progressLabel.bufferingErr=\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30C3\u30D5\u30A1\u30EA\u30F3\u30B0\u30A8\u30E9\u30FC
|
||||||
MediaViewImagePanel.imgFileTooLarge.msg=\u753B\u50CF\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u5927\u304D\u3059\u304E\u3067\u3059\uFF09\uFF1A {0}
|
MediaViewImagePanel.imgFileTooLarge.msg=\u30A4\u30E1\u30FC\u30B8\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u5927\u304D\u3059\u304E\u3067\u3059\uFF09\uFF1A {0}
|
||||||
ProductInformationPanel.actVerboseLogging.text=Verbose\u30ED\u30B0\u3092\u6709\u52B9\u5316
|
ProductInformationPanel.actVerboseLogging.text=Verbose\u30ED\u30B0\u3092\u6709\u52B9\u5316
|
||||||
ProductInformationPanel.verbLoggingEnabled.text=Verbose\u30ED\u30B0\u304C\u6709\u52B9\u3067\u3059
|
ProductInformationPanel.verbLoggingEnabled.text=Verbose\u30ED\u30B0\u304C\u6709\u52B9\u3067\u3059
|
||||||
ProductInformationPanel.propertyUnknown.text=\u4E0D\u660E
|
ProductInformationPanel.propertyUnknown.text=\u4E0D\u660E
|
||||||
ProductInformationPanel.getVMValue.text={0} {1}
|
ProductInformationPanel.getVMValue.text={0} {1}
|
||||||
TableFilterNode.displayName.text=\u540D\u79F0
|
TableFilterNode.displayName.text=\u540D\u524D
|
||||||
CTL_DataContentAction=\u30C7\u30FC\u30BF\u30B3\u30F3\u30C6\u30F3\u30C4
|
|
||||||
OptionsCategory_Name_General=\u4E00\u822C
|
|
||||||
OptionsCategory_Keywords_General=\u4E00\u822C
|
|
||||||
CTL_CustomAboutAction=Autopsy\u306B\u3064\u3044\u3066
|
|
||||||
DataContentViewerHex.ofLabel.text_1=of
|
DataContentViewerHex.ofLabel.text_1=of
|
||||||
DataContentViewerString.ofLabel.text_1=of
|
DataContentViewerString.ofLabel.text_1=of
|
||||||
DataContentViewerArtifact.ofLabel.text=of
|
DataContentViewerArtifact.ofLabel.text=of
|
||||||
|
DataContentViewerString.setDataView.errorNoText=\uFF08\u30AA\u30D5\u30BB\u30C3\u30C8{0}-{1}\u306B\u306F\u30C6\u30AD\u30B9\u30C8\u304C\u3042\u308A\u307E\u305B\u3093\uFF09
|
||||||
|
DataResultViewerThumbnail.comboBox.smallThumbnails=\u30B5\u30E0\u30CD\u30A4\u30EB\uFF08\u5C0F\uFF09
|
||||||
|
DataResultViewerThumbnail.comboBox.mediumThumbnails=\u30B5\u30E0\u30CD\u30A4\u30EB\uFF08\u4E2D\uFF09
|
||||||
|
DataResultViewerThumbnail.comboBox.largeThumbnails=\u30B5\u30E0\u30CD\u30A4\u30EB\uFF08\u5927\uFF09
|
||||||
|
DataResultViewerThumbnail.switchPage.done.errMsg=\u30B5\u30E0\u30CD\u30A4\u30EB\u4F5C\u6210\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A {0}
|
||||||
|
FXVideoPanel.pauseButton.infoLabel.playbackErr=\u518D\u751F\u30A8\u30E9\u30FC\u3002
|
||||||
|
GstVideoPanel.progress.infoLabel.updateErr=\u30D3\u30C7\u30AA\u30D7\u30ED\u30B0\u30EC\u30B9\u306E\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A {0}
|
||||||
|
GstVideoPanel.ExtractMedia.progress.buffering={0}\u3092\u30D0\u30C3\u30D5\u30A1\u30EA\u30F3\u30B0\u4E2D
|
@ -171,7 +171,10 @@ import org.sleuthkit.datamodel.TskCoreException;
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
thumbnailSizeComboBox.setModel(new javax.swing.DefaultComboBoxModel<String>(new String[] { "Small Thumbnails", "Medium Thumbnails", "Large Thumbnails" }));
|
thumbnailSizeComboBox.setModel(new javax.swing.DefaultComboBoxModel<String>(new String[] {
|
||||||
|
NbBundle.getMessage(this.getClass(), "DataResultViewerThumbnail.comboBox.smallThumbnails"),
|
||||||
|
NbBundle.getMessage(this.getClass(), "DataResultViewerThumbnail.comboBox.mediumThumbnails"),
|
||||||
|
NbBundle.getMessage(this.getClass(), "DataResultViewerThumbnail.comboBox.largeThumbnails") }));
|
||||||
thumbnailSizeComboBox.addActionListener(new java.awt.event.ActionListener() {
|
thumbnailSizeComboBox.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
thumbnailSizeComboBoxActionPerformed(evt);
|
thumbnailSizeComboBoxActionPerformed(evt);
|
||||||
@ -438,7 +441,9 @@ import org.sleuthkit.datamodel.TskCoreException;
|
|||||||
get();
|
get();
|
||||||
} catch (InterruptedException | ExecutionException ex) {
|
} catch (InterruptedException | ExecutionException ex) {
|
||||||
NotifyDescriptor d =
|
NotifyDescriptor d =
|
||||||
new NotifyDescriptor.Message("Error making thumbnails: " + ex.getMessage(),
|
new NotifyDescriptor.Message(
|
||||||
|
NbBundle.getMessage(this.getClass(), "DataResultViewerThumbnail.switchPage.done.errMsg",
|
||||||
|
ex.getMessage()),
|
||||||
NotifyDescriptor.ERROR_MESSAGE);
|
NotifyDescriptor.ERROR_MESSAGE);
|
||||||
DialogDisplayer.getDefault().notify(d);
|
DialogDisplayer.getDefault().notify(d);
|
||||||
logger.log(Level.SEVERE, "Error making thumbnails: " + ex.getMessage());
|
logger.log(Level.SEVERE, "Error making thumbnails: " + ex.getMessage());
|
||||||
|
@ -473,7 +473,8 @@ public class FXVideoPanel extends MediaViewVideoPanel {
|
|||||||
logger.log(Level.INFO, "MediaPlayer in unexpected state: " + status.toString());
|
logger.log(Level.INFO, "MediaPlayer in unexpected state: " + status.toString());
|
||||||
// If the MediaPlayer is in an unexpected state, stop playback.
|
// If the MediaPlayer is in an unexpected state, stop playback.
|
||||||
mediaPlayer.stop();
|
mediaPlayer.stop();
|
||||||
setInfoLabelText("Playback error.");
|
setInfoLabelText(NbBundle.getMessage(this.getClass(),
|
||||||
|
"FXVideoPanel.pauseButton.infoLabel.playbackErr"));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -676,7 +676,8 @@ public class GstVideoPanel extends MediaViewVideoPanel {
|
|||||||
get();
|
get();
|
||||||
} catch (InterruptedException | ExecutionException ex) {
|
} catch (InterruptedException | ExecutionException ex) {
|
||||||
logger.log(Level.WARNING, "Error updating video progress: " + ex.getMessage());
|
logger.log(Level.WARNING, "Error updating video progress: " + ex.getMessage());
|
||||||
infoLabel.setText("Error updating video progress: " + ex.getMessage());
|
infoLabel.setText(NbBundle.getMessage(this.getClass(), "GstVideoPanel.progress.infoLabel.updateErr",
|
||||||
|
ex.getMessage()));
|
||||||
}
|
}
|
||||||
// catch and ignore if we were cancelled
|
// catch and ignore if we were cancelled
|
||||||
catch (java.util.concurrent.CancellationException ex ) { }
|
catch (java.util.concurrent.CancellationException ex ) { }
|
||||||
@ -706,7 +707,9 @@ public class GstVideoPanel extends MediaViewVideoPanel {
|
|||||||
@Override
|
@Override
|
||||||
protected Object doInBackground() throws Exception {
|
protected Object doInBackground() throws Exception {
|
||||||
success = false;
|
success = false;
|
||||||
progress = ProgressHandleFactory.createHandle("Buffering " + sFile.getName(), new Cancellable() {
|
progress = ProgressHandleFactory.createHandle(
|
||||||
|
NbBundle.getMessage(GstVideoPanel.class, "GstVideoPanel.ExtractMedia.progress.buffering", sFile.getName()),
|
||||||
|
new Cancellable() {
|
||||||
@Override
|
@Override
|
||||||
public boolean cancel() {
|
public boolean cancel() {
|
||||||
return ExtractMedia.this.cancel(true);
|
return ExtractMedia.this.cancel(true);
|
||||||
|
@ -169,7 +169,7 @@ public abstract class AbstractAbstractFileNode<T extends AbstractFile> extends A
|
|||||||
ObjectID {
|
ObjectID {
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "Object ID";
|
return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.objectId");
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -247,6 +247,7 @@ VolumeNode.createSheet.description.desc=no description
|
|||||||
VolumeNode.createSheet.flags.name=Flags
|
VolumeNode.createSheet.flags.name=Flags
|
||||||
VolumeNode.createSheet.flags.displayName=Flags
|
VolumeNode.createSheet.flags.displayName=Flags
|
||||||
VolumeNode.createSheet.flags.desc=no description
|
VolumeNode.createSheet.flags.desc=no description
|
||||||
|
AbstractAbstractFileNode.objectId=Object ID
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
OpenIDE-Module-Name=\u30C7\u30FC\u30BF\u30E2\u30C7\u30EB
|
OpenIDE-Module-Name=\u30C7\u30FC\u30BF\u30E2\u30C7\u30EB
|
||||||
AbstractAbstractFileNode.nameColLbl=\u540D\u79F0
|
AbstractAbstractFileNode.nameColLbl=\u540D\u524D
|
||||||
AbstractAbstractFileNode.locationColLbl=\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3
|
AbstractAbstractFileNode.locationColLbl=\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3
|
||||||
AbstractAbstractFileNode.modifiedTimeColLbl=\u4FEE\u6B63\u65E5\u6642
|
AbstractAbstractFileNode.modifiedTimeColLbl=\u4FEE\u6B63\u65E5\u6642
|
||||||
AbstractAbstractFileNode.changeTimeColLbl=\u5909\u66F4\u65E5\u6642
|
AbstractAbstractFileNode.changeTimeColLbl=\u5909\u66F4\u65E5\u6642
|
||||||
@ -17,8 +17,8 @@ AbstractContentChildren.createAutopsyNodeVisitor.exception.noNodeMsg=\u6307\u5B9
|
|||||||
AbstractContentNode.exception.cannotChangeSysName.msg=\u30B7\u30B9\u30C6\u30E0\u540D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093\u3002
|
AbstractContentNode.exception.cannotChangeSysName.msg=\u30B7\u30B9\u30C6\u30E0\u540D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093\u3002
|
||||||
AbstractFsContentNode.noDesc.text=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
AbstractFsContentNode.noDesc.text=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
ArtifactStringContent.getStr.srcFilePath.text=\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9
|
ArtifactStringContent.getStr.srcFilePath.text=\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9
|
||||||
ArtifactStringContent.getStr.err=\u30B3\u30F3\u30C6\u30F3\u30C4\u5165\u624B\u30A8\u30E9\u30FC
|
ArtifactStringContent.getStr.err=\u30B3\u30F3\u30C6\u30F3\u30C4\u53D6\u5F97\u30A8\u30E9\u30FC
|
||||||
ArtifactStringContent.exception.msg=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304B\u3089\u30D5\u30A1\u30A4\u30EB\u3092\u5165\u624B\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
|
ArtifactStringContent.exception.msg=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304B\u3089\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
|
||||||
ArtifactTypeNode.createSheet.artType.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
ArtifactTypeNode.createSheet.artType.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
ArtifactTypeNode.createSheet.childCnt.name=\u30C1\u30E3\u30A4\u30EB\u30C9\u6570
|
ArtifactTypeNode.createSheet.childCnt.name=\u30C1\u30E3\u30A4\u30EB\u30C9\u6570
|
||||||
ArtifactTypeNode.createSheet.childCnt.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
ArtifactTypeNode.createSheet.childCnt.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
@ -33,7 +33,7 @@ BlackboardArtifactNode.createSheet.filePath.name=\u30D5\u30A1\u30A4\u30EB\u30D1\
|
|||||||
BlackboardArtifactNode.createSheet.filePath.displayName=\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9
|
BlackboardArtifactNode.createSheet.filePath.displayName=\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9
|
||||||
BlackboardArtifactNode.createSheet.dataSrc.name=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9
|
BlackboardArtifactNode.createSheet.dataSrc.name=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9
|
||||||
BlackboardArtifactNode.createSheet.dataSrc.displayName=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9
|
BlackboardArtifactNode.createSheet.dataSrc.displayName=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9
|
||||||
BlackboardArtifactNode.getAssocCont.exception.msg=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304B\u3089\u30D5\u30A1\u30A4\u30EB\u3092\u5165\u624B\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
|
BlackboardArtifactNode.getAssocCont.exception.msg=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304B\u3089\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
|
||||||
BlackboardArtifactTagNode.createSheet.srcFile.text=\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB
|
BlackboardArtifactTagNode.createSheet.srcFile.text=\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB
|
||||||
BlackboardArtifactTagNode.createSheet.unavail.text=\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
|
BlackboardArtifactTagNode.createSheet.unavail.text=\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
|
||||||
BlackboardArtifactTagNode.createSheet.srcFilePath.text=\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9
|
BlackboardArtifactTagNode.createSheet.srcFilePath.text=\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9
|
||||||
@ -47,8 +47,8 @@ ContentTagNode.createSheet.filePath.displayName=\u30D5\u30A1\u30A4\u30EB\u30D1\u
|
|||||||
ContentTagNode.createSheet.comment.name=\u30B3\u30E1\u30F3\u30C8
|
ContentTagNode.createSheet.comment.name=\u30B3\u30E1\u30F3\u30C8
|
||||||
ContentTagNode.createSheet.comment.displayName=\u30B3\u30E1\u30F3\u30C8
|
ContentTagNode.createSheet.comment.displayName=\u30B3\u30E1\u30F3\u30C8
|
||||||
ContentTagTypeNode.displayName.text=\u30D5\u30A1\u30A4\u30EB\u30BF\u30B0
|
ContentTagTypeNode.displayName.text=\u30D5\u30A1\u30A4\u30EB\u30BF\u30B0
|
||||||
ContentTagTypeNode.createSheet.name.name=\u540D\u79F0
|
ContentTagTypeNode.createSheet.name.name=\u540D\u524D
|
||||||
ContentTagTypeNode.createSheet.name.displayName=\u540D\u79F0
|
ContentTagTypeNode.createSheet.name.displayName=\u540D\u524D
|
||||||
ContentUtils.exception.msg={0}\u3092\u62BD\u51FA\u3067\u304D\u307E\u305B\u3093
|
ContentUtils.exception.msg={0}\u3092\u62BD\u51FA\u3067\u304D\u307E\u305B\u3093
|
||||||
DataModelActionsFactory.srcFileInDir.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u5185\u306E\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A
|
DataModelActionsFactory.srcFileInDir.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u5185\u306E\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A
|
||||||
DataModelActionsFactory.fileInDir.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A
|
DataModelActionsFactory.fileInDir.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A
|
||||||
@ -56,49 +56,49 @@ DataModelActionsFactory.viewNewWin.text=\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30
|
|||||||
DataModelActionsFactory.openExtViewer.text=\u5916\u90E8\u30D3\u30E5\u30FC\u30A2\u306B\u8868\u793A
|
DataModelActionsFactory.openExtViewer.text=\u5916\u90E8\u30D3\u30E5\u30FC\u30A2\u306B\u8868\u793A
|
||||||
DataModelActionsFactory.srfFileSameMD5.text=\u540C\u3058MD5\u30CF\u30C3\u30B7\u30E5\u3092\u6301\u3064\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22
|
DataModelActionsFactory.srfFileSameMD5.text=\u540C\u3058MD5\u30CF\u30C3\u30B7\u30E5\u3092\u6301\u3064\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22
|
||||||
DataSourcesNode.name=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9
|
DataSourcesNode.name=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9
|
||||||
DataSourcesNode.createSheet.name.name=\u540D\u79F0
|
DataSourcesNode.createSheet.name.name=\u540D\u524D
|
||||||
DataSourcesNode.createSheet.name.displayName=\u540D\u79F0
|
DataSourcesNode.createSheet.name.displayName=\u540D\u524D
|
||||||
DataSourcesNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
DataSourcesNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
DeletedContent.fsDelFilter.text=\u30D5\u30A1\u30A4\u30EB\u30B7\u30B9\u30C6\u30E0
|
DeletedContent.fsDelFilter.text=\u30D5\u30A1\u30A4\u30EB\u30B7\u30B9\u30C6\u30E0
|
||||||
DeletedContent.allDelFilter.text=\u3059\u3079\u3066
|
DeletedContent.allDelFilter.text=\u3059\u3079\u3066
|
||||||
DeletedContent.deletedContentsNode.name=\u524A\u9664\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB
|
DeletedContent.deletedContentsNode.name=\u524A\u9664\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB
|
||||||
DeletedContent.createSheet.name.name=\u540D\u79F0
|
DeletedContent.createSheet.name.name=\u540D\u524D
|
||||||
DeletedContent.createSheet.name.displayName=\u540D\u79F0
|
DeletedContent.createSheet.name.displayName=\u540D\u524D
|
||||||
DeletedContent.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
DeletedContent.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
DeletedContent.createSheet.filterType.name=\u30D5\u30A1\u30A4\u30EB\u30BF\u30FC\u30BF\u30A4\u30D7
|
DeletedContent.createSheet.filterType.name=\u30D5\u30A1\u30A4\u30EB\u30BF\u30BF\u30A4\u30D7
|
||||||
DeletedContent.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30FC\u30BF\u30A4\u30D7
|
DeletedContent.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30BF\u30A4\u30D7
|
||||||
DeletedContent.createSheet.filterType.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
DeletedContent.createSheet.filterType.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
DeletedContent.createKeys.maxObjects.msg=\u8868\u793A\u53EF\u80FD\u306A\u6570\u3088\u308A\u3082\u591A\u304F\u306E\u524A\u9664\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u6700\u521D\u306E{0}\u306E\u524A\u9664\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
|
DeletedContent.createKeys.maxObjects.msg=\u8868\u793A\u53EF\u80FD\u306A\u6570\u3088\u308A\u3082\u591A\u304F\u306E\u524A\u9664\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u6700\u521D\u306E{0}\u306E\u524A\u9664\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
|
||||||
DeletedContent.createNodeForKey.typeNotSupported.msg=\u3053\u306E\u30BF\u30A4\u30D7\u306E\u8868\u793A\u53EF\u80FD\u306A\u30A2\u30A4\u30C6\u30E0\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF1A{0}
|
DeletedContent.createNodeForKey.typeNotSupported.msg=\u3053\u306E\u30BF\u30A4\u30D7\u306E\u8868\u793A\u53EF\u80FD\u306A\u30A2\u30A4\u30C6\u30E0\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF1A{0}
|
||||||
DirectoryNode.parFolder.text=[\u30DA\u30A2\u30EC\u30F3\u30C8\u30D5\u30A9\u30EB\u30C0\u30FC]
|
DirectoryNode.parFolder.text=[\u30DA\u30A2\u30EC\u30F3\u30C8\u30D5\u30A9\u30EB\u30C0]
|
||||||
DirectoryNode.curFolder.text=[\u73FE\u5728\u306E\u30D5\u30A9\u30EB\u30C0\u30FC]
|
DirectoryNode.curFolder.text=[\u73FE\u5728\u306E\u30D5\u30A9\u30EB\u30C0]
|
||||||
DirectoryNode.getActions.viewFileInDir.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A
|
DirectoryNode.getActions.viewFileInDir.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A
|
||||||
DirectoryNode.viewInNewWin.text=\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6\u306B\u8868\u793A
|
DirectoryNode.viewInNewWin.text=\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6\u306B\u8868\u793A
|
||||||
EmailExtracted.mailAccount.text=\u30A2\u30AB\u30A6\u30F3\u30C8
|
EmailExtracted.mailAccount.text=\u30A2\u30AB\u30A6\u30F3\u30C8
|
||||||
EmailExtracted.mailFolder.text=\u30D5\u30A9\u30EB\u30C0\u30FC
|
EmailExtracted.mailFolder.text=\u30D5\u30A9\u30EB\u30C0
|
||||||
EmailExtracted.defaultAcct.text=\u30C7\u30D5\u30A9\u30EB\u30C8
|
EmailExtracted.defaultAcct.text=\u30C7\u30D5\u30A9\u30EB\u30C8
|
||||||
EmailExtracted.defaultFolder.text=\u30C7\u30D5\u30A9\u30EB\u30C8
|
EmailExtracted.defaultFolder.text=\u30C7\u30D5\u30A9\u30EB\u30C8
|
||||||
EmailExtracted.createSheet.name.name=\u540D\u79F0
|
EmailExtracted.createSheet.name.name=\u540D\u524D
|
||||||
EmailExtracted.createSheet.name.displayName=\u540D\u79F0
|
EmailExtracted.createSheet.name.displayName=\u540D\u524D
|
||||||
EmailExtracted.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
EmailExtracted.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
ExtractedContentNode.name.text=\u62BD\u51FA\u3055\u308C\u305F\u30B3\u30F3\u30C6\u30F3\u30C4
|
ExtractedContentNode.name.text=\u62BD\u51FA\u3055\u308C\u305F\u30B3\u30F3\u30C6\u30F3\u30C4
|
||||||
ExtractedContentNode.createSheet.name.name=\u540D\u79F0
|
ExtractedContentNode.createSheet.name.name=\u540D\u524D
|
||||||
ExtractedContentNode.createSheet.name.displayName=\u540D\u79F0
|
ExtractedContentNode.createSheet.name.displayName=\u540D\u524D
|
||||||
ExtractedContentNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
ExtractedContentNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
FileNode.viewFileInDir.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A
|
FileNode.viewFileInDir.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A
|
||||||
FileNode.getActions.viewInNewWin.text=\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6\u306B\u8868\u793A
|
FileNode.getActions.viewInNewWin.text=\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6\u306B\u8868\u793A
|
||||||
FileNode.getActions.openInExtViewer.text=\u5916\u90E8\u30D3\u30E5\u30FC\u30A2\u3067\u958B\u304F
|
FileNode.getActions.openInExtViewer.text=\u5916\u90E8\u30D3\u30E5\u30FC\u30A2\u3067\u958B\u304F
|
||||||
FileNode.getActions.searchFilesSameMD5.text=\u540C\u3058MD5\u30CF\u30C3\u30B7\u30E5\u3092\u6301\u3064\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22
|
FileNode.getActions.searchFilesSameMD5.text=\u540C\u3058MD5\u30CF\u30C3\u30B7\u30E5\u3092\u6301\u3064\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22
|
||||||
FileSize.fileSizeRootNode.name=\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA
|
FileSize.fileSizeRootNode.name=\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA
|
||||||
FileSize.createSheet.name.name=\u540D\u79F0
|
FileSize.createSheet.name.name=\u540D\u524D
|
||||||
FileSize.createSheet.name.displayName=\u540D\u79F0
|
FileSize.createSheet.name.displayName=\u540D\u524D
|
||||||
FileSize.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
FileSize.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
FileSize.createSheet.filterType.name=\u30D5\u30A3\u30EB\u30BF\u30FC\u30BF\u30A4\u30D7
|
FileSize.createSheet.filterType.name=\u30D5\u30A3\u30EB\u30BF\u30BF\u30A4\u30D7
|
||||||
FileSize.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30FC\u30BF\u30A4\u30D7
|
FileSize.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30BF\u30A4\u30D7
|
||||||
FileSize.createSheet.filterType.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
FileSize.createSheet.filterType.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
FileSize.exception.notSupported.msg=\u3053\u306E\u30BF\u30A4\u30D7\u306E\u8868\u793A\u53EF\u80FD\u306A\u30A2\u30A4\u30C6\u30E0\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF1A{0}
|
FileSize.exception.notSupported.msg=\u3053\u306E\u30BF\u30A4\u30D7\u306E\u8868\u793A\u53EF\u80FD\u306A\u30A2\u30A4\u30C6\u30E0\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF1A{0}
|
||||||
FileTypeChildren.exception.notSupported.msg=\u3053\u306E\u30BF\u30A4\u30D7\u306E\u8868\u793A\u53EF\u80FD\u306A\u30A2\u30A4\u30C6\u30E0\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF1A{0}
|
FileTypeChildren.exception.notSupported.msg=\u3053\u306E\u30BF\u30A4\u30D7\u306E\u8868\u793A\u53EF\u80FD\u306A\u30A2\u30A4\u30C6\u30E0\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF1A{0}
|
||||||
FileTypeExtensionFilters.tskImgFilter.text=\u753B\u50CF
|
FileTypeExtensionFilters.tskImgFilter.text=\u30A4\u30E1\u30FC\u30B8
|
||||||
FileTypeExtensionFilters.tskVideoFilter.text=\u30D3\u30C7\u30AA
|
FileTypeExtensionFilters.tskVideoFilter.text=\u30D3\u30C7\u30AA
|
||||||
FileTypeExtensionFilters.tskAudioFilter.text=\u30AA\u30FC\u30C7\u30A3\u30AA
|
FileTypeExtensionFilters.tskAudioFilter.text=\u30AA\u30FC\u30C7\u30A3\u30AA
|
||||||
FileTypeExtensionFilters.tskArchiveFilter.text=\u30A2\u30FC\u30AB\u30A4\u30D6
|
FileTypeExtensionFilters.tskArchiveFilter.text=\u30A2\u30FC\u30AB\u30A4\u30D6
|
||||||
@ -109,41 +109,41 @@ FileTypeExtensionFilters.autDocOfficeFilter.text=\u30AA\u30D5\u30A3\u30B9
|
|||||||
FileTypeExtensionFilters.autoDocPdfFilter.text=PDF
|
FileTypeExtensionFilters.autoDocPdfFilter.text=PDF
|
||||||
FileTypeExtensionFilters.autDocTxtFilter.text=\u30D7\u30EC\u30FC\u30F3\u30C6\u30AD\u30B9\u30C8
|
FileTypeExtensionFilters.autDocTxtFilter.text=\u30D7\u30EC\u30FC\u30F3\u30C6\u30AD\u30B9\u30C8
|
||||||
FileTypeExtensionFilters.autDocRtfFilter.text=\u30EA\u30C3\u30C1\u30C6\u30AD\u30B9\u30C8
|
FileTypeExtensionFilters.autDocRtfFilter.text=\u30EA\u30C3\u30C1\u30C6\u30AD\u30B9\u30C8
|
||||||
FileTypeNode.createSheet.filterType.name=\u30D5\u30A3\u30EB\u30BF\u30FC\u30BF\u30A4\u30D7
|
FileTypeNode.createSheet.filterType.name=\u30D5\u30A3\u30EB\u30BF\u30BF\u30A4\u30D7
|
||||||
FileTypeNode.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30FC\u30BF\u30A4\u30D7
|
FileTypeNode.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30BF\u30A4\u30D7
|
||||||
FileTypeNode.createSheet.filterType.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
FileTypeNode.createSheet.filterType.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
FileTypeNode.createSheet.fileExt.name=\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u5B50
|
FileTypeNode.createSheet.fileExt.name=\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u5B50
|
||||||
FileTypeNode.createSheet.fileExt.displayName=\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u5B50
|
FileTypeNode.createSheet.fileExt.displayName=\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u5B50
|
||||||
FileTypeNode.createSheet.fileExt.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
FileTypeNode.createSheet.fileExt.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
FileTypesNode.fname.text=\u30D5\u30A1\u30A4\u30EB\u30BF\u30A4\u30D7
|
FileTypesNode.fname.text=\u30D5\u30A1\u30A4\u30EB\u30BF\u30A4\u30D7
|
||||||
FileTypesNode.createSheet.name.name=\u540D\u79F0
|
FileTypesNode.createSheet.name.name=\u540D\u524D
|
||||||
FileTypesNode.createSheet.name.displayName=\u540D\u79F0
|
FileTypesNode.createSheet.name.displayName=\u540D\u524D
|
||||||
FileTypesNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
FileTypesNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
HashsetHits.createSheet.name.name=\u540D\u79F0
|
HashsetHits.createSheet.name.name=\u540D\u524D
|
||||||
HashsetHits.createSheet.name.displayName=\u540D\u79F0
|
HashsetHits.createSheet.name.displayName=\u540D\u524D
|
||||||
HashsetHits.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
HashsetHits.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
ImageNode.getActions.viewInNewWin.text=\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6\u306B\u8868\u793A
|
ImageNode.getActions.viewInNewWin.text=\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6\u306B\u8868\u793A
|
||||||
ImageNode.getActions.openFileSearchByAttr.text=\u5C5E\u6027\u306B\u3088\u308B\u30D5\u30A1\u30A4\u30EB\u691C\u7D22\u3092\u958B\u304F
|
ImageNode.getActions.openFileSearchByAttr.text=\u5C5E\u6027\u306B\u3088\u308B\u30D5\u30A1\u30A4\u30EB\u691C\u7D22\u3092\u958B\u304F
|
||||||
ImageNode.createSheet.name.name=\u540D\u79F0
|
ImageNode.createSheet.name.name=\u540D\u524D
|
||||||
ImageNode.createSheet.name.displayName=\u540D\u79F0
|
ImageNode.createSheet.name.displayName=\u540D\u524D
|
||||||
ImageNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
ImageNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
Installer.exception.tskVerStringNull.msg=Sleuth Kit JNI\u30C6\u30B9\u30C8\u30B3\u30FC\u30EB\u3067\u306F\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u304C\u3001\u30D0\u30FC\u30B8\u30E7\u30F3\u30B9\u30C8\u30EA\u30F3\u30B0\u306F\u30CC\u30EB\u3067\u3057\u305F\uFF01
|
Installer.exception.tskVerStringNull.msg=Sleuth Kit JNI\u30C6\u30B9\u30C8\u30B3\u30FC\u30EB\u3067\u306F\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u304C\u3001\u30D0\u30FC\u30B8\u30E7\u30F3\u30B9\u30C8\u30EA\u30F3\u30B0\u306F\u30CC\u30EB\u3067\u3057\u305F\uFF01
|
||||||
Installer.tskLibErr.msg=Sleuth Kit JNI\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u30C6\u30B9\u30C8\u30B3\u30FC\u30EB\u304C\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A\
|
Installer.tskLibErr.msg=Sleuth Kit JNI\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u30C6\u30B9\u30C8\u30B3\u30FC\u30EB\u304C\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A\
|
||||||
\
|
\
|
||||||
\u8A73\u7D30\uFF1A {0}
|
\u8A73\u7D30\uFF1A {0}
|
||||||
Installer.tskLibErr.err=\u81F4\u547D\u7684\u30A8\u30E9\u30FC\uFF1A
|
Installer.tskLibErr.err=\u81F4\u547D\u7684\u30A8\u30E9\u30FC\uFF1A
|
||||||
InterestingHits.interestingItems.text=\u602A\u3057\u3044\u30A2\u30A4\u30C6\u30E0
|
InterestingHits.interestingItems.text=\u7591\u308F\u3057\u3044\u30A2\u30A4\u30C6\u30E0
|
||||||
InterestingHits.displayName.text=\u602A\u3057\u3044\u30A2\u30A4\u30C6\u30E0
|
InterestingHits.displayName.text=\u7591\u308F\u3057\u3044\u30A2\u30A4\u30C6\u30E0
|
||||||
InterestingHits.createSheet.name.name=\u540D\u79F0
|
InterestingHits.createSheet.name.name=\u540D\u524D
|
||||||
InterestingHits.createSheet.name.displayName=\u540D\u79F0
|
InterestingHits.createSheet.name.displayName=\u540D\u524D
|
||||||
InterestingHits.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
InterestingHits.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
KeyValueNode.createSheet.name.name=\u540D\u79F0
|
KeyValueNode.createSheet.name.name=\u540D\u524D
|
||||||
KeyValueNode.createSheet.name.displayName=\u540D\u79F0
|
KeyValueNode.createSheet.name.displayName=\u540D\u524D
|
||||||
KeyValueNode.createSheet.name.desc=\u8A72\u5F53\u306A\u3057
|
KeyValueNode.createSheet.name.desc=\u8A72\u5F53\u306A\u3057
|
||||||
KeyValueNode.createSheet.map.desc=\u8A72\u5F53\u306A\u3057
|
KeyValueNode.createSheet.map.desc=\u8A72\u5F53\u306A\u3057
|
||||||
KeywordHits.kwHits.text=\u30AD\u30FC\u30EF\u30FC\u30C9\u30D2\u30C3\u30C8
|
KeywordHits.kwHits.text=\u30AD\u30FC\u30EF\u30FC\u30C9\u30D2\u30C3\u30C8
|
||||||
KeywordHits.createSheet.name.name=\u540D\u79F0
|
KeywordHits.createSheet.name.name=\u540D\u524D
|
||||||
KeywordHits.createSheet.name.displayName=\u540D\u79F0
|
KeywordHits.createSheet.name.displayName=\u540D\u524D
|
||||||
KeywordHits.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
KeywordHits.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
KeywordHits.createSheet.listName.name=\u30EA\u30B9\u30C8\u540D
|
KeywordHits.createSheet.listName.name=\u30EA\u30B9\u30C8\u540D
|
||||||
KeywordHits.createSheet.listName.displayName=\u30EA\u30B9\u30C8\u540D
|
KeywordHits.createSheet.listName.displayName=\u30EA\u30B9\u30C8\u540D
|
||||||
@ -152,7 +152,7 @@ KeywordHits.createSheet.numChildren.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u3
|
|||||||
KeywordHits.createSheet.filesWithHits.name=\u30D2\u30C3\u30C8\u3057\u305F\u30D5\u30A1\u30A4\u30EB
|
KeywordHits.createSheet.filesWithHits.name=\u30D2\u30C3\u30C8\u3057\u305F\u30D5\u30A1\u30A4\u30EB
|
||||||
KeywordHits.createSheet.filesWithHits.displayName=\u30D2\u30C3\u30C8\u3057\u305F\u30D5\u30A1\u30A4\u30EB
|
KeywordHits.createSheet.filesWithHits.displayName=\u30D2\u30C3\u30C8\u3057\u305F\u30D5\u30A1\u30A4\u30EB
|
||||||
KeywordHits.createSheet.filesWithHits.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
KeywordHits.createSheet.filesWithHits.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
KeywordHits.createNodeForKey.modTime.displayName=
|
KeywordHits.createNodeForKey.modTime.displayName=\u4FEE\u6B63\u65E5\u6642
|
||||||
KeywordHits.createNodeForKey.modTime.desc=\u4FEE\u6B63\u65E5\u6642
|
KeywordHits.createNodeForKey.modTime.desc=\u4FEE\u6B63\u65E5\u6642
|
||||||
KeywordHits.createNodeForKey.accessTime.displayName=\u30A2\u30AF\u30BB\u30B9\u65E5\u6642
|
KeywordHits.createNodeForKey.accessTime.displayName=\u30A2\u30AF\u30BB\u30B9\u65E5\u6642
|
||||||
KeywordHits.createNodeForKey.accessTime.desc=\u30A2\u30AF\u30BB\u30B9\u65E5\u6642
|
KeywordHits.createNodeForKey.accessTime.desc=\u30A2\u30AF\u30BB\u30B9\u65E5\u6642
|
||||||
@ -164,14 +164,14 @@ KeywordHits.createNodeForKey.modTime.name=\u4FEE\u6B63\u65E5\u6642
|
|||||||
KnownFileFilterNode.selectionContext.dataSources=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9
|
KnownFileFilterNode.selectionContext.dataSources=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9
|
||||||
KnownFileFilterNode.selectionContext.views=\u30D3\u30E5\u30FC
|
KnownFileFilterNode.selectionContext.views=\u30D3\u30E5\u30FC
|
||||||
LayoutFileNode.propertyType.parts=\u30D1\u30FC\u30C4
|
LayoutFileNode.propertyType.parts=\u30D1\u30FC\u30C4
|
||||||
LayoutFileNode.createSheet.name.name=\u540D\u79F0
|
LayoutFileNode.createSheet.name.name=\u540D\u524D
|
||||||
LayoutFileNode.createSheet.name.displayName=\u540D\u79F0
|
LayoutFileNode.createSheet.name.displayName=\u540D\u524D
|
||||||
LayoutFileNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
LayoutFileNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
LayoutFileNode.createSheet.noDescr.text=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
LayoutFileNode.createSheet.noDescr.text=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
LayoutFileNode.getActions.viewInNewWin.text=\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6\u3067\u8868\u793A
|
LayoutFileNode.getActions.viewInNewWin.text=\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6\u3067\u8868\u793A
|
||||||
LayoutFileNode.getActions.openInExtViewer.text=\u5916\u90E8\u30D3\u30E5\u30FC\u30A2\u3067\u958B\u304F
|
LayoutFileNode.getActions.openInExtViewer.text=\u5916\u90E8\u30D3\u30E5\u30FC\u30A2\u3067\u958B\u304F
|
||||||
LocalFileNode.createSheet.name.name=\u540D\u79F0
|
LocalFileNode.createSheet.name.name=\u540D\u524D
|
||||||
LocalFileNode.createSheet.name.displayName=\u540D\u79F0
|
LocalFileNode.createSheet.name.displayName=\u540D\u524D
|
||||||
LocalFileNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
LocalFileNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
LocalFileNode.createSheet.noDescr.text=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
LocalFileNode.createSheet.noDescr.text=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
LocalFileNode.getActions.viewInNewWin.text=\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6\u306B\u8868\u793A
|
LocalFileNode.getActions.viewInNewWin.text=\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6\u306B\u8868\u793A
|
||||||
@ -185,26 +185,26 @@ RecentFiles.aut4dayFilter.displayName.text=\u6700\u7D42\u65E5 - \uFF14
|
|||||||
RecentFiles.aut5dayFilter.displayName.text=\u6700\u7D42\u65E5 - \uFF15
|
RecentFiles.aut5dayFilter.displayName.text=\u6700\u7D42\u65E5 - \uFF15
|
||||||
RecentFiles.aut6dayFilter.displayName.text=\u6700\u7D42\u65E5 - \uFF16
|
RecentFiles.aut6dayFilter.displayName.text=\u6700\u7D42\u65E5 - \uFF16
|
||||||
RecentFilesFilterChildren.exception.defaultVisit.msg=\u3053\u306E\u30BF\u30A4\u30D7\u306E\u8868\u793A\u3067\u304D\u308B\u30A2\u30A4\u30C6\u30E0
|
RecentFilesFilterChildren.exception.defaultVisit.msg=\u3053\u306E\u30BF\u30A4\u30D7\u306E\u8868\u793A\u3067\u304D\u308B\u30A2\u30A4\u30C6\u30E0
|
||||||
Installer.exception.taskVerStringBang.msg=Sleuth Kit JNI\u30C6\u30B9\u30C8\u30B3\u30FC\u30EB\u3067\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u304C\u3001\u30D0\u30FC\u30B8\u30E7\u30F3\u30B9\u30C8\u30EA\u30F3\u30B0\u306F""\u3067\u3057\u305F\uFF01
|
Installer.exception.taskVerStringBang.msg=Sleuth Kit JNI\u30C6\u30B9\u30C8\u30B3\u30FC\u30EB\u3067\u306F\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u304C\u3001\u30D0\u30FC\u30B8\u30E7\u30F3\u30B9\u30C8\u30EA\u30F3\u30B0\u306F""\u3067\u3057\u305F\uFF01
|
||||||
RecentFilesFilterNode.createSheet.filterType.name=\u30D5\u30A3\u30EB\u30BF\u30FC\u30BF\u30A4\u30D7
|
RecentFilesFilterNode.createSheet.filterType.name=\u30D5\u30A3\u30EB\u30BF\u30BF\u30A4\u30D7
|
||||||
RecentFilesFilterNode.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30FC\u30BF\u30A4\u30D7
|
RecentFilesFilterNode.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30BF\u30A4\u30D7
|
||||||
RecentFilesFilterNode.createSheet.filterType.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
RecentFilesFilterNode.createSheet.filterType.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
RecentFilesNode.createSheet.name.name=\u540D\u79F0
|
RecentFilesNode.createSheet.name.name=\u540D\u524D
|
||||||
RecentFilesNode.createSheet.name.displayName=\u540D\u79F0
|
RecentFilesNode.createSheet.name.displayName=\u540D\u524D
|
||||||
RecentFilesNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
RecentFilesNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
RecentFilesNode.name.text=\u6700\u8FD1\u4F7F\u7528\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB
|
RecentFilesNode.name.text=\u6700\u8FD1\u4F7F\u7528\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB
|
||||||
ResultsNode.name.text=\u7D50\u679C
|
ResultsNode.name.text=\u7D50\u679C
|
||||||
ResultsNode.createSheet.name.name=\u540D\u79F0
|
ResultsNode.createSheet.name.name=\u540D\u524D
|
||||||
ResultsNode.createSheet.name.displayName=\u540D\u79F0
|
ResultsNode.createSheet.name.displayName=\u540D\u524D
|
||||||
ResultsNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
ResultsNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
TagNameNode.namePlusTags.text={0}\u30BF\u30B0
|
TagNameNode.namePlusTags.text={0}\u30BF\u30B0
|
||||||
TagNameNode.contentTagTypeNodeKey.text=\u30B3\u30F3\u30C6\u30F3\u30C4\u30BF\u30B0
|
TagNameNode.contentTagTypeNodeKey.text=\u30B3\u30F3\u30C6\u30F3\u30C4\u30BF\u30B0
|
||||||
TagNameNode.bbArtTagTypeNodeKey.text=\u7D50\u679C\u30BF\u30B0
|
TagNameNode.bbArtTagTypeNodeKey.text=\u7D50\u679C\u30BF\u30B0
|
||||||
TagNameNode.bookmark.text=\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF
|
TagNameNode.bookmark.text=\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF
|
||||||
TagNameNode.createSheet.name.name=\u540D\u79F0
|
TagNameNode.createSheet.name.name=\u540D\u524D
|
||||||
TagNameNode.createSheet.name.displayName=\u540D\u79F0
|
TagNameNode.createSheet.name.displayName=\u540D\u524D
|
||||||
TagsNode.displayName.text=\u30BF\u30B0
|
TagsNode.displayName.text=\u30BF\u30B0
|
||||||
TagsNode.createSheet.name.name=\u540D\u79F0
|
TagsNode.createSheet.name.name=\u540D\u524D
|
||||||
AbstractAbstractFileNode.flagsDirColLbl=\u30D5\u30E9\u30B0\uFF08\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\uFF09
|
AbstractAbstractFileNode.flagsDirColLbl=\u30D5\u30E9\u30B0\uFF08\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\uFF09
|
||||||
AbstractAbstractFileNode.flagsMetaColLbl=\u30D5\u30E9\u30B0\uFF08\u30E1\u30BF\u30C7\u30FC\u30BF\uFF09
|
AbstractAbstractFileNode.flagsMetaColLbl=\u30D5\u30E9\u30B0\uFF08\u30E1\u30BF\u30C7\u30FC\u30BF\uFF09
|
||||||
AbstractAbstractFileNode.metaAddrColLbl=\u30E1\u30BF\u30C7\u30FC\u30BF\u30A2\u30C9\u30EC\u30B9
|
AbstractAbstractFileNode.metaAddrColLbl=\u30E1\u30BF\u30C7\u30FC\u30BF\u30A2\u30C9\u30EC\u30B9
|
||||||
@ -212,19 +212,19 @@ AbstractAbstractFileNode.attrAddrColLbl=\u5C5E\u6027\u30A2\u30C9\u30EC\u30B9
|
|||||||
AbstractAbstractFileNode.typeDirColLbl=\u30BF\u30A4\u30D7\uFF08\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\uFF09
|
AbstractAbstractFileNode.typeDirColLbl=\u30BF\u30A4\u30D7\uFF08\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\uFF09
|
||||||
AbstractAbstractFileNode.typeMetaColLbl=\u30BF\u30A4\u30D7\uFF08\u30E1\u30BF\u30C7\u30FC\u30BF\uFF09
|
AbstractAbstractFileNode.typeMetaColLbl=\u30BF\u30A4\u30D7\uFF08\u30E1\u30BF\u30C7\u30FC\u30BF\uFF09
|
||||||
ArtifactTypeNode.createSheet.childCnt.displayName=\u30C1\u30E3\u30A4\u30EB\u30C9\u6570
|
ArtifactTypeNode.createSheet.childCnt.displayName=\u30C1\u30E3\u30A4\u30EB\u30C9\u6570
|
||||||
TagsNode.createSheet.name.displayName=\u540D\u79F0
|
TagsNode.createSheet.name.displayName=\u540D\u524D
|
||||||
ViewsNode.name.text=\u30D3\u30E5\u30FC
|
ViewsNode.name.text=\u30D3\u30E5\u30FC
|
||||||
ViewsNode.createSheet.name.name=\u540D\u79F0
|
ViewsNode.createSheet.name.name=\u540D\u524D
|
||||||
ViewsNode.createSheet.name.displayName=\u540D\u79F0
|
ViewsNode.createSheet.name.displayName=\u540D\u524D
|
||||||
ViewsNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
ViewsNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
VirtualDirectoryNode.getActions.viewInNewWin.text=\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6\u306B\u8868\u793A
|
VirtualDirectoryNode.getActions.viewInNewWin.text=\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6\u306B\u8868\u793A
|
||||||
VirtualDirectoryNode.createSheet.name.name=\u540D\u79F0
|
VirtualDirectoryNode.createSheet.name.name=\u540D\u524D
|
||||||
VirtualDirectoryNode.createSheet.name.displayName=\u540D\u79F0
|
VirtualDirectoryNode.createSheet.name.displayName=\u540D\u524D
|
||||||
VirtualDirectoryNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
VirtualDirectoryNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
VirtualDirectoryNode.createSheet.noDesc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
VirtualDirectoryNode.createSheet.noDesc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
VolumeNode.getActions.viewInNewWin.text=\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6\u306B\u8868\u793A
|
VolumeNode.getActions.viewInNewWin.text=\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6\u306B\u8868\u793A
|
||||||
VolumeNode.createSheet.name.name=\u540D\u79F0
|
VolumeNode.createSheet.name.name=\u540D\u524D
|
||||||
VolumeNode.createSheet.name.displayName=\u540D\u79F0
|
VolumeNode.createSheet.name.displayName=\u540D\u524D
|
||||||
VolumeNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
VolumeNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
VolumeNode.createSheet.id.name=ID
|
VolumeNode.createSheet.id.name=ID
|
||||||
VolumeNode.createSheet.id.displayName=ID
|
VolumeNode.createSheet.id.displayName=ID
|
||||||
@ -241,9 +241,10 @@ VolumeNode.createSheet.description.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u30
|
|||||||
VolumeNode.createSheet.flags.name=\u30D5\u30E9\u30B0
|
VolumeNode.createSheet.flags.name=\u30D5\u30E9\u30B0
|
||||||
VolumeNode.createSheet.flags.displayName=\u30D5\u30E9\u30B0
|
VolumeNode.createSheet.flags.displayName=\u30D5\u30E9\u30B0
|
||||||
VolumeNode.createSheet.flags.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
VolumeNode.createSheet.flags.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
ArtifactTypeNode.createSheet.artType.name=\u6210\u679C\u7269\u30BF\u30A4\u30D7
|
ArtifactTypeNode.createSheet.artType.name=\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u30BF\u30A4\u30D7
|
||||||
ArtifactTypeNode.createSheet.artType.displayName=\u6210\u679C\u7269\u30BF\u30A4\u30D7
|
ArtifactTypeNode.createSheet.artType.displayName=\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u30BF\u30A4\u30D7
|
||||||
KeywordHits.createSheet.numChildren.name=\u30C1\u30E3\u30A4\u30EB\u30C9\u6570
|
KeywordHits.createSheet.numChildren.name=\u30C1\u30E3\u30A4\u30EB\u30C9\u6570
|
||||||
KeywordHits.createSheet.numChildren.displayName=\u30C1\u30E3\u30A4\u30EB\u30C9\u6570
|
KeywordHits.createSheet.numChildren.displayName=\u30C1\u30E3\u30A4\u30EB\u30C9\u6570
|
||||||
KeywordHits.simpleLiteralSearch.text=\u30B7\u30F3\u30B0\u30EB\u30EA\u30C6\u30E9\u30EB\u691C\u7D22
|
KeywordHits.simpleLiteralSearch.text=\u30B7\u30F3\u30B0\u30EB\u30EA\u30C6\u30E9\u30EB\u691C\u7D22
|
||||||
KeywordHits.singleRegexSearch.text=\u30B7\u30F3\u30B0\u30EB\u6B63\u898F\u8868\u73FE\u691C\u7D22
|
KeywordHits.singleRegexSearch.text=\u30B7\u30F3\u30B0\u30EB\u6B63\u898F\u8868\u73FE\u691C\u7D22
|
||||||
|
AbstractAbstractFileNode.objectId=\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8ID
|
@ -40,7 +40,7 @@ import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettingsPanel;
|
|||||||
* Instances of this class provide a simplified UI for managing the hash sets
|
* Instances of this class provide a simplified UI for managing the hash sets
|
||||||
* configuration.
|
* configuration.
|
||||||
*/
|
*/
|
||||||
public class HashLookupModuleSettingsPanel extends IngestModuleIngestJobSettingsPanel implements PropertyChangeListener {
|
public class HashLookupModuleSettingsPanel extends IngestModuleIngestJobSettingsPanel implements PropertyChangeListener {
|
||||||
|
|
||||||
private final HashDbManager hashDbManager = HashDbManager.getInstance();
|
private final HashDbManager hashDbManager = HashDbManager.getInstance();
|
||||||
private HashDatabasesTableModel knownTableModel;
|
private HashDatabasesTableModel knownTableModel;
|
||||||
|
@ -32,7 +32,6 @@ KeywordSearchEditListPanel.copyMenuItem.text=Copy
|
|||||||
KeywordSearchEditListPanel.exportButton.text=Export List
|
KeywordSearchEditListPanel.exportButton.text=Export List
|
||||||
KeywordSearchEditListPanel.deleteListButton.text=Delete List
|
KeywordSearchEditListPanel.deleteListButton.text=Delete List
|
||||||
KeywordSearchListsManagementPanel.newListButton.text=New List
|
KeywordSearchListsManagementPanel.newListButton.text=New List
|
||||||
KeywordSearchEditListPanel.useForIngestCheckbox.text=Use during ingest
|
|
||||||
KeywordSearchListsManagementPanel.importButton.text=Import List
|
KeywordSearchListsManagementPanel.importButton.text=Import List
|
||||||
KeywordSearchListsViewerPanel.searchAddButton.text=Search
|
KeywordSearchListsViewerPanel.searchAddButton.text=Search
|
||||||
KeywordSearchListsViewerPanel.manageListsButton.text=Manage Lists
|
KeywordSearchListsViewerPanel.manageListsButton.text=Manage Lists
|
||||||
@ -46,42 +45,14 @@ ExtractedContentPanel.pageOfLabel.text=of
|
|||||||
ExtractedContentPanel.pageCurLabel.text=-
|
ExtractedContentPanel.pageCurLabel.text=-
|
||||||
ExtractedContentPanel.pageTotalLabel.text=-
|
ExtractedContentPanel.pageTotalLabel.text=-
|
||||||
ExtractedContentPanel.hitLabel.toolTipText=
|
ExtractedContentPanel.hitLabel.toolTipText=
|
||||||
KeywordSearchEditListPanel.ingestMessagesCheckbox.text=Send messages to inbox during ingest
|
KeywordSearchEditListPanel.ingestMessagesCheckbox.text=Send ingest inbox messages for each hit
|
||||||
KeywordSearchEditListPanel.ingestMessagesCheckbox.toolTipText=Send messages during ingest when hits on keyword from this list occur
|
KeywordSearchEditListPanel.ingestMessagesCheckbox.toolTipText=Send messages during ingest when hits on keyword from this list occur
|
||||||
KeywordSearchConfigurationPanel2.skipNSRLCheckBox.text=Do not add files in NSRL (known files) to keyword index during ingest
|
|
||||||
KeywordSearchConfigurationPanel2.skipNSRLCheckBox.toolTipText=Requires Hash DB service to had run previously, or be selected for next ingest.
|
|
||||||
KeywordSearchConfigurationPanel2.filesIndexedValue.text=-
|
|
||||||
KeywordSearchConfigurationPanel2.filesIndexedLabel.text=Files in keyword index:
|
|
||||||
KeywordSearchIngestSimplePanel.languagesLabel.text=Scripts enabled for string extraction from unknown file types:
|
|
||||||
KeywordSearchIngestSimplePanel.languagesValLabel.text=-
|
|
||||||
KeywordSearchIngestSimplePanel.languagesLabel.toolTipText=Scripts enabled for string extraction from unknown file types. Changes can be done in Advanced Settings.
|
|
||||||
KeywordSearchIngestSimplePanel.languagesValLabel.toolTipText=
|
|
||||||
KeywordSearchConfigurationPanel3.languagesLabel.text=Enabled scripts (languages):
|
|
||||||
KeywordSearchConfigurationPanel2.chunksLabel.text=Chunks in keyword index:
|
|
||||||
KeywordSearchConfigurationPanel2.chunksValLabel.text=-
|
|
||||||
KeywordSearchConfigurationPanel3.enableUTF8Checkbox.text=Enable UTF8 text extraction
|
|
||||||
KeywordSearchConfigurationPanel3.enableUTF16Checkbox.text=Enable UTF16LE and UTF16BE string extraction
|
|
||||||
KeywordSearchEditListPanel.keywordOptionsLabel.text=Keyword Options
|
KeywordSearchEditListPanel.keywordOptionsLabel.text=Keyword Options
|
||||||
KeywordSearchEditListPanel.listOptionsLabel.text=List Options
|
KeywordSearchEditListPanel.listOptionsLabel.text=List Options
|
||||||
KeywordSearchConfigurationPanel3.ingestSettingsLabel.text=Ingest settings for string extraction from unknown file types (changes effective on next ingest):
|
|
||||||
KeywordSearchConfigurationPanel2.settingsLabel.text=Settings
|
|
||||||
KeywordSearchConfigurationPanel2.informationLabel.text=Information
|
|
||||||
KeywordSearchListsManagementPanel.keywordListsLabel.text=Keyword Lists:
|
KeywordSearchListsManagementPanel.keywordListsLabel.text=Keyword Lists:
|
||||||
KeywordSearchEditListPanel.keywordsLabel.text=Keywords:
|
KeywordSearchEditListPanel.keywordsLabel.text=Keywords:
|
||||||
KeywordSearchConfigurationPanel2.timeRadioButton1.toolTipText=20 mins. (fastest ingest time)
|
|
||||||
KeywordSearchConfigurationPanel2.timeRadioButton1.text=20 minutes (slowest feedback, fastest ingest)
|
|
||||||
KeywordSearchConfigurationPanel2.timeRadioButton2.toolTipText=10 minutes (faster overall ingest time than default)
|
|
||||||
KeywordSearchConfigurationPanel2.timeRadioButton2.text=10 minutes (slower feedback, faster ingest)
|
|
||||||
KeywordSearchConfigurationPanel2.timeRadioButton3.toolTipText=5 minutes (overall ingest time will be longer)
|
|
||||||
KeywordSearchConfigurationPanel2.timeRadioButton3.text=5 minutes (default)
|
|
||||||
KeywordSearchIngestSimplePanel.encodingsLabel.text=Encodings:
|
|
||||||
KeywordSearchIngestSimplePanel.keywordSearchEncodings.text=-
|
|
||||||
KeywordSearchIngestSimplePanel.titleLabel.text=Select keyword lists to enable during ingest:
|
|
||||||
OpenIDE-Module-Short-Description=Keyword Search ingest module, extracted text viewer and keyword search tools
|
OpenIDE-Module-Short-Description=Keyword Search ingest module, extracted text viewer and keyword search tools
|
||||||
KeywordSearchListsViewerPanel.manageListsButton.toolTipText=Manage keyword lists, their settings and associated keywords. The settings are shared among all cases.
|
KeywordSearchListsViewerPanel.manageListsButton.toolTipText=Manage keyword lists, their settings and associated keywords. The settings are shared among all cases.
|
||||||
KeywordSearchConfigurationPanel2.frequencyLabel.text=Results update frequency during ingest:
|
|
||||||
KeywordSearchConfigurationPanel2.timeRadioButton4.text_1=1 minute (faster feedback, longest ingest)
|
|
||||||
KeywordSearchConfigurationPanel2.timeRadioButton4.toolTipText=1 minute (overall ingest time will be longest)
|
|
||||||
AbstractKeywordSearchPerformer.search.dialogErrorHeader=Keyword Search Error
|
AbstractKeywordSearchPerformer.search.dialogErrorHeader=Keyword Search Error
|
||||||
AbstractKeywordSearchPerformer.search.invalidSyntaxHeader=Invalid query syntax.
|
AbstractKeywordSearchPerformer.search.invalidSyntaxHeader=Invalid query syntax.
|
||||||
AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=Keyword Search Ingest in Progress
|
AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=Keyword Search Ingest in Progress
|
||||||
@ -263,4 +234,32 @@ Server.addDoc.exception.msg2=Could not add document to index via update handler\
|
|||||||
Server.close.exception.msg=Cannot close Core
|
Server.close.exception.msg=Cannot close Core
|
||||||
Server.close.exception.msg2=Cannot close Core
|
Server.close.exception.msg2=Cannot close Core
|
||||||
Server.solrServerNoPortException.msg=Indexing server could not bind to port {0}, port is not available, consider change the default {1} port.
|
Server.solrServerNoPortException.msg=Indexing server could not bind to port {0}, port is not available, consider change the default {1} port.
|
||||||
KeywordSearchConfigurationPanel2.showSnippetsCB.text=Show Keyword Preview in Keyword Search Results (will result in longer search times)
|
KeywordSearchJobSettingsPanel.keywordSearchEncodings.text=-
|
||||||
|
KeywordSearchJobSettingsPanel.languagesValLabel.toolTipText=
|
||||||
|
KeywordSearchJobSettingsPanel.languagesValLabel.text=-
|
||||||
|
KeywordSearchJobSettingsPanel.encodingsLabel.text=Encodings:
|
||||||
|
KeywordSearchJobSettingsPanel.titleLabel.text=Select keyword lists to enable during ingest:
|
||||||
|
KeywordSearchJobSettingsPanel.languagesLabel.toolTipText=Scripts enabled for string extraction from unknown file types. Changes can be done in Advanced Settings.
|
||||||
|
KeywordSearchJobSettingsPanel.languagesLabel.text=Scripts enabled for string extraction from unknown file types:
|
||||||
|
KeywordSearchGlobalLanguageSettingsPanel.enableUTF8Checkbox.text=Enable UTF8 text extraction
|
||||||
|
KeywordSearchGlobalLanguageSettingsPanel.ingestSettingsLabel.text=Ingest settings for string extraction from unknown file types (changes effective on next ingest):
|
||||||
|
KeywordSearchGlobalLanguageSettingsPanel.enableUTF16Checkbox.text=Enable UTF16LE and UTF16BE string extraction
|
||||||
|
KeywordSearchGlobalLanguageSettingsPanel.languagesLabel.text=Enabled scripts (languages):
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.timeRadioButton1.toolTipText=20 mins. (fastest ingest time)
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.timeRadioButton1.text=20 minutes (slowest feedback, fastest ingest)
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.timeRadioButton2.toolTipText=10 minutes (faster overall ingest time than default)
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.timeRadioButton2.text=10 minutes (slower feedback, faster ingest)
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.frequencyLabel.text=Results update frequency during ingest:
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.toolTipText=Requires Hash DB service to had run previously, or be selected for next ingest.
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.text=Do not add files in NSRL (known files) to keyword index during ingest
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.informationLabel.text=Information
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.settingsLabel.text=Settings
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.filesIndexedValue.text=-
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.filesIndexedLabel.text=Files in keyword index:
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.showSnippetsCB.text=Show Keyword Preview in Keyword Search Results (will result in longer search times)
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.chunksValLabel.text=-
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.timeRadioButton4.toolTipText=1 minute (overall ingest time will be longest)
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.timeRadioButton4.text_1=1 minute (faster feedback, longest ingest)
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.chunksLabel.text=Chunks in keyword index:
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.timeRadioButton3.toolTipText=5 minutes (overall ingest time will be longer)
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.timeRadioButton3.text=5 minutes (default)
|
||||||
|
@ -26,7 +26,6 @@ KeywordSearchEditListPanel.copyMenuItem.text=\u30b3\u30d4\u30fc
|
|||||||
KeywordSearchEditListPanel.exportButton.text=\u30ea\u30b9\u30c8\u3092\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
|
KeywordSearchEditListPanel.exportButton.text=\u30ea\u30b9\u30c8\u3092\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
|
||||||
KeywordSearchEditListPanel.deleteListButton.text=\u30ea\u30b9\u30c8\u3092\u524a\u9664
|
KeywordSearchEditListPanel.deleteListButton.text=\u30ea\u30b9\u30c8\u3092\u524a\u9664
|
||||||
KeywordSearchListsManagementPanel.newListButton.text=\u65b0\u898f\u30ea\u30b9\u30c8
|
KeywordSearchListsManagementPanel.newListButton.text=\u65b0\u898f\u30ea\u30b9\u30c8
|
||||||
KeywordSearchEditListPanel.useForIngestCheckbox.text=\u51e6\u7406\u4e2d\u306b\u4f7f\u7528
|
|
||||||
KeywordSearchListsManagementPanel.importButton.text=\u30ea\u30b9\u30c8\u3092\u30a4\u30f3\u30dd\u30fc\u30c8
|
KeywordSearchListsManagementPanel.importButton.text=\u30ea\u30b9\u30c8\u3092\u30a4\u30f3\u30dd\u30fc\u30c8
|
||||||
KeywordSearchPanel.searchBox.text=\u691c\u7d22...
|
KeywordSearchPanel.searchBox.text=\u691c\u7d22...
|
||||||
KeywordSearchPanel.regExCheckboxMenuItem.text=\u6b63\u898f\u8868\u73fe\u3092\u4f7f\u7528
|
KeywordSearchPanel.regExCheckboxMenuItem.text=\u6b63\u898f\u8868\u73fe\u3092\u4f7f\u7528
|
||||||
@ -41,35 +40,12 @@ ExtractedContentPanel.pageButtonsLabel.text=\u30da\u30fc\u30b8
|
|||||||
ExtractedContentPanel.pagesLabel.text=\u30da\u30fc\u30b8\uff1a
|
ExtractedContentPanel.pagesLabel.text=\u30da\u30fc\u30b8\uff1a
|
||||||
KeywordSearchEditListPanel.ingestMessagesCheckbox.text=\u51e6\u7406\u4e2d\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30a4\u30f3\u30dc\u30c3\u30af\u30b9\u306b\u9001\u4fe1
|
KeywordSearchEditListPanel.ingestMessagesCheckbox.text=\u51e6\u7406\u4e2d\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30a4\u30f3\u30dc\u30c3\u30af\u30b9\u306b\u9001\u4fe1
|
||||||
KeywordSearchEditListPanel.ingestMessagesCheckbox.toolTipText=\u3053\u306e\u30ea\u30b9\u30c8\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u304c\u691c\u7d22\u306b\u30d2\u30c3\u30c8\u3057\u305f\u5834\u5408\u3001\u51e6\u7406\u4e2d\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30a4\u30f3\u30dc\u30c3\u30af\u30b9\u306b\u9001\u4fe1
|
KeywordSearchEditListPanel.ingestMessagesCheckbox.toolTipText=\u3053\u306e\u30ea\u30b9\u30c8\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u304c\u691c\u7d22\u306b\u30d2\u30c3\u30c8\u3057\u305f\u5834\u5408\u3001\u51e6\u7406\u4e2d\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30a4\u30f3\u30dc\u30c3\u30af\u30b9\u306b\u9001\u4fe1
|
||||||
KeywordSearchConfigurationPanel2.skipNSRLCheckBox.text=\u51e6\u7406\u4e2d\u306bNSRL\u306e\u30d5\u30a1\u30a4\u30eb\uff08\u65e2\u77e5\u306e\u30d5\u30a1\u30a4\u30eb\uff09\u3092\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u8ffd\u52a0\u3057\u306a\u3044
|
|
||||||
KeywordSearchConfigurationPanel2.skipNSRLCheckBox.toolTipText=Hash DB\u30b5\u30fc\u30d3\u30b9\u3092\u4e8b\u524d\u306b\u5b9f\u884c\u3059\u308b\u304b\u3001\u6b21\u56de\u306e\u51e6\u7406\u306b\u9078\u629e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
|
|
||||||
KeywordSearchConfigurationPanel2.filesIndexedLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5185\u306e\u30d5\u30a1\u30a4\u30eb\uff1a
|
|
||||||
KeywordSearchIngestSimplePanel.languagesLabel.text=\u4e0d\u660e\u306a\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u304b\u3089\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u3092\u6709\u52b9\u306b\u3057\u305f\u30b9\u30af\u30ea\u30d7\u30c8\uff1a
|
|
||||||
KeywordSearchIngestSimplePanel.languagesLabel.toolTipText=\u4e0d\u660e\u306a\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u304b\u3089\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u3092\u6709\u52b9\u306b\u3057\u305f\u30b9\u30af\u30ea\u30d7\u30c8\u3002\u30a2\u30c9\u30d0\u30f3\u30b9\u8a2d\u5b9a\u304b\u3089\u5909\u66f4\u304c\u53ef\u80fd\u3067\u3059\u3002
|
|
||||||
KeywordSearchConfigurationPanel3.languagesLabel.text=\u6709\u52b9\u306a\u30b9\u30af\u30ea\u30d7\u30c8\uff08\u8a00\u8a9e\uff09\uff1a
|
|
||||||
KeywordSearchConfigurationPanel2.chunksLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5185\u306e\u30c1\u30e3\u30f3\u30af\uff1a
|
|
||||||
KeywordSearchConfigurationPanel3.enableUTF8Checkbox.text=UTF8\u30c6\u30ad\u30b9\u30c8\u62bd\u51fa\u306e\u6709\u52b9\u5316
|
|
||||||
KeywordSearchConfigurationPanel3.enableUTF16Checkbox.text=UTF16LE\u3068UTF16BE\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u306e\u6709\u52b9\u5316
|
|
||||||
KeywordSearchEditListPanel.keywordOptionsLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30aa\u30d7\u30b7\u30e7\u30f3
|
KeywordSearchEditListPanel.keywordOptionsLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30aa\u30d7\u30b7\u30e7\u30f3
|
||||||
KeywordSearchEditListPanel.listOptionsLabel.text=\u30ea\u30b9\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3
|
KeywordSearchEditListPanel.listOptionsLabel.text=\u30ea\u30b9\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3
|
||||||
KeywordSearchConfigurationPanel3.ingestSettingsLabel.text=\u4e0d\u660e\u306a\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u304b\u3089\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u306e\u51e6\u7406\u65b9\u6cd5\u306e\u8a2d\u5b9a\uff08\u5909\u66f4\u306f\u6b21\u56de\u306e\u51e6\u7406\u304b\u3089\u6709\u52b9\uff09\uff1a
|
|
||||||
KeywordSearchConfigurationPanel2.settingsLabel.text=\u8a2d\u5b9a
|
|
||||||
KeywordSearchConfigurationPanel2.informationLabel.text=\u30a4\u30f3\u30d5\u30a9\u30e1\u30fc\u30b7\u30e7\u30f3
|
|
||||||
KeywordSearchListsManagementPanel.keywordListsLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\uff1a
|
KeywordSearchListsManagementPanel.keywordListsLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\uff1a
|
||||||
KeywordSearchEditListPanel.keywordsLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\uff1a
|
KeywordSearchEditListPanel.keywordsLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\uff1a
|
||||||
KeywordSearchConfigurationPanel2.timeRadioButton1.toolTipText=\uff12\uff10\u5206\uff08\u6700\u77ed\u306e\u51e6\u7406\u6642\u9593\uff09
|
|
||||||
KeywordSearchConfigurationPanel2.timeRadioButton1.text=\uff12\uff10\u5206\uff08\u6700\u3082\u9045\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u6700\u77ed\u306e\u51e6\u7406\u6642\u9593\uff09
|
|
||||||
KeywordSearchConfigurationPanel2.timeRadioButton2.toolTipText=\uff11\uff10\u5206\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u3088\u308a\u5168\u4f53\u7684\u306b\u901f\u3044\u51e6\u7406\u6642\u9593\uff09
|
|
||||||
KeywordSearchConfigurationPanel2.timeRadioButton2.text=\uff11\uff10\u5206\uff08\u3088\u308a\u9045\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u3088\u308a\u901f\u3044\u51e6\u7406\u6642\u9593\uff09
|
|
||||||
KeywordSearchConfigurationPanel2.timeRadioButton3.toolTipText=\uff15\u5206\uff08\u5168\u4f53\u7684\u306a\u51e6\u7406\u6642\u9593\u304c\u9577\u304f\u306a\u308a\u307e\u3059\uff09
|
|
||||||
KeywordSearchConfigurationPanel2.timeRadioButton3.text=\uff15\u5206\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\uff09
|
|
||||||
KeywordSearchIngestSimplePanel.encodingsLabel.text=\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\uff1a
|
|
||||||
KeywordSearchIngestSimplePanel.titleLabel.text=\u51e6\u7406\u4e2d\u306b\u6709\u52b9\u306a\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u9078\u629e\uff1a
|
|
||||||
OpenIDE-Module-Short-Description=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u51e6\u7406\u30e2\u30b8\u30e5\u30fc\u30eb\u3001\u62bd\u51fa\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u30d3\u30e5\u30fc\u30a2\u3001\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30c4\u30fc\u30eb
|
OpenIDE-Module-Short-Description=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u51e6\u7406\u30e2\u30b8\u30e5\u30fc\u30eb\u3001\u62bd\u51fa\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u30d3\u30e5\u30fc\u30a2\u3001\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30c4\u30fc\u30eb
|
||||||
KeywordSearchListsViewerPanel.manageListsButton.toolTipText=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3001\u30ea\u30b9\u30c8\u306e\u8a2d\u5b9a\u3068\u95a2\u9023\u3059\u308b\u30ad\u30fc\u30ef\u30fc\u30c9\u306e\u7ba1\u7406\u3002\u3053\u306e\u8a2d\u5b9a\u306f\u5168\u3066\u306e\u30b1\u30fc\u30b9\u306b\u9069\u7528\u3055\u308c\u307e\u3059\u3002
|
KeywordSearchListsViewerPanel.manageListsButton.toolTipText=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3001\u30ea\u30b9\u30c8\u306e\u8a2d\u5b9a\u3068\u95a2\u9023\u3059\u308b\u30ad\u30fc\u30ef\u30fc\u30c9\u306e\u7ba1\u7406\u3002\u3053\u306e\u8a2d\u5b9a\u306f\u5168\u3066\u306e\u30b1\u30fc\u30b9\u306b\u9069\u7528\u3055\u308c\u307e\u3059\u3002
|
||||||
KeywordSearchConfigurationPanel2.frequencyLabel.text=\u51e6\u7406\u4e2d\u306e\u7d50\u679c\u66f4\u65b0\u306e\u983b\u5ea6\uff1a
|
|
||||||
KeywordSearchConfigurationPanel2.timeRadioButton4.text_1=\uff11\u5206\uff08\u3088\u308a\u901f\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u6700\u3082\u9577\u3044\u51e6\u7406\u6642\u9593\uff09
|
|
||||||
KeywordSearchConfigurationPanel2.timeRadioButton4.toolTipText=\uff11\u5206\uff08\u5168\u4f53\u7684\u306a\u51e6\u7406\u6642\u9593\u304c\u9577\u304f\u306a\u308a\u307e\u3059\uff09
|
|
||||||
AbstractKeywordSearchPerformer.search.dialogErrorHeader=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a8\u30e9\u30fc
|
AbstractKeywordSearchPerformer.search.dialogErrorHeader=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a8\u30e9\u30fc
|
||||||
AbstractKeywordSearchPerformer.search.invalidSyntaxHeader=\u30b7\u30f3\u30bf\u30c3\u30af\u30b9\u30a8\u30e9\u30fc
|
AbstractKeywordSearchPerformer.search.invalidSyntaxHeader=\u30b7\u30f3\u30bf\u30c3\u30af\u30b9\u30a8\u30e9\u30fc
|
||||||
AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3092\u5b9f\u884c\u4e2d
|
AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3092\u5b9f\u884c\u4e2d
|
||||||
@ -171,10 +147,6 @@ ExtractedContentPanel.pagePreviousButton.actionCommand=
|
|||||||
ExtractedContentPanel.pageOfLabel.text=of
|
ExtractedContentPanel.pageOfLabel.text=of
|
||||||
ExtractedContentPanel.pageCurLabel.text=-
|
ExtractedContentPanel.pageCurLabel.text=-
|
||||||
ExtractedContentPanel.pageTotalLabel.text=-
|
ExtractedContentPanel.pageTotalLabel.text=-
|
||||||
KeywordSearchConfigurationPanel2.filesIndexedValue.text=-
|
|
||||||
KeywordSearchIngestSimplePanel.languagesValLabel.text=-
|
|
||||||
KeywordSearchConfigurationPanel2.chunksValLabel.text=-
|
|
||||||
KeywordSearchIngestSimplePanel.keywordSearchEncodings.text=-
|
|
||||||
AbstractFileChunk.index.exception.msg=\u30d5\u30a1\u30a4\u30eb\u30b9\u30c8\u30ea\u30f3\u30b0\u30c1\u30e3\u30f3\u30af\u306e\u51e6\u7406\u4e2d\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff1a {0}, \u30c1\u30e3\u30f3\u30af\: {1}
|
AbstractFileChunk.index.exception.msg=\u30d5\u30a1\u30a4\u30eb\u30b9\u30c8\u30ea\u30f3\u30b0\u30c1\u30e3\u30f3\u30af\u306e\u51e6\u7406\u4e2d\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff1a {0}, \u30c1\u30e3\u30f3\u30af\: {1}
|
||||||
AbstractFileStringContentStream.getSize.exception.msg=\u30b9\u30c8\u30ea\u30f3\u30b0\u5168\u4f53\u304c\u5909\u63db\u3055\u308c\u306a\u3051\u308c\u3070\u3001\u5909\u63db\u3055\u308c\u305f\u30b9\u30c8\u30ea\u30f3\u30b0\u5185\u306e\u30ad\u30e3\u30e9\u30af\u30bf\u30fc\u6570\u306f\u4e0d\u660e\u3067\u3059\u3002
|
AbstractFileStringContentStream.getSize.exception.msg=\u30b9\u30c8\u30ea\u30f3\u30b0\u5168\u4f53\u304c\u5909\u63db\u3055\u308c\u306a\u3051\u308c\u3070\u3001\u5909\u63db\u3055\u308c\u305f\u30b9\u30c8\u30ea\u30f3\u30b0\u5185\u306e\u30ad\u30e3\u30e9\u30af\u30bf\u30fc\u6570\u306f\u4e0d\u660e\u3067\u3059\u3002
|
||||||
AbstractFileStringContentStream.getSrcInfo.text=\u30d5\u30a1\u30a4\u30eb\uff1a{0}
|
AbstractFileStringContentStream.getSrcInfo.text=\u30d5\u30a1\u30a4\u30eb\uff1a{0}
|
||||||
@ -255,4 +227,30 @@ KeywordSearchIngestModule.doInBackGround.cancelMsg=\uff08\u30ad\u30e3\u30f3\u30b
|
|||||||
Server.addDoc.exception.msg2=\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u30cf\u30f3\u30c9\u30e9\u30fc\u3092\u4f7f\u7528\u3057\u307e\u3057\u305f\u304c\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u4e0b\u8a18\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff1a{0}
|
Server.addDoc.exception.msg2=\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u30cf\u30f3\u30c9\u30e9\u30fc\u3092\u4f7f\u7528\u3057\u307e\u3057\u305f\u304c\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u4e0b\u8a18\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff1a{0}
|
||||||
ExtractedContentViewer.getSolrContent.txtBodyItal=<span style\=''font-style\:italic''>{0}</span>
|
ExtractedContentViewer.getSolrContent.txtBodyItal=<span style\=''font-style\:italic''>{0}</span>
|
||||||
Keyword.toString.text=Keyword'{'query\={0}, isLiteral\={1}, keywordType\={2}'}'
|
Keyword.toString.text=Keyword'{'query\={0}, isLiteral\={1}, keywordType\={2}'}'
|
||||||
|
KeywordSearchJobSettingsPanel.keywordSearchEncodings.text=-
|
||||||
|
KeywordSearchJobSettingsPanel.languagesValLabel.text=-
|
||||||
|
KeywordSearchJobSettingsPanel.encodingsLabel.text=\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\uff1a
|
||||||
|
KeywordSearchJobSettingsPanel.titleLabel.text=\u51e6\u7406\u4e2d\u306b\u6709\u52b9\u306a\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u9078\u629e\uff1a
|
||||||
|
KeywordSearchJobSettingsPanel.languagesLabel.toolTipText=\u4e0d\u660e\u306a\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u304b\u3089\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u3092\u6709\u52b9\u306b\u3057\u305f\u30b9\u30af\u30ea\u30d7\u30c8\u3002\u30a2\u30c9\u30d0\u30f3\u30b9\u8a2d\u5b9a\u304b\u3089\u5909\u66f4\u304c\u53ef\u80fd\u3067\u3059\u3002
|
||||||
|
KeywordSearchJobSettingsPanel.languagesLabel.text=\u4e0d\u660e\u306a\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u304b\u3089\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u3092\u6709\u52b9\u306b\u3057\u305f\u30b9\u30af\u30ea\u30d7\u30c8\uff1a
|
||||||
|
KeywordSearchGlobalLanguageSettingsPanel.enableUTF8Checkbox.text=UTF8\u30c6\u30ad\u30b9\u30c8\u62bd\u51fa\u306e\u6709\u52b9\u5316
|
||||||
|
KeywordSearchGlobalLanguageSettingsPanel.ingestSettingsLabel.text=\u4e0d\u660e\u306a\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u304b\u3089\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u306e\u51e6\u7406\u65b9\u6cd5\u306e\u8a2d\u5b9a\uff08\u5909\u66f4\u306f\u6b21\u56de\u306e\u51e6\u7406\u304b\u3089\u6709\u52b9\uff09\uff1a
|
||||||
|
KeywordSearchGlobalLanguageSettingsPanel.enableUTF16Checkbox.text=UTF16LE\u3068UTF16BE\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u306e\u6709\u52b9\u5316
|
||||||
|
KeywordSearchGlobalLanguageSettingsPanel.languagesLabel.text=\u6709\u52b9\u306a\u30b9\u30af\u30ea\u30d7\u30c8\uff08\u8a00\u8a9e\uff09\uff1a
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.timeRadioButton1.toolTipText=\uff12\uff10\u5206\uff08\u6700\u77ed\u306e\u51e6\u7406\u6642\u9593\uff09
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.timeRadioButton1.text=\uff12\uff10\u5206\uff08\u6700\u3082\u9045\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u6700\u77ed\u306e\u51e6\u7406\u6642\u9593\uff09
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.timeRadioButton2.toolTipText=\uff11\uff10\u5206\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u3088\u308a\u5168\u4f53\u7684\u306b\u901f\u3044\u51e6\u7406\u6642\u9593\uff09
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.timeRadioButton2.text=\uff11\uff10\u5206\uff08\u3088\u308a\u9045\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u3088\u308a\u901f\u3044\u51e6\u7406\u6642\u9593\uff09
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.frequencyLabel.text=\u51e6\u7406\u4e2d\u306e\u7d50\u679c\u66f4\u65b0\u306e\u983b\u5ea6\uff1a
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.toolTipText=Hash DB\u30b5\u30fc\u30d3\u30b9\u3092\u4e8b\u524d\u306b\u5b9f\u884c\u3059\u308b\u304b\u3001\u6b21\u56de\u306e\u51e6\u7406\u306b\u9078\u629e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.text=\u51e6\u7406\u4e2d\u306bNSRL\u306e\u30d5\u30a1\u30a4\u30eb\uff08\u65e2\u77e5\u306e\u30d5\u30a1\u30a4\u30eb\uff09\u3092\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u8ffd\u52a0\u3057\u306a\u3044
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.informationLabel.text=\u30a4\u30f3\u30d5\u30a9\u30e1\u30fc\u30b7\u30e7\u30f3
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.settingsLabel.text=\u8a2d\u5b9a
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.filesIndexedValue.text=-
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.filesIndexedLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5185\u306e\u30d5\u30a1\u30a4\u30eb\uff1a
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.chunksValLabel.text=-
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.timeRadioButton4.toolTipText=\uff11\u5206\uff08\u5168\u4f53\u7684\u306a\u51e6\u7406\u6642\u9593\u304c\u9577\u304f\u306a\u308a\u307e\u3059\uff09
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.timeRadioButton4.text_1=\uff11\u5206\uff08\u3088\u308a\u901f\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u6700\u3082\u9577\u3044\u51e6\u7406\u6642\u9593\uff09
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.chunksLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5185\u306e\u30c1\u30e3\u30f3\u30af\uff1a
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.timeRadioButton3.toolTipText=\uff15\u5206\uff08\u5168\u4f53\u7684\u306a\u51e6\u7406\u6642\u9593\u304c\u9577\u304f\u306a\u308a\u307e\u3059\uff09
|
||||||
|
KeywordSearchGlobalSearchSettingsPanel.timeRadioButton3.text=\uff15\u5206\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\uff09
|
||||||
|
@ -1,101 +0,0 @@
|
|||||||
/*
|
|
||||||
* Autopsy Forensic Browser
|
|
||||||
*
|
|
||||||
* Copyright 2014 Basis Technology Corp.
|
|
||||||
* Contact: carrier <at> sleuthkit <dot> org
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
package org.sleuthkit.autopsy.keywordsearch;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Keeps track, by name, of the keyword lists to be used for file ingest.
|
|
||||||
*/
|
|
||||||
// Note: This is a first step towards a keyword lists manager; it consists of
|
|
||||||
// the portion of the keyword list management code that resided in the keyword
|
|
||||||
// search file ingest module.
|
|
||||||
final class KeywordListsManager {
|
|
||||||
|
|
||||||
private static KeywordListsManager instance = null;
|
|
||||||
private final Logger logger = Logger.getLogger(KeywordListsManager.class.getName());
|
|
||||||
private final List<String> keywordListNames = new ArrayList<>();
|
|
||||||
private final List<Keyword> keywords = new ArrayList<>();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the keyword lists manager singleton.
|
|
||||||
*/
|
|
||||||
static synchronized KeywordListsManager getInstance() {
|
|
||||||
if (null == instance) {
|
|
||||||
instance = new KeywordListsManager();
|
|
||||||
}
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
private KeywordListsManager() {
|
|
||||||
addKeywordListsForFileIngest(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the keyword lists to be used for ingest. The lists that are used
|
|
||||||
* will be the union of the lists enabled using the keyword search global
|
|
||||||
* options panel and a selection, possibly empty, of the disabled lists.
|
|
||||||
*
|
|
||||||
* @param listNames The names of disabled lists to temporarily enable
|
|
||||||
*/
|
|
||||||
synchronized void addKeywordListsForFileIngest(List<String> listNames) {
|
|
||||||
keywords.clear();
|
|
||||||
keywordListNames.clear();
|
|
||||||
|
|
||||||
StringBuilder logMessage = new StringBuilder();
|
|
||||||
KeywordSearchListsXML globalKeywordSearchOptions = KeywordSearchListsXML.getCurrent();
|
|
||||||
for (KeywordList list : globalKeywordSearchOptions.getListsL()) {
|
|
||||||
String listName = list.getName();
|
|
||||||
if ((list.getUseForIngest() == true) || (listNames != null && listNames.contains(listName))) {
|
|
||||||
keywordListNames.add(listName);
|
|
||||||
logMessage.append(listName).append(" ");
|
|
||||||
}
|
|
||||||
|
|
||||||
for (Keyword keyword : list.getKeywords()) {
|
|
||||||
if (!keywords.contains(keyword)) {
|
|
||||||
keywords.add(keyword);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
logger.log(Level.INFO, "Keyword lists for file ingest set to: {0}", logMessage.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the keyword lists to be used for ingest, by name.
|
|
||||||
*
|
|
||||||
* @return The names of the enabled keyword lists
|
|
||||||
*/
|
|
||||||
synchronized List<String> getNamesOfKeywordListsForFileIngest() {
|
|
||||||
return new ArrayList<>(keywordListNames);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Indicates whether or not there are currently keywords for which to search
|
|
||||||
* during ingest.
|
|
||||||
*
|
|
||||||
* @return True if there are no keywords specified, false otherwise
|
|
||||||
*/
|
|
||||||
synchronized boolean hasNoKeywordsForSearch() {
|
|
||||||
return (keywords.isEmpty());
|
|
||||||
}
|
|
||||||
}
|
|
@ -33,11 +33,11 @@ import org.sleuthkit.autopsy.corecomponents.AdvancedConfigurationDialog;
|
|||||||
class KeywordSearchConfigurationAction extends CallableSystemAction{
|
class KeywordSearchConfigurationAction extends CallableSystemAction{
|
||||||
|
|
||||||
private static final String ACTION_NAME = org.openide.util.NbBundle.getMessage(KeywordSearchPanel.class, "ListBundleConfig");
|
private static final String ACTION_NAME = org.openide.util.NbBundle.getMessage(KeywordSearchPanel.class, "ListBundleConfig");
|
||||||
private KeywordSearchConfigurationPanel panel;
|
private KeywordSearchGlobalSettingsPanel panel;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void performAction() {
|
public void performAction() {
|
||||||
final KeywordSearchConfigurationPanel panel = getPanel();
|
final KeywordSearchGlobalSettingsPanel panel = getPanel();
|
||||||
panel.load();
|
panel.load();
|
||||||
final AdvancedConfigurationDialog dialog = new AdvancedConfigurationDialog();
|
final AdvancedConfigurationDialog dialog = new AdvancedConfigurationDialog();
|
||||||
dialog.addApplyButtonListener(new ActionListener() {
|
dialog.addApplyButtonListener(new ActionListener() {
|
||||||
@ -60,9 +60,9 @@ class KeywordSearchConfigurationAction extends CallableSystemAction{
|
|||||||
dialog.display(panel);
|
dialog.display(panel);
|
||||||
}
|
}
|
||||||
|
|
||||||
private KeywordSearchConfigurationPanel getPanel() {
|
private KeywordSearchGlobalSettingsPanel getPanel() {
|
||||||
if(panel==null) {
|
if(panel==null) {
|
||||||
panel = new KeywordSearchConfigurationPanel();
|
panel = new KeywordSearchGlobalSettingsPanel();
|
||||||
}
|
}
|
||||||
return panel;
|
return panel;
|
||||||
}
|
}
|
||||||
|
@ -103,19 +103,18 @@
|
|||||||
<Group type="102" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<EmptySpace min="10" pref="10" max="-2" attributes="0"/>
|
<EmptySpace min="10" pref="10" max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" attributes="0">
|
<Component id="ingestMessagesCheckbox" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<Component id="exportButton" min="-2" max="-2" attributes="0"/>
|
<Component id="exportButton" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
<Component id="saveListButton" min="-2" max="-2" attributes="0"/>
|
<Component id="saveListButton" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
<Component id="deleteListButton" min="-2" max="-2" attributes="0"/>
|
<Component id="deleteListButton" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<Component id="useForIngestCheckbox" alignment="0" min="-2" max="-2" attributes="0"/>
|
|
||||||
<Component id="ingestMessagesCheckbox" alignment="0" min="-2" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
<EmptySpace min="0" pref="44" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
@ -147,17 +146,15 @@
|
|||||||
<Component id="listOptionsSeparator" min="-2" pref="6" max="-2" attributes="0"/>
|
<Component id="listOptionsSeparator" min="-2" pref="6" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace min="-2" pref="7" max="-2" attributes="0"/>
|
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||||
<Component id="useForIngestCheckbox" min="-2" max="-2" attributes="0"/>
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="ingestMessagesCheckbox" min="-2" max="-2" attributes="0"/>
|
<Component id="ingestMessagesCheckbox" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="32767" attributes="0"/>
|
<EmptySpace pref="13" max="32767" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="3" attributes="0">
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
<Component id="exportButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="exportButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="saveListButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="saveListButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="deleteListButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="deleteListButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace min="-2" pref="42" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
@ -190,16 +187,6 @@
|
|||||||
</Component>
|
</Component>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
</Container>
|
</Container>
|
||||||
<Component class="javax.swing.JCheckBox" name="useForIngestCheckbox">
|
|
||||||
<Properties>
|
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchEditListPanel.useForIngestCheckbox.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="useForIngestCheckboxActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</Component>
|
|
||||||
<Container class="javax.swing.JPanel" name="addKeywordPanel">
|
<Container class="javax.swing.JPanel" name="addKeywordPanel">
|
||||||
|
|
||||||
<Layout>
|
<Layout>
|
||||||
@ -265,9 +252,6 @@
|
|||||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchEditListPanel.chRegex.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchEditListPanel.chRegex.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="chRegexActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JButton" name="deleteWordButton">
|
<Component class="javax.swing.JButton" name="deleteWordButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
|
@ -16,10 +16,8 @@
|
|||||||
* 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.keywordsearch;
|
package org.sleuthkit.autopsy.keywordsearch;
|
||||||
|
|
||||||
import java.awt.Component;
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.beans.PropertyChangeEvent;
|
import java.beans.PropertyChangeEvent;
|
||||||
@ -33,8 +31,6 @@ import org.openide.util.NbBundle;
|
|||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.regex.PatternSyntaxException;
|
import java.util.regex.PatternSyntaxException;
|
||||||
import javax.swing.DefaultListSelectionModel;
|
|
||||||
import javax.swing.JCheckBox;
|
|
||||||
import javax.swing.JFileChooser;
|
import javax.swing.JFileChooser;
|
||||||
import javax.swing.JMenuItem;
|
import javax.swing.JMenuItem;
|
||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
@ -43,33 +39,30 @@ import javax.swing.event.ListSelectionEvent;
|
|||||||
import javax.swing.event.ListSelectionListener;
|
import javax.swing.event.ListSelectionListener;
|
||||||
import javax.swing.filechooser.FileNameExtensionFilter;
|
import javax.swing.filechooser.FileNameExtensionFilter;
|
||||||
import javax.swing.table.AbstractTableModel;
|
import javax.swing.table.AbstractTableModel;
|
||||||
import javax.swing.table.TableCellRenderer;
|
|
||||||
import javax.swing.table.TableColumn;
|
import javax.swing.table.TableColumn;
|
||||||
import org.sleuthkit.autopsy.corecomponents.OptionsPanel;
|
import org.sleuthkit.autopsy.corecomponents.OptionsPanel;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestManager;
|
import org.sleuthkit.autopsy.ingest.IngestManager;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestManager.IngestEvent;
|
import org.sleuthkit.autopsy.ingest.IngestManager.IngestEvent;
|
||||||
import org.sleuthkit.datamodel.BlackboardAttribute;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* KeywordSearchEditListPanel widget to manage keywords in lists
|
* KeywordSearchEditListPanel widget to manage keywords in lists
|
||||||
*/
|
*/
|
||||||
class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelectionListener, OptionsPanel {
|
class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelectionListener, OptionsPanel {
|
||||||
|
|
||||||
private static Logger logger = Logger.getLogger(KeywordSearchEditListPanel.class.getName());
|
private static Logger logger = Logger.getLogger(KeywordSearchEditListPanel.class.getName());
|
||||||
private KeywordTableModel tableModel;
|
private KeywordTableModel tableModel;
|
||||||
private KeywordList currentKeywordList;
|
private KeywordList currentKeywordList;
|
||||||
|
|
||||||
|
|
||||||
private boolean ingestRunning;
|
private boolean ingestRunning;
|
||||||
|
|
||||||
/** Creates new form KeywordSearchEditListPanel */
|
/**
|
||||||
|
* Creates new form KeywordSearchEditListPanel
|
||||||
|
*/
|
||||||
KeywordSearchEditListPanel() {
|
KeywordSearchEditListPanel() {
|
||||||
tableModel = new KeywordTableModel();
|
tableModel = new KeywordTableModel();
|
||||||
initComponents();
|
initComponents();
|
||||||
customizeComponents();
|
customizeComponents();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void customizeComponents() {
|
private void customizeComponents() {
|
||||||
chRegex.setToolTipText(NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.customizeComponents.kwReToolTip"));
|
chRegex.setToolTipText(NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.customizeComponents.kwReToolTip"));
|
||||||
addWordButton.setToolTipText((NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.customizeComponents.addWordToolTip")));
|
addWordButton.setToolTipText((NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.customizeComponents.addWordToolTip")));
|
||||||
@ -78,17 +71,12 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
|
|||||||
saveListButton.setToolTipText(NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.customizeComponents.saveCurrentWIthNewNameToolTip"));
|
saveListButton.setToolTipText(NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.customizeComponents.saveCurrentWIthNewNameToolTip"));
|
||||||
deleteWordButton.setToolTipText(NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.customizeComponents.removeSelectedMsg"));
|
deleteWordButton.setToolTipText(NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.customizeComponents.removeSelectedMsg"));
|
||||||
|
|
||||||
//keywordTable.setAutoscrolls(true);
|
|
||||||
//keywordTable.setTableHeader(null);
|
|
||||||
keywordTable.setShowHorizontalLines(false);
|
keywordTable.setShowHorizontalLines(false);
|
||||||
keywordTable.setShowVerticalLines(false);
|
keywordTable.setShowVerticalLines(false);
|
||||||
|
|
||||||
keywordTable.getParent().setBackground(keywordTable.getBackground());
|
keywordTable.getParent().setBackground(keywordTable.getBackground());
|
||||||
|
|
||||||
//customize column witdhs
|
|
||||||
final int width = jScrollPane1.getPreferredSize().width;
|
final int width = jScrollPane1.getPreferredSize().width;
|
||||||
keywordTable.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN);
|
keywordTable.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN);
|
||||||
TableColumn column = null;
|
TableColumn column;
|
||||||
for (int i = 0; i < keywordTable.getColumnCount(); i++) {
|
for (int i = 0; i < keywordTable.getColumnCount(); i++) {
|
||||||
column = keywordTable.getColumnModel().getColumn(i);
|
column = keywordTable.getColumnModel().getColumn(i);
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
@ -103,41 +91,20 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
|
|||||||
|
|
||||||
final ListSelectionModel lsm = keywordTable.getSelectionModel();
|
final ListSelectionModel lsm = keywordTable.getSelectionModel();
|
||||||
lsm.addListSelectionListener(new ListSelectionListener() {
|
lsm.addListSelectionListener(new ListSelectionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void valueChanged(ListSelectionEvent e) {
|
public void valueChanged(ListSelectionEvent e) {
|
||||||
if (lsm.isSelectionEmpty() || currentKeywordList.isLocked()) {
|
if (lsm.isSelectionEmpty() || currentKeywordList.isLocked()) {
|
||||||
deleteWordButton.setEnabled(false);
|
deleteWordButton.setEnabled(false);
|
||||||
return;
|
|
||||||
} else {
|
} else {
|
||||||
deleteWordButton.setEnabled(true);
|
deleteWordButton.setEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
//show selector if available
|
|
||||||
DefaultListSelectionModel selModel = (DefaultListSelectionModel) e.getSource();
|
|
||||||
if (!selModel.getValueIsAdjusting()) {
|
|
||||||
List<Keyword> keywords = currentKeywordList.getKeywords();
|
|
||||||
final int minIndex = selModel.getMinSelectionIndex();
|
|
||||||
final int maxIndex = selModel.getMaxSelectionIndex();
|
|
||||||
int selected = -1;
|
|
||||||
for (int i = minIndex; i <= maxIndex; i++) {
|
|
||||||
if (selModel.isSelectedIndex(i)) {
|
|
||||||
selected = i;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
//loadDefaultKeywords();
|
|
||||||
|
|
||||||
|
|
||||||
initButtons();
|
initButtons();
|
||||||
|
|
||||||
addWordField.setComponentPopupMenu(rightClickMenu);
|
addWordField.setComponentPopupMenu(rightClickMenu);
|
||||||
ActionListener actList = new ActionListener() {
|
ActionListener actList = new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
JMenuItem jmi = (JMenuItem) e.getSource();
|
JMenuItem jmi = (JMenuItem) e.getSource();
|
||||||
@ -157,8 +124,6 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
|
|||||||
pasteMenuItem.addActionListener(actList);
|
pasteMenuItem.addActionListener(actList);
|
||||||
selectAllMenuItem.addActionListener(actList);
|
selectAllMenuItem.addActionListener(actList);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (IngestManager.getDefault().isIngestRunning()) {
|
if (IngestManager.getDefault().isIngestRunning()) {
|
||||||
initIngest(0);
|
initIngest(0);
|
||||||
} else {
|
} else {
|
||||||
@ -166,18 +131,17 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
|
|||||||
}
|
}
|
||||||
|
|
||||||
IngestManager.addPropertyChangeListener(new PropertyChangeListener() {
|
IngestManager.addPropertyChangeListener(new PropertyChangeListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void propertyChange(PropertyChangeEvent evt) {
|
public void propertyChange(PropertyChangeEvent evt) {
|
||||||
String changed = evt.getPropertyName();
|
String changed = evt.getPropertyName();
|
||||||
Object oldValue = evt.getOldValue();
|
Object oldValue = evt.getOldValue();
|
||||||
if (changed.equals(IngestEvent.COMPLETED.toString() )
|
if (changed.equals(IngestEvent.COMPLETED.toString())
|
||||||
&& ((String) oldValue).equals(KeywordSearchModuleFactory.getModuleName())) {
|
&& ((String) oldValue).equals(KeywordSearchModuleFactory.getModuleName())) {
|
||||||
initIngest(1);
|
initIngest(1);
|
||||||
} else if (changed.equals(IngestEvent.STARTED.toString() )
|
} else if (changed.equals(IngestEvent.STARTED.toString())
|
||||||
&& ((String) oldValue).equals(KeywordSearchModuleFactory.getModuleName())) {
|
&& ((String) oldValue).equals(KeywordSearchModuleFactory.getModuleName())) {
|
||||||
initIngest(0);
|
initIngest(0);
|
||||||
} else if (changed.equals(IngestEvent.STOPPED.toString() )
|
} else if (changed.equals(IngestEvent.STOPPED.toString())
|
||||||
&& ((String) oldValue).equals(KeywordSearchModuleFactory.getModuleName())) {
|
&& ((String) oldValue).equals(KeywordSearchModuleFactory.getModuleName())) {
|
||||||
initIngest(1);
|
initIngest(1);
|
||||||
}
|
}
|
||||||
@ -187,9 +151,8 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize this panel depending on whether ingest is running
|
* Initialize this panel depending on whether ingest is running
|
||||||
* @param running
|
*
|
||||||
* case 0: ingest running
|
* @param running case 0: ingest running case 1: ingest not running
|
||||||
* case 1: ingest not running
|
|
||||||
*/
|
*/
|
||||||
private void initIngest(int running) {
|
private void initIngest(int running) {
|
||||||
switch (running) {
|
switch (running) {
|
||||||
@ -204,43 +167,22 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
|
|||||||
}
|
}
|
||||||
|
|
||||||
void initButtons() {
|
void initButtons() {
|
||||||
//initialize buttons
|
|
||||||
// Certain buttons will be disabled if no list is set
|
|
||||||
boolean listSet = currentKeywordList != null;
|
boolean listSet = currentKeywordList != null;
|
||||||
// Certain buttons will be disabled if ingest is ongoing
|
|
||||||
boolean ingestOngoing = this.ingestRunning;
|
|
||||||
// Certain buttons will be disabled if ingest is ongoing on this list
|
|
||||||
boolean useForIngest = !listSet ? false : currentKeywordList.getUseForIngest();
|
|
||||||
// Certain buttons will be disabled if the list shouldn't send ingest messages
|
|
||||||
boolean sendIngestMessages = !listSet ? false : currentKeywordList.getIngestMessages();
|
|
||||||
// Certain buttons will be disabled if the selected list is locked
|
|
||||||
boolean isLocked = !listSet ? true : currentKeywordList.isLocked();
|
boolean isLocked = !listSet ? true : currentKeywordList.isLocked();
|
||||||
// Certain buttons will be disabled if no keywords are set
|
|
||||||
boolean noKeywords = !listSet ? true : currentKeywordList.getKeywords().isEmpty();
|
boolean noKeywords = !listSet ? true : currentKeywordList.getKeywords().isEmpty();
|
||||||
|
addWordButton.setEnabled(listSet && !ingestRunning && !isLocked);
|
||||||
// Certain buttons will be disabled if ingest is ongoing on this list
|
addWordField.setEnabled(listSet && !ingestRunning && !isLocked);
|
||||||
List<String> ingestLists = new ArrayList<>();
|
chRegex.setEnabled(listSet && ingestRunning && !isLocked);
|
||||||
if (ingestOngoing) {
|
|
||||||
ingestLists = KeywordListsManager.getInstance().getNamesOfKeywordListsForFileIngest();
|
|
||||||
}
|
|
||||||
boolean inIngest = !listSet ? false : ingestLists.contains(currentKeywordList.getName());
|
|
||||||
|
|
||||||
addWordButton.setEnabled(listSet && (!ingestOngoing || !inIngest) && !isLocked);
|
|
||||||
addWordField.setEnabled(listSet && (!ingestOngoing || !inIngest) && !isLocked);
|
|
||||||
chRegex.setEnabled(listSet && (!ingestOngoing || !inIngest) && !isLocked);
|
|
||||||
keywordOptionsLabel.setEnabled(addWordButton.isEnabled() || chRegex.isEnabled());
|
keywordOptionsLabel.setEnabled(addWordButton.isEnabled() || chRegex.isEnabled());
|
||||||
keywordOptionsSeparator.setEnabled(addWordButton.isEnabled() || chRegex.isEnabled());
|
keywordOptionsSeparator.setEnabled(addWordButton.isEnabled() || chRegex.isEnabled());
|
||||||
useForIngestCheckbox.setEnabled(listSet && (!ingestOngoing || !inIngest));
|
ingestMessagesCheckbox.setEnabled(listSet && !ingestRunning);
|
||||||
useForIngestCheckbox.setSelected(useForIngest);
|
ingestMessagesCheckbox.setSelected(!listSet ? false : currentKeywordList.getIngestMessages());
|
||||||
ingestMessagesCheckbox.setEnabled(useForIngestCheckbox.isEnabled() && useForIngestCheckbox.isSelected());
|
listOptionsLabel.setEnabled(ingestMessagesCheckbox.isEnabled());
|
||||||
ingestMessagesCheckbox.setSelected(sendIngestMessages);
|
listOptionsSeparator.setEnabled(ingestMessagesCheckbox.isEnabled());
|
||||||
listOptionsLabel.setEnabled(useForIngestCheckbox.isEnabled() || ingestMessagesCheckbox.isEnabled());
|
|
||||||
listOptionsSeparator.setEnabled(useForIngestCheckbox.isEnabled() || ingestMessagesCheckbox.isEnabled());
|
|
||||||
saveListButton.setEnabled(listSet);
|
saveListButton.setEnabled(listSet);
|
||||||
exportButton.setEnabled(listSet);
|
exportButton.setEnabled(listSet);
|
||||||
deleteListButton.setEnabled(listSet && (!ingestOngoing || !inIngest) && !isLocked);
|
deleteListButton.setEnabled(listSet && !ingestRunning && !isLocked);
|
||||||
deleteWordButton.setEnabled(listSet && (!ingestOngoing || !inIngest) && !isLocked);
|
deleteWordButton.setEnabled(listSet && !ingestRunning && !isLocked);
|
||||||
|
|
||||||
if (noKeywords) {
|
if (noKeywords) {
|
||||||
saveListButton.setEnabled(false);
|
saveListButton.setEnabled(false);
|
||||||
exportButton.setEnabled(false);
|
exportButton.setEnabled(false);
|
||||||
@ -251,10 +193,10 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This method is called from within the constructor to
|
/**
|
||||||
* initialize the form.
|
* This method is called from within the constructor to initialize the form.
|
||||||
* WARNING: Do NOT modify this code. The content of this method is
|
* WARNING: Do NOT modify this code. The content of this method is always
|
||||||
* always regenerated by the Form Editor.
|
* regenerated by the Form Editor.
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
@ -268,7 +210,6 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
|
|||||||
listEditorPanel = new javax.swing.JPanel();
|
listEditorPanel = new javax.swing.JPanel();
|
||||||
jScrollPane1 = new javax.swing.JScrollPane();
|
jScrollPane1 = new javax.swing.JScrollPane();
|
||||||
keywordTable = new javax.swing.JTable();
|
keywordTable = new javax.swing.JTable();
|
||||||
useForIngestCheckbox = new javax.swing.JCheckBox();
|
|
||||||
addKeywordPanel = new javax.swing.JPanel();
|
addKeywordPanel = new javax.swing.JPanel();
|
||||||
addWordButton = new javax.swing.JButton();
|
addWordButton = new javax.swing.JButton();
|
||||||
addWordField = new javax.swing.JTextField();
|
addWordField = new javax.swing.JTextField();
|
||||||
@ -308,13 +249,6 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
|
|||||||
keywordTable.getTableHeader().setReorderingAllowed(false);
|
keywordTable.getTableHeader().setReorderingAllowed(false);
|
||||||
jScrollPane1.setViewportView(keywordTable);
|
jScrollPane1.setViewportView(keywordTable);
|
||||||
|
|
||||||
useForIngestCheckbox.setText(org.openide.util.NbBundle.getMessage(KeywordSearchEditListPanel.class, "KeywordSearchEditListPanel.useForIngestCheckbox.text")); // NOI18N
|
|
||||||
useForIngestCheckbox.addActionListener(new java.awt.event.ActionListener() {
|
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
||||||
useForIngestCheckboxActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
addWordButton.setText(org.openide.util.NbBundle.getMessage(KeywordSearchEditListPanel.class, "KeywordSearchEditListPanel.addWordButton.text")); // NOI18N
|
addWordButton.setText(org.openide.util.NbBundle.getMessage(KeywordSearchEditListPanel.class, "KeywordSearchEditListPanel.addWordButton.text")); // NOI18N
|
||||||
addWordButton.addActionListener(new java.awt.event.ActionListener() {
|
addWordButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
@ -330,11 +264,6 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
|
|||||||
});
|
});
|
||||||
|
|
||||||
chRegex.setText(org.openide.util.NbBundle.getMessage(KeywordSearchEditListPanel.class, "KeywordSearchEditListPanel.chRegex.text")); // NOI18N
|
chRegex.setText(org.openide.util.NbBundle.getMessage(KeywordSearchEditListPanel.class, "KeywordSearchEditListPanel.chRegex.text")); // NOI18N
|
||||||
chRegex.addActionListener(new java.awt.event.ActionListener() {
|
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
||||||
chRegexActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
deleteWordButton.setText(org.openide.util.NbBundle.getMessage(KeywordSearchEditListPanel.class, "KeywordSearchEditListPanel.deleteWordButton.text")); // NOI18N
|
deleteWordButton.setText(org.openide.util.NbBundle.getMessage(KeywordSearchEditListPanel.class, "KeywordSearchEditListPanel.deleteWordButton.text")); // NOI18N
|
||||||
deleteWordButton.addActionListener(new java.awt.event.ActionListener() {
|
deleteWordButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
@ -427,15 +356,14 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
|
|||||||
.addGroup(listEditorPanelLayout.createSequentialGroup()
|
.addGroup(listEditorPanelLayout.createSequentialGroup()
|
||||||
.addGap(10, 10, 10)
|
.addGap(10, 10, 10)
|
||||||
.addGroup(listEditorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(listEditorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addComponent(ingestMessagesCheckbox)
|
||||||
.addGroup(listEditorPanelLayout.createSequentialGroup()
|
.addGroup(listEditorPanelLayout.createSequentialGroup()
|
||||||
.addComponent(exportButton)
|
.addComponent(exportButton)
|
||||||
.addGap(18, 18, 18)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
.addComponent(saveListButton)
|
.addComponent(saveListButton)
|
||||||
.addGap(18, 18, 18)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
.addComponent(deleteListButton))
|
.addComponent(deleteListButton)))))
|
||||||
.addComponent(useForIngestCheckbox)
|
.addGap(0, 44, Short.MAX_VALUE)))
|
||||||
.addComponent(ingestMessagesCheckbox))))
|
|
||||||
.addGap(0, 0, Short.MAX_VALUE)))
|
|
||||||
.addContainerGap())))
|
.addContainerGap())))
|
||||||
);
|
);
|
||||||
listEditorPanelLayout.setVerticalGroup(
|
listEditorPanelLayout.setVerticalGroup(
|
||||||
@ -457,16 +385,14 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
|
|||||||
.addGroup(listEditorPanelLayout.createSequentialGroup()
|
.addGroup(listEditorPanelLayout.createSequentialGroup()
|
||||||
.addGap(123, 123, 123)
|
.addGap(123, 123, 123)
|
||||||
.addComponent(listOptionsSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 6, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
.addComponent(listOptionsSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 6, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||||
.addGap(7, 7, 7)
|
.addGap(18, 18, 18)
|
||||||
.addComponent(useForIngestCheckbox)
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
||||||
.addComponent(ingestMessagesCheckbox)
|
.addComponent(ingestMessagesCheckbox)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 13, Short.MAX_VALUE)
|
||||||
.addGroup(listEditorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
.addGroup(listEditorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
.addComponent(exportButton)
|
.addComponent(exportButton)
|
||||||
.addComponent(saveListButton)
|
.addComponent(saveListButton)
|
||||||
.addComponent(deleteListButton))
|
.addComponent(deleteListButton))
|
||||||
.addContainerGap())
|
.addGap(42, 42, 42))
|
||||||
);
|
);
|
||||||
|
|
||||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||||
@ -494,7 +420,6 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//check if valid
|
//check if valid
|
||||||
boolean valid = true;
|
boolean valid = true;
|
||||||
try {
|
try {
|
||||||
@ -520,13 +445,11 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
|
|||||||
}//GEN-LAST:event_addWordButtonActionPerformed
|
}//GEN-LAST:event_addWordButtonActionPerformed
|
||||||
|
|
||||||
private void deleteWordButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteWordButtonActionPerformed
|
private void deleteWordButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteWordButtonActionPerformed
|
||||||
if (KeywordSearchUtil.displayConfirmDialog(NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.removeKwMsg")
|
if (KeywordSearchUtil.displayConfirmDialog(NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.removeKwMsg"), NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.deleteWordButtonActionPerformed.delConfirmMsg"), KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN)) {
|
||||||
, NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.deleteWordButtonActionPerformed.delConfirmMsg")
|
|
||||||
, KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN) ) {
|
|
||||||
|
|
||||||
tableModel.deleteSelected(keywordTable.getSelectedRows());
|
tableModel.deleteSelected(keywordTable.getSelectedRows());
|
||||||
KeywordSearchListsXML.getCurrent().addList(currentKeywordList);
|
KeywordSearchListsXML.getCurrent().addList(currentKeywordList);
|
||||||
initButtons();
|
initButtons();
|
||||||
}
|
}
|
||||||
}//GEN-LAST:event_deleteWordButtonActionPerformed
|
}//GEN-LAST:event_deleteWordButtonActionPerformed
|
||||||
|
|
||||||
@ -564,16 +487,15 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
|
|||||||
if (selFile.exists()) {
|
if (selFile.exists()) {
|
||||||
shouldWrite = KeywordSearchUtil.displayConfirmDialog(FEATURE_NAME,
|
shouldWrite = KeywordSearchUtil.displayConfirmDialog(FEATURE_NAME,
|
||||||
NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.exportButtonActionPerformed.fileExistPrompt",
|
NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.exportButtonActionPerformed.fileExistPrompt",
|
||||||
selFile.getName()), KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN);
|
selFile.getName()), KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN);
|
||||||
}
|
}
|
||||||
if (!shouldWrite) {
|
if (!shouldWrite) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
KeywordSearchListsXML reader = KeywordSearchListsXML.getCurrent();
|
KeywordSearchListsXML reader = KeywordSearchListsXML.getCurrent();
|
||||||
|
|
||||||
List<KeywordList> toWrite = new ArrayList<KeywordList>();
|
List<KeywordList> toWrite = new ArrayList<>();
|
||||||
toWrite.add(reader.getList(currentKeywordList.getName()));
|
toWrite.add(reader.getList(currentKeywordList.getName()));
|
||||||
final KeywordSearchListsXML exporter = new KeywordSearchListsXML(fileAbs);
|
final KeywordSearchListsXML exporter = new KeywordSearchListsXML(fileAbs);
|
||||||
boolean written = exporter.saveLists(toWrite);
|
boolean written = exporter.saveLists(toWrite);
|
||||||
@ -585,22 +507,11 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
|
|||||||
}
|
}
|
||||||
}//GEN-LAST:event_exportButtonActionPerformed
|
}//GEN-LAST:event_exportButtonActionPerformed
|
||||||
|
|
||||||
private void chRegexActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chRegexActionPerformed
|
|
||||||
}//GEN-LAST:event_chRegexActionPerformed
|
|
||||||
|
|
||||||
private void useForIngestCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_useForIngestCheckboxActionPerformed
|
|
||||||
ingestMessagesCheckbox.setEnabled(useForIngestCheckbox.isSelected());
|
|
||||||
currentKeywordList.setUseForIngest(useForIngestCheckbox.isSelected());
|
|
||||||
KeywordSearchListsXML updater = KeywordSearchListsXML.getCurrent();
|
|
||||||
updater.addList(currentKeywordList);
|
|
||||||
}//GEN-LAST:event_useForIngestCheckboxActionPerformed
|
|
||||||
|
|
||||||
private void ingestMessagesCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ingestMessagesCheckboxActionPerformed
|
private void ingestMessagesCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ingestMessagesCheckboxActionPerformed
|
||||||
currentKeywordList.setIngestMessages(ingestMessagesCheckbox.isSelected());
|
currentKeywordList.setIngestMessages(ingestMessagesCheckbox.isSelected());
|
||||||
KeywordSearchListsXML updater = KeywordSearchListsXML.getCurrent();
|
KeywordSearchListsXML updater = KeywordSearchListsXML.getCurrent();
|
||||||
updater.addList(currentKeywordList);
|
updater.addList(currentKeywordList);
|
||||||
}//GEN-LAST:event_ingestMessagesCheckboxActionPerformed
|
}//GEN-LAST:event_ingestMessagesCheckboxActionPerformed
|
||||||
|
|
||||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
private javax.swing.JPanel addKeywordPanel;
|
private javax.swing.JPanel addKeywordPanel;
|
||||||
private javax.swing.JButton addWordButton;
|
private javax.swing.JButton addWordButton;
|
||||||
@ -624,7 +535,6 @@ private void useForIngestCheckboxActionPerformed(java.awt.event.ActionEvent evt)
|
|||||||
private javax.swing.JPopupMenu rightClickMenu;
|
private javax.swing.JPopupMenu rightClickMenu;
|
||||||
private javax.swing.JButton saveListButton;
|
private javax.swing.JButton saveListButton;
|
||||||
private javax.swing.JMenuItem selectAllMenuItem;
|
private javax.swing.JMenuItem selectAllMenuItem;
|
||||||
private javax.swing.JCheckBox useForIngestCheckbox;
|
|
||||||
// End of variables declaration//GEN-END:variables
|
// End of variables declaration//GEN-END:variables
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -673,9 +583,7 @@ private void useForIngestCheckboxActionPerformed(java.awt.event.ActionEvent evt)
|
|||||||
saveListButton.addActionListener(l);
|
saveListButton.addActionListener(l);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private class KeywordTableModel extends AbstractTableModel {
|
private class KeywordTableModel extends AbstractTableModel {
|
||||||
//data
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getColumnCount() {
|
public int getColumnCount() {
|
||||||
@ -708,7 +616,7 @@ private void useForIngestCheckboxActionPerformed(java.awt.event.ActionEvent evt)
|
|||||||
@Override
|
@Override
|
||||||
public Object getValueAt(int rowIndex, int columnIndex) {
|
public Object getValueAt(int rowIndex, int columnIndex) {
|
||||||
Object ret = null;
|
Object ret = null;
|
||||||
if(currentKeywordList == null) {
|
if (currentKeywordList == null) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
Keyword word = currentKeywordList.getKeywords().get(rowIndex);
|
Keyword word = currentKeywordList.getKeywords().get(rowIndex);
|
||||||
@ -720,7 +628,7 @@ private void useForIngestCheckboxActionPerformed(java.awt.event.ActionEvent evt)
|
|||||||
ret = (Object) !word.isLiteral();
|
ret = (Object) !word.isLiteral();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
logger.log(Level.SEVERE, "Invalid table column index: " + columnIndex);
|
logger.log(Level.SEVERE, "Invalid table column index: {0}", columnIndex);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
@ -741,7 +649,7 @@ private void useForIngestCheckboxActionPerformed(java.awt.event.ActionEvent evt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void addKeyword(Keyword keyword) {
|
void addKeyword(Keyword keyword) {
|
||||||
if(!currentKeywordList.hasKeyword(keyword)) {
|
if (!currentKeywordList.hasKeyword(keyword)) {
|
||||||
currentKeywordList.getKeywords().add(keyword);
|
currentKeywordList.getKeywords().add(keyword);
|
||||||
}
|
}
|
||||||
fireTableDataChanged();
|
fireTableDataChanged();
|
||||||
@ -755,37 +663,10 @@ private void useForIngestCheckboxActionPerformed(java.awt.event.ActionEvent evt)
|
|||||||
void deleteSelected(int[] selected) {
|
void deleteSelected(int[] selected) {
|
||||||
List<Keyword> words = currentKeywordList.getKeywords();
|
List<Keyword> words = currentKeywordList.getKeywords();
|
||||||
Arrays.sort(selected);
|
Arrays.sort(selected);
|
||||||
for(int arrayi = selected.length-1; arrayi >= 0; arrayi--) {
|
for (int arrayi = selected.length - 1; arrayi >= 0; arrayi--) {
|
||||||
words.remove(selected[arrayi]);
|
words.remove(selected[arrayi]);
|
||||||
}
|
}
|
||||||
resync();
|
resync();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private class CheckBoxRenderer extends JCheckBox implements TableCellRenderer {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Component getTableCellRendererComponent(
|
|
||||||
JTable table, Object value,
|
|
||||||
boolean isSelected, boolean hasFocus,
|
|
||||||
int row, int column) {
|
|
||||||
|
|
||||||
this.setHorizontalAlignment(JCheckBox.CENTER);
|
|
||||||
this.setVerticalAlignment(JCheckBox.CENTER);
|
|
||||||
|
|
||||||
Boolean selected = (Boolean) table.getModel().getValueAt(row, 1);
|
|
||||||
setSelected(selected);
|
|
||||||
if (isSelected) {
|
|
||||||
setBackground(keywordTable.getSelectionBackground());
|
|
||||||
setForeground(keywordTable.getSelectionForeground());
|
|
||||||
} else {
|
|
||||||
setBackground(keywordTable.getBackground());
|
|
||||||
setForeground(keywordTable.getForeground());
|
|
||||||
}
|
|
||||||
setEnabled(false);
|
|
||||||
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
<Component class="javax.swing.JLabel" name="languagesLabel">
|
<Component class="javax.swing.JLabel" name="languagesLabel">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel3.languagesLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalLanguageSettingsPanel.languagesLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
@ -96,7 +96,7 @@
|
|||||||
<Component class="javax.swing.JCheckBox" name="enableUTF8Checkbox">
|
<Component class="javax.swing.JCheckBox" name="enableUTF8Checkbox">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel3.enableUTF8Checkbox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalLanguageSettingsPanel.enableUTF8Checkbox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -106,7 +106,7 @@
|
|||||||
<Component class="javax.swing.JCheckBox" name="enableUTF16Checkbox">
|
<Component class="javax.swing.JCheckBox" name="enableUTF16Checkbox">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel3.enableUTF16Checkbox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalLanguageSettingsPanel.enableUTF16Checkbox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -116,7 +116,7 @@
|
|||||||
<Component class="javax.swing.JLabel" name="ingestSettingsLabel">
|
<Component class="javax.swing.JLabel" name="ingestSettingsLabel">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel3.ingestSettingsLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalLanguageSettingsPanel.ingestSettingsLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Autopsy Forensic Browser
|
* Autopsy Forensic Browser
|
||||||
*
|
*
|
||||||
* Copyright 2012 Basis Technology Corp.
|
* Copyright 2012-2014 Basis Technology Corp.
|
||||||
* Contact: carrier <at> sleuthkit <dot> org
|
* Contact: carrier <at> sleuthkit <dot> org
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -26,7 +26,6 @@ import java.util.ArrayList;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
|
||||||
import javax.swing.JCheckBox;
|
import javax.swing.JCheckBox;
|
||||||
import org.sleuthkit.autopsy.corecomponents.OptionsPanel;
|
import org.sleuthkit.autopsy.corecomponents.OptionsPanel;
|
||||||
import org.sleuthkit.autopsy.coreutils.StringExtract;
|
import org.sleuthkit.autopsy.coreutils.StringExtract;
|
||||||
@ -34,38 +33,24 @@ import org.sleuthkit.autopsy.coreutils.StringExtract.StringExtractUnicodeTable.S
|
|||||||
import org.sleuthkit.autopsy.ingest.IngestManager;
|
import org.sleuthkit.autopsy.ingest.IngestManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced configuration panel handling languages config.
|
* Child panel of the global settings panel (Languages tab).
|
||||||
*/
|
*/
|
||||||
class KeywordSearchConfigurationPanel3 extends javax.swing.JPanel implements OptionsPanel {
|
class KeywordSearchGlobalLanguageSettingsPanel extends javax.swing.JPanel implements OptionsPanel {
|
||||||
|
|
||||||
private static KeywordSearchConfigurationPanel3 instance = null;
|
private final Map<String, StringExtract.StringExtractUnicodeTable.SCRIPT> scripts = new HashMap<>();
|
||||||
private final Logger logger = Logger.getLogger(KeywordSearchConfigurationPanel3.class.getName());
|
|
||||||
private final Map<String, StringExtract.StringExtractUnicodeTable.SCRIPT> scripts = new HashMap<String, StringExtract.StringExtractUnicodeTable.SCRIPT>();
|
|
||||||
private ActionListener updateLanguagesAction;
|
private ActionListener updateLanguagesAction;
|
||||||
private List<SCRIPT> toUpdate;
|
private List<SCRIPT> toUpdate;
|
||||||
|
|
||||||
/**
|
KeywordSearchGlobalLanguageSettingsPanel() {
|
||||||
* Creates new form KeywordSearchConfigurationPanel3
|
|
||||||
*/
|
|
||||||
public KeywordSearchConfigurationPanel3() {
|
|
||||||
initComponents();
|
initComponents();
|
||||||
customizeComponents();
|
customizeComponents();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static KeywordSearchConfigurationPanel3 getDefault() {
|
|
||||||
if (instance == null) {
|
|
||||||
instance = new KeywordSearchConfigurationPanel3();
|
|
||||||
}
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void customizeComponents() {
|
private void customizeComponents() {
|
||||||
|
|
||||||
|
|
||||||
updateLanguagesAction = new ActionListener() {
|
updateLanguagesAction = new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
toUpdate = new ArrayList<SCRIPT>();
|
toUpdate = new ArrayList<>();
|
||||||
final int components = checkPanel.getComponentCount();
|
final int components = checkPanel.getComponentCount();
|
||||||
for (int i = 0; i < components; ++i) {
|
for (int i = 0; i < components; ++i) {
|
||||||
JCheckBox ch = (JCheckBox) checkPanel.getComponent(i);
|
JCheckBox ch = (JCheckBox) checkPanel.getComponent(i);
|
||||||
@ -79,7 +64,6 @@ class KeywordSearchConfigurationPanel3 extends javax.swing.JPanel implements Opt
|
|||||||
|
|
||||||
initScriptsCheckBoxes();
|
initScriptsCheckBoxes();
|
||||||
reloadScriptsCheckBoxes();
|
reloadScriptsCheckBoxes();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void activateScriptsCheckboxes(boolean activate) {
|
private void activateScriptsCheckboxes(boolean activate) {
|
||||||
@ -112,7 +96,6 @@ class KeywordSearchConfigurationPanel3 extends javax.swing.JPanel implements Opt
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void reloadScriptsCheckBoxes() {
|
private void reloadScriptsCheckBoxes() {
|
||||||
|
|
||||||
boolean utf16 =
|
boolean utf16 =
|
||||||
Boolean.parseBoolean(KeywordSearchSettings.getStringExtractOption(AbstractFileExtract.ExtractOptions.EXTRACT_UTF16.toString()));
|
Boolean.parseBoolean(KeywordSearchSettings.getStringExtractOption(AbstractFileExtract.ExtractOptions.EXTRACT_UTF16.toString()));
|
||||||
|
|
||||||
@ -132,13 +115,11 @@ class KeywordSearchConfigurationPanel3 extends javax.swing.JPanel implements Opt
|
|||||||
|
|
||||||
ch.setSelected(serviceScripts.contains(script));
|
ch.setSelected(serviceScripts.contains(script));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void activateWidgets() {
|
private void activateWidgets() {
|
||||||
reloadScriptsCheckBoxes();
|
reloadScriptsCheckBoxes();
|
||||||
|
|
||||||
|
|
||||||
boolean utf16 =
|
boolean utf16 =
|
||||||
Boolean.parseBoolean(KeywordSearchSettings.getStringExtractOption(AbstractFileExtract.ExtractOptions.EXTRACT_UTF16.toString()));
|
Boolean.parseBoolean(KeywordSearchSettings.getStringExtractOption(AbstractFileExtract.ExtractOptions.EXTRACT_UTF16.toString()));
|
||||||
|
|
||||||
@ -172,7 +153,7 @@ class KeywordSearchConfigurationPanel3 extends javax.swing.JPanel implements Opt
|
|||||||
enableUTF16Checkbox = new javax.swing.JCheckBox();
|
enableUTF16Checkbox = new javax.swing.JCheckBox();
|
||||||
ingestSettingsLabel = new javax.swing.JLabel();
|
ingestSettingsLabel = new javax.swing.JLabel();
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(languagesLabel, org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel3.class, "KeywordSearchConfigurationPanel3.languagesLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(languagesLabel, org.openide.util.NbBundle.getMessage(KeywordSearchGlobalLanguageSettingsPanel.class, "KeywordSearchGlobalLanguageSettingsPanel.languagesLabel.text")); // NOI18N
|
||||||
|
|
||||||
langPanel.setPreferredSize(new java.awt.Dimension(430, 361));
|
langPanel.setPreferredSize(new java.awt.Dimension(430, 361));
|
||||||
|
|
||||||
@ -191,21 +172,21 @@ class KeywordSearchConfigurationPanel3 extends javax.swing.JPanel implements Opt
|
|||||||
|
|
||||||
langPanel.setViewportView(checkPanel);
|
langPanel.setViewportView(checkPanel);
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(enableUTF8Checkbox, org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel3.class, "KeywordSearchConfigurationPanel3.enableUTF8Checkbox.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(enableUTF8Checkbox, org.openide.util.NbBundle.getMessage(KeywordSearchGlobalLanguageSettingsPanel.class, "KeywordSearchGlobalLanguageSettingsPanel.enableUTF8Checkbox.text")); // NOI18N
|
||||||
enableUTF8Checkbox.addActionListener(new java.awt.event.ActionListener() {
|
enableUTF8Checkbox.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
enableUTF8CheckboxActionPerformed(evt);
|
enableUTF8CheckboxActionPerformed(evt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(enableUTF16Checkbox, org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel3.class, "KeywordSearchConfigurationPanel3.enableUTF16Checkbox.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(enableUTF16Checkbox, org.openide.util.NbBundle.getMessage(KeywordSearchGlobalLanguageSettingsPanel.class, "KeywordSearchGlobalLanguageSettingsPanel.enableUTF16Checkbox.text")); // NOI18N
|
||||||
enableUTF16Checkbox.addActionListener(new java.awt.event.ActionListener() {
|
enableUTF16Checkbox.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
enableUTF16CheckboxActionPerformed(evt);
|
enableUTF16CheckboxActionPerformed(evt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(ingestSettingsLabel, org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel3.class, "KeywordSearchConfigurationPanel3.ingestSettingsLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(ingestSettingsLabel, org.openide.util.NbBundle.getMessage(KeywordSearchGlobalLanguageSettingsPanel.class, "KeywordSearchGlobalLanguageSettingsPanel.ingestSettingsLabel.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);
|
||||||
@ -277,11 +258,12 @@ class KeywordSearchConfigurationPanel3 extends javax.swing.JPanel implements Opt
|
|||||||
KeywordSearchSettings.setStringExtractScripts(toUpdate);
|
KeywordSearchSettings.setStringExtractScripts(toUpdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This is a stop-gap way of notifying the job settings panel of potential changes.
|
||||||
|
KeywordSearchListsXML.getCurrent().fireLanguagesEvent(KeywordSearchListsAbstract.LanguagesEvent.LANGUAGES_CHANGED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void load() {
|
public void load() {
|
||||||
activateWidgets();
|
activateWidgets();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -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.keywordsearch;
|
package org.sleuthkit.autopsy.keywordsearch;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
@ -24,42 +23,30 @@ import java.awt.event.ActionListener;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
|
||||||
import org.sleuthkit.autopsy.corecomponents.OptionsPanel;
|
import org.sleuthkit.autopsy.corecomponents.OptionsPanel;
|
||||||
|
|
||||||
/**
|
final class KeywordSearchGlobalListSettingsPanel extends javax.swing.JPanel implements OptionsPanel {
|
||||||
* Panel containing all other Keyword search Options panels.
|
|
||||||
*/
|
|
||||||
class KeywordSearchConfigurationPanel1 extends javax.swing.JPanel implements OptionsPanel {
|
|
||||||
|
|
||||||
KeywordSearchListsManagementPanel listsManagementPanel;
|
private final KeywordSearchListsManagementPanel listsManagementPanel = new KeywordSearchListsManagementPanel();
|
||||||
KeywordSearchEditListPanel editListPanel;
|
private final KeywordSearchEditListPanel editListPanel = new KeywordSearchEditListPanel();
|
||||||
private static final Logger logger = Logger.getLogger(KeywordSearchConfigurationPanel1.class.getName());
|
|
||||||
private static final String KEYWORD_CONFIG_NAME = org.openide.util.NbBundle.getMessage(KeywordSearchPanel.class, "ListBundleConfig");
|
|
||||||
|
|
||||||
KeywordSearchConfigurationPanel1() {
|
KeywordSearchGlobalListSettingsPanel() {
|
||||||
initComponents();
|
initComponents();
|
||||||
customizeComponents();
|
customizeComponents();
|
||||||
setName(KEYWORD_CONFIG_NAME);
|
setName(org.openide.util.NbBundle.getMessage(KeywordSearchPanel.class, "ListBundleConfig"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void customizeComponents() {
|
private void customizeComponents() {
|
||||||
listsManagementPanel = new KeywordSearchListsManagementPanel();
|
|
||||||
editListPanel = new KeywordSearchEditListPanel();
|
|
||||||
|
|
||||||
listsManagementPanel.addListSelectionListener(editListPanel);
|
listsManagementPanel.addListSelectionListener(editListPanel);
|
||||||
editListPanel.addDeleteButtonActionPerformed(new ActionListener() {
|
editListPanel.addDeleteButtonActionPerformed(new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
if (KeywordSearchUtil.displayConfirmDialog(NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel1.customizeComponents.title")
|
if (KeywordSearchUtil.displayConfirmDialog(NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel1.customizeComponents.title"), NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel1.customizeComponents.body"), KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN)) {
|
||||||
, NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel1.customizeComponents.body" )
|
|
||||||
, KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN) ) {
|
|
||||||
|
|
||||||
KeywordSearchListsXML deleter = KeywordSearchListsXML.getCurrent();
|
|
||||||
String toDelete = editListPanel.getCurrentKeywordList().getName();
|
String toDelete = editListPanel.getCurrentKeywordList().getName();
|
||||||
editListPanel.setCurrentKeywordList(null);
|
editListPanel.setCurrentKeywordList(null);
|
||||||
editListPanel.initButtons();
|
editListPanel.initButtons();
|
||||||
|
// RJCTODO: Move this into a deleteList method in the manager
|
||||||
|
KeywordSearchListsXML deleter = KeywordSearchListsXML.getCurrent();
|
||||||
deleter.deleteList(toDelete);
|
deleter.deleteList(toDelete);
|
||||||
listsManagementPanel.resync();
|
listsManagementPanel.resync();
|
||||||
}
|
}
|
||||||
@ -67,11 +54,9 @@ class KeywordSearchConfigurationPanel1 extends javax.swing.JPanel implements Opt
|
|||||||
});
|
});
|
||||||
|
|
||||||
editListPanel.addSaveButtonActionPerformed(new ActionListener() {
|
editListPanel.addSaveButtonActionPerformed(new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
final String FEATURE_NAME = "Save Keyword List";
|
final String FEATURE_NAME = "Save Keyword List";
|
||||||
KeywordSearchListsXML writer = KeywordSearchListsXML.getCurrent();
|
|
||||||
KeywordList currentKeywordList = editListPanel.getCurrentKeywordList();
|
KeywordList currentKeywordList = editListPanel.getCurrentKeywordList();
|
||||||
|
|
||||||
List<Keyword> keywords = currentKeywordList.getKeywords();
|
List<Keyword> keywords = currentKeywordList.getKeywords();
|
||||||
@ -93,6 +78,8 @@ class KeywordSearchConfigurationPanel1 extends javax.swing.JPanel implements Opt
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RJCTODO: Move chunks of this into manager
|
||||||
|
KeywordSearchListsXML writer = KeywordSearchListsXML.getCurrent();
|
||||||
if (writer.listExists(listName) && writer.getList(listName).isLocked()) {
|
if (writer.listExists(listName) && writer.getList(listName).isLocked()) {
|
||||||
KeywordSearchUtil.displayDialog(FEATURE_NAME, NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel1.customizeComponents.noOwDefaultMsg"), KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN);
|
KeywordSearchUtil.displayDialog(FEATURE_NAME, NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel1.customizeComponents.noOwDefaultMsg"), KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN);
|
||||||
return;
|
return;
|
||||||
@ -136,10 +123,10 @@ class KeywordSearchConfigurationPanel1 extends javax.swing.JPanel implements Opt
|
|||||||
listsManagementPanel.load();
|
listsManagementPanel.load();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This method is called from within the constructor to
|
/**
|
||||||
* initialize the form.
|
* This method is called from within the constructor to initialize the form.
|
||||||
* WARNING: Do NOT modify this code. The content of this method is
|
* WARNING: Do NOT modify this code. The content of this method is always
|
||||||
* always regenerated by the Form Editor.
|
* regenerated by the Form Editor.
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
@ -189,11 +176,9 @@ class KeywordSearchConfigurationPanel1 extends javax.swing.JPanel implements Opt
|
|||||||
.addComponent(mainSplitPane)
|
.addComponent(mainSplitPane)
|
||||||
);
|
);
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
private javax.swing.JPanel leftPanel;
|
private javax.swing.JPanel leftPanel;
|
||||||
private javax.swing.JSplitPane mainSplitPane;
|
private javax.swing.JSplitPane mainSplitPane;
|
||||||
private javax.swing.JPanel rightPanel;
|
private javax.swing.JPanel rightPanel;
|
||||||
// End of variables declaration//GEN-END:variables
|
// End of variables declaration//GEN-END:variables
|
||||||
|
|
||||||
}
|
}
|
@ -111,24 +111,24 @@
|
|||||||
<Component class="javax.swing.JCheckBox" name="skipNSRLCheckBox">
|
<Component class="javax.swing.JCheckBox" name="skipNSRLCheckBox">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.skipNSRLCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.skipNSRLCheckBox.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="filesIndexedLabel">
|
<Component class="javax.swing.JLabel" name="filesIndexedLabel">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.filesIndexedLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.filesIndexedLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="filesIndexedValue">
|
<Component class="javax.swing.JLabel" name="filesIndexedValue">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.filesIndexedValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.filesIndexedValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
<Dimension value="null"/>
|
<Dimension value="null"/>
|
||||||
@ -138,28 +138,28 @@
|
|||||||
<Component class="javax.swing.JLabel" name="chunksLabel">
|
<Component class="javax.swing.JLabel" name="chunksLabel">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.chunksLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.chunksLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="chunksValLabel">
|
<Component class="javax.swing.JLabel" name="chunksValLabel">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.chunksValLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.chunksValLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="settingsLabel">
|
<Component class="javax.swing.JLabel" name="settingsLabel">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.settingsLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.settingsLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="informationLabel">
|
<Component class="javax.swing.JLabel" name="informationLabel">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.informationLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.informationLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
@ -170,54 +170,54 @@
|
|||||||
<Component class="javax.swing.JLabel" name="frequencyLabel">
|
<Component class="javax.swing.JLabel" name="frequencyLabel">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.frequencyLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.frequencyLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JRadioButton" name="timeRadioButton1">
|
<Component class="javax.swing.JRadioButton" name="timeRadioButton1">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.timeRadioButton1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.timeRadioButton1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.timeRadioButton1.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.timeRadioButton1.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JRadioButton" name="timeRadioButton2">
|
<Component class="javax.swing.JRadioButton" name="timeRadioButton2">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.timeRadioButton2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.timeRadioButton2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.timeRadioButton2.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.timeRadioButton2.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JRadioButton" name="timeRadioButton3">
|
<Component class="javax.swing.JRadioButton" name="timeRadioButton3">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.timeRadioButton3.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.timeRadioButton3.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.timeRadioButton3.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.timeRadioButton3.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JRadioButton" name="timeRadioButton4">
|
<Component class="javax.swing.JRadioButton" name="timeRadioButton4">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.timeRadioButton4.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.timeRadioButton4.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.timeRadioButton4.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.timeRadioButton4.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JCheckBox" name="showSnippetsCB">
|
<Component class="javax.swing.JCheckBox" name="showSnippetsCB">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.showSnippetsCB.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchGlobalSearchSettingsPanel.showSnippetsCB.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
@ -29,14 +29,14 @@ import org.sleuthkit.autopsy.keywordsearch.KeywordSearchIngestModule.UpdateFrequ
|
|||||||
/**
|
/**
|
||||||
* General, not per list, keyword search configuration and status display widget
|
* General, not per list, keyword search configuration and status display widget
|
||||||
*/
|
*/
|
||||||
class KeywordSearchConfigurationPanel2 extends javax.swing.JPanel implements OptionsPanel {
|
class KeywordSearchGlobalSearchSettingsPanel extends javax.swing.JPanel implements OptionsPanel {
|
||||||
|
|
||||||
private final Logger logger = Logger.getLogger(KeywordSearchConfigurationPanel2.class.getName());
|
private final Logger logger = Logger.getLogger(KeywordSearchGlobalSearchSettingsPanel.class.getName());
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates new form KeywordSearchConfigurationPanel2
|
* Creates new form KeywordSearchConfigurationPanel2
|
||||||
*/
|
*/
|
||||||
KeywordSearchConfigurationPanel2() {
|
KeywordSearchGlobalSearchSettingsPanel() {
|
||||||
initComponents();
|
initComponents();
|
||||||
customizeComponents();
|
customizeComponents();
|
||||||
}
|
}
|
||||||
@ -96,37 +96,37 @@ class KeywordSearchConfigurationPanel2 extends javax.swing.JPanel implements Opt
|
|||||||
timeRadioButton4 = new javax.swing.JRadioButton();
|
timeRadioButton4 = new javax.swing.JRadioButton();
|
||||||
showSnippetsCB = new javax.swing.JCheckBox();
|
showSnippetsCB = new javax.swing.JCheckBox();
|
||||||
|
|
||||||
skipNSRLCheckBox.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.skipNSRLCheckBox.text")); // NOI18N
|
skipNSRLCheckBox.setText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.text")); // NOI18N
|
||||||
skipNSRLCheckBox.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.skipNSRLCheckBox.toolTipText")); // NOI18N
|
skipNSRLCheckBox.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.toolTipText")); // NOI18N
|
||||||
|
|
||||||
filesIndexedLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.filesIndexedLabel.text")); // NOI18N
|
filesIndexedLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.filesIndexedLabel.text")); // NOI18N
|
||||||
|
|
||||||
filesIndexedValue.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.filesIndexedValue.text")); // NOI18N
|
filesIndexedValue.setText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.filesIndexedValue.text")); // NOI18N
|
||||||
filesIndexedValue.setMaximumSize(null);
|
filesIndexedValue.setMaximumSize(null);
|
||||||
|
|
||||||
chunksLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.chunksLabel.text")); // NOI18N
|
chunksLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.chunksLabel.text")); // NOI18N
|
||||||
|
|
||||||
chunksValLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.chunksValLabel.text")); // NOI18N
|
chunksValLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.chunksValLabel.text")); // NOI18N
|
||||||
|
|
||||||
settingsLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.settingsLabel.text")); // NOI18N
|
settingsLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.settingsLabel.text")); // NOI18N
|
||||||
|
|
||||||
informationLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.informationLabel.text")); // NOI18N
|
informationLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.informationLabel.text")); // NOI18N
|
||||||
|
|
||||||
frequencyLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.frequencyLabel.text")); // NOI18N
|
frequencyLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.frequencyLabel.text")); // NOI18N
|
||||||
|
|
||||||
timeRadioButton1.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.timeRadioButton1.text")); // NOI18N
|
timeRadioButton1.setText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.timeRadioButton1.text")); // NOI18N
|
||||||
timeRadioButton1.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.timeRadioButton1.toolTipText")); // NOI18N
|
timeRadioButton1.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.timeRadioButton1.toolTipText")); // NOI18N
|
||||||
|
|
||||||
timeRadioButton2.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.timeRadioButton2.text")); // NOI18N
|
timeRadioButton2.setText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.timeRadioButton2.text")); // NOI18N
|
||||||
timeRadioButton2.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.timeRadioButton2.toolTipText")); // NOI18N
|
timeRadioButton2.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.timeRadioButton2.toolTipText")); // NOI18N
|
||||||
|
|
||||||
timeRadioButton3.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.timeRadioButton3.text")); // NOI18N
|
timeRadioButton3.setText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.timeRadioButton3.text")); // NOI18N
|
||||||
timeRadioButton3.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.timeRadioButton3.toolTipText")); // NOI18N
|
timeRadioButton3.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.timeRadioButton3.toolTipText")); // NOI18N
|
||||||
|
|
||||||
timeRadioButton4.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.timeRadioButton4.text_1")); // NOI18N
|
timeRadioButton4.setText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.timeRadioButton4.text_1")); // NOI18N
|
||||||
timeRadioButton4.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.timeRadioButton4.toolTipText")); // NOI18N
|
timeRadioButton4.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.timeRadioButton4.toolTipText")); // NOI18N
|
||||||
|
|
||||||
showSnippetsCB.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.showSnippetsCB.text")); // NOI18N
|
showSnippetsCB.setText(org.openide.util.NbBundle.getMessage(KeywordSearchGlobalSearchSettingsPanel.class, "KeywordSearchGlobalSearchSettingsPanel.showSnippetsCB.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);
|
@ -25,22 +25,22 @@ import org.sleuthkit.autopsy.ingest.IngestModuleGlobalSetttingsPanel;
|
|||||||
/**
|
/**
|
||||||
* Global options panel for keyword searching.
|
* Global options panel for keyword searching.
|
||||||
*/
|
*/
|
||||||
final class KeywordSearchConfigurationPanel extends IngestModuleGlobalSetttingsPanel implements OptionsPanel {
|
final class KeywordSearchGlobalSettingsPanel extends IngestModuleGlobalSetttingsPanel implements OptionsPanel {
|
||||||
|
|
||||||
private KeywordSearchConfigurationPanel1 listsPanel;
|
private KeywordSearchGlobalListSettingsPanel listsPanel;
|
||||||
private KeywordSearchConfigurationPanel3 languagesPanel;
|
private KeywordSearchGlobalLanguageSettingsPanel languagesPanel;
|
||||||
private KeywordSearchConfigurationPanel2 generalPanel;
|
private KeywordSearchGlobalSearchSettingsPanel generalPanel;
|
||||||
|
|
||||||
public KeywordSearchConfigurationPanel() {
|
public KeywordSearchGlobalSettingsPanel() {
|
||||||
initComponents();
|
initComponents();
|
||||||
customizeComponents();
|
customizeComponents();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void customizeComponents() {
|
private void customizeComponents() {
|
||||||
setName(NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel.customizeComponents.title"));
|
setName(NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel.customizeComponents.title"));
|
||||||
listsPanel = new KeywordSearchConfigurationPanel1();
|
listsPanel = new KeywordSearchGlobalListSettingsPanel();
|
||||||
languagesPanel = new KeywordSearchConfigurationPanel3();
|
languagesPanel = new KeywordSearchGlobalLanguageSettingsPanel();
|
||||||
generalPanel = new KeywordSearchConfigurationPanel2();
|
generalPanel = new KeywordSearchGlobalSearchSettingsPanel();
|
||||||
tabbedPane.insertTab(NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel.customizeComponents.listTabTitle"), null,
|
tabbedPane.insertTab(NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel.customizeComponents.listTabTitle"), null,
|
||||||
listsPanel, NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel.customizeComponents.listLabToolTip"), 0);
|
listsPanel, NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel.customizeComponents.listLabToolTip"), 0);
|
||||||
tabbedPane.insertTab(NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel.customizeComponents.stringExtTitle"), null,
|
tabbedPane.insertTab(NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel.customizeComponents.stringExtTitle"), null,
|
||||||
@ -63,11 +63,11 @@ final class KeywordSearchConfigurationPanel extends IngestModuleGlobalSetttingsP
|
|||||||
this.setLayout(layout);
|
this.setLayout(layout);
|
||||||
layout.setHorizontalGroup(
|
layout.setHorizontalGroup(
|
||||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addComponent(tabbedPane, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 675, Short.MAX_VALUE)
|
.addComponent(tabbedPane, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
|
||||||
);
|
);
|
||||||
layout.setVerticalGroup(
|
layout.setVerticalGroup(
|
||||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addComponent(tabbedPane, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 505, Short.MAX_VALUE)
|
.addComponent(tabbedPane, javax.swing.GroupLayout.DEFAULT_SIZE, 300, Short.MAX_VALUE)
|
||||||
);
|
);
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
@ -113,10 +113,10 @@ public final class KeywordSearchIngestModule extends IngestModuleAdapter impleme
|
|||||||
private static final Lock searcherLock = rwLock.writeLock();
|
private static final Lock searcherLock = rwLock.writeLock();
|
||||||
private volatile int messageID = 0; // RJCTODO: Despite volatile, this is not thread safe, uses increment (not atomic)
|
private volatile int messageID = 0; // RJCTODO: Despite volatile, this is not thread safe, uses increment (not atomic)
|
||||||
private boolean processedFiles;
|
private boolean processedFiles;
|
||||||
private volatile boolean finalSearcherDone = true; //mark as done, until it's inited
|
|
||||||
private SleuthkitCase caseHandle = null;
|
private SleuthkitCase caseHandle = null;
|
||||||
private static List<AbstractFileExtract> textExtractors;
|
private static List<AbstractFileExtract> textExtractors;
|
||||||
private static AbstractFileStringExtract stringExtractor;
|
private static AbstractFileStringExtract stringExtractor;
|
||||||
|
private final KeywordSearchJobSettings settings;
|
||||||
private boolean initialized = false;
|
private boolean initialized = false;
|
||||||
private Tika tikaFormatDetector;
|
private Tika tikaFormatDetector;
|
||||||
|
|
||||||
@ -131,7 +131,8 @@ public final class KeywordSearchIngestModule extends IngestModuleAdapter impleme
|
|||||||
};
|
};
|
||||||
private Map<Long, IngestStatus> ingestStatus;
|
private Map<Long, IngestStatus> ingestStatus;
|
||||||
|
|
||||||
KeywordSearchIngestModule() {
|
KeywordSearchIngestModule(KeywordSearchJobSettings settings) {
|
||||||
|
this.settings = settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -196,14 +197,20 @@ public final class KeywordSearchIngestModule extends IngestModuleAdapter impleme
|
|||||||
|
|
||||||
ingestStatus = new HashMap<>();
|
ingestStatus = new HashMap<>();
|
||||||
|
|
||||||
if (KeywordListsManager.getInstance().hasNoKeywordsForSearch()) {
|
List<KeywordList> keywordLists = KeywordSearchListsXML.getCurrent().getListsL();
|
||||||
services.postMessage(IngestMessage.createWarningMessage(++messageID, KeywordSearchModuleFactory.getModuleName(), NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.init.noKwInLstMsg"),
|
boolean hasKeywordsForSearch = false;
|
||||||
|
for (KeywordList keywordList : keywordLists) {
|
||||||
|
if (settings.isKeywordListEnabled(keywordList.getName()) && !keywordList.getKeywords().isEmpty()) {
|
||||||
|
hasKeywordsForSearch = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!hasKeywordsForSearch) {
|
||||||
|
services.postMessage(IngestMessage.createWarningMessage(++messageID, KeywordSearchModuleFactory.getModuleName(), NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.init.noKwInLstMsg"),
|
||||||
NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.init.onlyIdxKwSkipMsg")));
|
NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.init.onlyIdxKwSkipMsg")));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
processedFiles = false;
|
processedFiles = false;
|
||||||
finalSearcherDone = false;
|
|
||||||
searcherDone = true; //make sure to start the initial currentSearcher
|
searcherDone = true; //make sure to start the initial currentSearcher
|
||||||
//keeps track of all results per run not to repeat reporting the same hits
|
//keeps track of all results per run not to repeat reporting the same hits
|
||||||
currentResults = new HashMap<>();
|
currentResults = new HashMap<>();
|
||||||
@ -298,12 +305,10 @@ public final class KeywordSearchIngestModule extends IngestModuleAdapter impleme
|
|||||||
postIndexSummary();
|
postIndexSummary();
|
||||||
|
|
||||||
//run one last search as there are probably some new files committed
|
//run one last search as there are probably some new files committed
|
||||||
List<String> keywordLists = KeywordListsManager.getInstance().getNamesOfKeywordListsForFileIngest();
|
List<String> keywordLists = settings.getNamesOfEnabledKeyWordLists();
|
||||||
if (!keywordLists.isEmpty() && processedFiles == true) {
|
if (!keywordLists.isEmpty() && processedFiles == true) {
|
||||||
finalSearcher = new Searcher(keywordLists, true); //final searcher run
|
finalSearcher = new Searcher(keywordLists, true); //final searcher run
|
||||||
finalSearcher.execute();
|
finalSearcher.execute();
|
||||||
} else {
|
|
||||||
finalSearcherDone = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//log number of files / chunks in index
|
//log number of files / chunks in index
|
||||||
@ -338,7 +343,6 @@ public final class KeywordSearchIngestModule extends IngestModuleAdapter impleme
|
|||||||
searchTimer.stop();
|
searchTimer.stop();
|
||||||
}
|
}
|
||||||
runSearcher = false;
|
runSearcher = false;
|
||||||
finalSearcherDone = true;
|
|
||||||
|
|
||||||
//commit uncommited files, don't search again
|
//commit uncommited files, don't search again
|
||||||
commit();
|
commit();
|
||||||
@ -466,7 +470,7 @@ public final class KeywordSearchIngestModule extends IngestModuleAdapter impleme
|
|||||||
//in worst case, we will run search next time after commit timer goes off, or at the end of ingest
|
//in worst case, we will run search next time after commit timer goes off, or at the end of ingest
|
||||||
if (searcherDone && runSearcher) {
|
if (searcherDone && runSearcher) {
|
||||||
//start search if previous not running
|
//start search if previous not running
|
||||||
List<String> keywordLists = KeywordListsManager.getInstance().getNamesOfKeywordListsForFileIngest();
|
List<String> keywordLists = settings.getNamesOfEnabledKeyWordLists();
|
||||||
if (!keywordLists.isEmpty()) {
|
if (!keywordLists.isEmpty()) {
|
||||||
currentSearcher = new Searcher(keywordLists);
|
currentSearcher = new Searcher(keywordLists);
|
||||||
currentSearcher.execute();//searcher will stop timer and restart timer when done
|
currentSearcher.execute();//searcher will stop timer and restart timer when done
|
||||||
@ -1000,9 +1004,9 @@ public final class KeywordSearchIngestModule extends IngestModuleAdapter impleme
|
|||||||
} catch (InterruptedException | ExecutionException e) {
|
} catch (InterruptedException | ExecutionException e) {
|
||||||
logger.log(Level.SEVERE, "Error performing keyword search: " + e.getMessage());
|
logger.log(Level.SEVERE, "Error performing keyword search: " + e.getMessage());
|
||||||
services.postMessage(IngestMessage.createErrorMessage(++messageID, KeywordSearchModuleFactory.getModuleName(), "Error performing keyword search", e.getMessage()));
|
services.postMessage(IngestMessage.createErrorMessage(++messageID, KeywordSearchModuleFactory.getModuleName(), "Error performing keyword search", e.getMessage()));
|
||||||
|
} // catch and ignore if we were cancelled
|
||||||
|
catch (java.util.concurrent.CancellationException ex) {
|
||||||
}
|
}
|
||||||
// catch and ignore if we were cancelled
|
|
||||||
catch (java.util.concurrent.CancellationException ex ) { }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1047,7 +1051,6 @@ public final class KeywordSearchIngestModule extends IngestModuleAdapter impleme
|
|||||||
if (finalRun) {
|
if (finalRun) {
|
||||||
//this is the final searcher
|
//this is the final searcher
|
||||||
logger.log(Level.INFO, "The final searcher in this ingest done.");
|
logger.log(Level.INFO, "The final searcher in this ingest done.");
|
||||||
finalSearcherDone = true;
|
|
||||||
|
|
||||||
//run module cleanup
|
//run module cleanup
|
||||||
cleanup();
|
cleanup();
|
||||||
|
@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
* Autopsy Forensic Browser
|
||||||
|
*
|
||||||
|
* Copyright 2014 Basis Technology Corp.
|
||||||
|
* Contact: carrier <at> sleuthkit <dot> org *
|
||||||
|
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.sleuthkit.autopsy.keywordsearch;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Settings for a keyword search file ingest module instance.
|
||||||
|
*/
|
||||||
|
final class KeywordSearchJobSettings implements IngestModuleIngestJobSettings {
|
||||||
|
|
||||||
|
private final HashSet<String> namesOfEnabledKeywordLists = new HashSet<>();
|
||||||
|
|
||||||
|
KeywordSearchJobSettings(List<String> namesOfEnabledKeywordLists) {
|
||||||
|
for (String keywordList : namesOfEnabledKeywordLists) {
|
||||||
|
this.namesOfEnabledKeywordLists.add(keywordList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean isKeywordListEnabled(String keywordListName) {
|
||||||
|
return namesOfEnabledKeywordLists.contains(keywordListName);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> getNamesOfEnabledKeyWordLists() {
|
||||||
|
return new ArrayList<>(namesOfEnabledKeywordLists);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -105,41 +105,41 @@
|
|||||||
<Component class="javax.swing.JLabel" name="titleLabel">
|
<Component class="javax.swing.JLabel" name="titleLabel">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchIngestSimplePanel.titleLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchJobSettingsPanel.titleLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="languagesLabel">
|
<Component class="javax.swing.JLabel" name="languagesLabel">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchIngestSimplePanel.languagesLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchJobSettingsPanel.languagesLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchIngestSimplePanel.languagesLabel.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchJobSettingsPanel.languagesLabel.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="languagesValLabel">
|
<Component class="javax.swing.JLabel" name="languagesValLabel">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchIngestSimplePanel.languagesValLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchJobSettingsPanel.languagesValLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchIngestSimplePanel.languagesValLabel.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchJobSettingsPanel.languagesValLabel.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="encodingsLabel">
|
<Component class="javax.swing.JLabel" name="encodingsLabel">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchIngestSimplePanel.encodingsLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchJobSettingsPanel.encodingsLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="keywordSearchEncodings">
|
<Component class="javax.swing.JLabel" name="keywordSearchEncodings">
|
||||||
<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/keywordsearch/Bundle.properties" key="KeywordSearchIngestSimplePanel.keywordSearchEncodings.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchJobSettingsPanel.keywordSearchEncodings.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Autopsy Forensic Browser
|
* Autopsy Forensic Browser
|
||||||
*
|
*
|
||||||
* Copyright 2011 - 2014 Basis Technology Corp.
|
* Copyright 2011-2014 Basis Technology Corp.
|
||||||
* Contact: carrier <at> sleuthkit <dot> org
|
* Contact: carrier <at> sleuthkit <dot> org
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -16,45 +16,60 @@
|
|||||||
* 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.keywordsearch;
|
package org.sleuthkit.autopsy.keywordsearch;
|
||||||
|
|
||||||
|
import java.beans.PropertyChangeEvent;
|
||||||
|
import java.beans.PropertyChangeListener;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
|
||||||
import javax.swing.ListSelectionModel;
|
import javax.swing.ListSelectionModel;
|
||||||
import javax.swing.table.AbstractTableModel;
|
import javax.swing.table.AbstractTableModel;
|
||||||
import javax.swing.table.TableColumn;
|
import javax.swing.table.TableColumn;
|
||||||
import org.sleuthkit.autopsy.coreutils.StringExtract.StringExtractUnicodeTable.SCRIPT;
|
import org.sleuthkit.autopsy.coreutils.StringExtract.StringExtractUnicodeTable.SCRIPT;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings;
|
import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettingsPanel;
|
import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettingsPanel;
|
||||||
import org.sleuthkit.autopsy.ingest.NoIngestModuleSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ingest job options panel for the keyword search file ingest module.
|
* Ingest job settings panel for keyword search file ingest modules.
|
||||||
*/
|
*/
|
||||||
public class KeywordSearchIngestSimplePanel extends IngestModuleIngestJobSettingsPanel {
|
public final class KeywordSearchJobSettingsPanel extends IngestModuleIngestJobSettingsPanel implements PropertyChangeListener {
|
||||||
|
|
||||||
private final static Logger logger = Logger.getLogger(KeywordSearchIngestSimplePanel.class.getName());
|
private final KeywordListsTableModel tableModel = new KeywordListsTableModel();
|
||||||
public static final String PROP_OPTIONS = "Keyword Search_Options";
|
private final List<String> keywordListNames = new ArrayList<>();
|
||||||
private KeywordTableModel tableModel;
|
private final Map<String, Boolean> keywordListStates = new HashMap<>();
|
||||||
private List<KeywordList> lists;
|
private final KeywordSearchListsXML keywordListsManager = KeywordSearchListsXML.getCurrent();
|
||||||
|
|
||||||
KeywordSearchIngestSimplePanel() {
|
KeywordSearchJobSettingsPanel(KeywordSearchJobSettings initialSettings) {
|
||||||
tableModel = new KeywordTableModel();
|
initializeKeywordListSettings(initialSettings);
|
||||||
lists = new ArrayList<>();
|
|
||||||
reloadLists();
|
|
||||||
initComponents();
|
initComponents();
|
||||||
customizeComponents();
|
customizeComponents();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void customizeComponents() {
|
private void initializeKeywordListSettings(KeywordSearchJobSettings settings) {
|
||||||
listsTable.setModel(tableModel);
|
keywordListNames.clear();
|
||||||
|
keywordListStates.clear();
|
||||||
|
List<KeywordList> keywordLists = keywordListsManager.getListsL();
|
||||||
|
for (KeywordList list : keywordLists) {
|
||||||
|
String listName = list.getName();
|
||||||
|
keywordListNames.add(listName);
|
||||||
|
keywordListStates.put(listName, settings.isKeywordListEnabled(listName));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void customizeComponents() {
|
||||||
|
customizeKeywordListsTable();
|
||||||
|
displayLanguages();
|
||||||
|
displayEncodings();
|
||||||
|
keywordListsManager.addPropertyChangeListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void customizeKeywordListsTable() {
|
||||||
|
listsTable.setModel(tableModel);
|
||||||
listsTable.setTableHeader(null);
|
listsTable.setTableHeader(null);
|
||||||
listsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
listsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||||
//customize column witdhs
|
|
||||||
final int width = listsScrollPane.getPreferredSize().width;
|
final int width = listsScrollPane.getPreferredSize().width;
|
||||||
listsTable.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN);
|
listsTable.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN);
|
||||||
TableColumn column;
|
TableColumn column;
|
||||||
@ -66,32 +81,144 @@ public class KeywordSearchIngestSimplePanel extends IngestModuleIngestJobSetting
|
|||||||
column.setPreferredWidth(((int) (width * 0.92)));
|
column.setPreferredWidth(((int) (width * 0.92)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
reloadLangs();
|
private void displayLanguages() {
|
||||||
reloadEncodings();
|
List<SCRIPT> scripts = KeywordSearchSettings.getStringExtractScripts();
|
||||||
|
StringBuilder langs = new StringBuilder();
|
||||||
|
langs.append("<html>");
|
||||||
|
for (int i = 0; i < scripts.size(); i++) {
|
||||||
|
langs.append(scripts.get(i).toString());
|
||||||
|
if (i + 1 < scripts.size()) {
|
||||||
|
langs.append(", ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
langs.append("</html>");
|
||||||
|
String langsS = langs.toString();
|
||||||
|
this.languagesValLabel.setText(langsS);
|
||||||
|
this.languagesValLabel.setToolTipText(langsS);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void displayEncodings() {
|
||||||
|
String utf8 = KeywordSearchSettings.getStringExtractOption(AbstractFileExtract.ExtractOptions.EXTRACT_UTF8.toString());
|
||||||
|
String utf16 = KeywordSearchSettings.getStringExtractOption(AbstractFileExtract.ExtractOptions.EXTRACT_UTF16.toString());
|
||||||
|
ArrayList<String> encodingsList = new ArrayList<>();
|
||||||
|
if (utf8 == null || Boolean.parseBoolean(utf8)) {
|
||||||
|
encodingsList.add("UTF8");
|
||||||
|
}
|
||||||
|
if (utf16 == null || Boolean.parseBoolean(utf16)) {
|
||||||
|
encodingsList.add("UTF16");
|
||||||
|
}
|
||||||
|
String encodings = encodingsList.toString();
|
||||||
|
encodings = encodings.substring(1, encodings.length() - 1);
|
||||||
|
keywordSearchEncodings.setText(encodings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void propertyChange(PropertyChangeEvent event) {
|
||||||
|
if (event.getPropertyName().equals(KeywordSearchListsXML.ListsEvt.LIST_ADDED.name())
|
||||||
|
|| event.getPropertyName().equals(KeywordSearchListsXML.ListsEvt.LIST_DELETED.name())
|
||||||
|
|| event.getPropertyName().equals(KeywordSearchListsXML.ListsEvt.LIST_UPDATED.name())
|
||||||
|
|| event.getPropertyName().equals(KeywordSearchListsXML.LanguagesEvent.LANGUAGES_CHANGED.name())) {
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void update() {
|
||||||
|
updateKeywordListSettings();
|
||||||
|
displayLanguages();
|
||||||
|
displayEncodings();
|
||||||
|
tableModel.fireTableDataChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateKeywordListSettings() {
|
||||||
|
// Get the names of the current set of keyword lists.
|
||||||
|
List<KeywordList> keywordLists = keywordListsManager.getListsL();
|
||||||
|
List<String> currentListNames = new ArrayList<>();
|
||||||
|
for (KeywordList list : keywordLists) {
|
||||||
|
currentListNames.add(list.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove deleted lists from the list states map.
|
||||||
|
for (String listName : keywordListNames) {
|
||||||
|
if (!currentListNames.contains(listName)) {
|
||||||
|
keywordListStates.remove(listName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reset the names list and add any new lists to the states map.
|
||||||
|
keywordListNames.clear();
|
||||||
|
for (String currentListName : currentListNames) {
|
||||||
|
keywordListNames.add(currentListName);
|
||||||
|
if (!keywordListStates.containsKey(currentListName)) {
|
||||||
|
keywordListStates.put(currentListName, Boolean.TRUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IngestModuleIngestJobSettings getSettings() {
|
public IngestModuleIngestJobSettings getSettings() {
|
||||||
return new NoIngestModuleSettings();
|
List<String> enabledListNames = new ArrayList<>();
|
||||||
|
for (String listName : keywordListNames) {
|
||||||
|
if (keywordListStates.get(listName)) {
|
||||||
|
enabledListNames.add(listName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return new KeywordSearchJobSettings(enabledListNames);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void load() {
|
void reset(KeywordSearchJobSettings newSettings) {
|
||||||
KeywordSearchListsXML.getCurrent().reload();
|
initializeKeywordListSettings(newSettings);
|
||||||
reloadLists();
|
displayLanguages();
|
||||||
reloadLangs();
|
displayEncodings();
|
||||||
reloadEncodings();
|
|
||||||
tableModel.fireTableDataChanged();
|
tableModel.fireTableDataChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void store() {
|
private class KeywordListsTableModel extends AbstractTableModel {
|
||||||
KeywordSearchListsXML.getCurrent().save();
|
|
||||||
|
@Override
|
||||||
|
public int getRowCount() {
|
||||||
|
return KeywordSearchJobSettingsPanel.this.keywordListNames.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getColumnCount() {
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getValueAt(int rowIndex, int columnIndex) {
|
||||||
|
String listName = KeywordSearchJobSettingsPanel.this.keywordListNames.get(rowIndex);
|
||||||
|
if (columnIndex == 0) {
|
||||||
|
return keywordListStates.get(listName);
|
||||||
|
} else {
|
||||||
|
return listName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isCellEditable(int rowIndex, int columnIndex) {
|
||||||
|
return columnIndex == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
|
||||||
|
String listName = KeywordSearchJobSettingsPanel.this.keywordListNames.get(rowIndex);
|
||||||
|
if (columnIndex == 0) {
|
||||||
|
keywordListStates.put(listName, (Boolean) aValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<?> getColumnClass(int c) {
|
||||||
|
return getValueAt(0, c).getClass();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This method is called from within the constructor to
|
/**
|
||||||
* initialize the form.
|
* This method is called from within the constructor to initialize the form.
|
||||||
* WARNING: Do NOT modify this code. The content of this method is
|
* WARNING: Do NOT modify this code. The content of this method is always
|
||||||
* always regenerated by the Form Editor.
|
* regenerated by the Form Editor.
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
@ -123,17 +250,17 @@ public class KeywordSearchIngestSimplePanel extends IngestModuleIngestJobSetting
|
|||||||
listsTable.setShowVerticalLines(false);
|
listsTable.setShowVerticalLines(false);
|
||||||
listsScrollPane.setViewportView(listsTable);
|
listsScrollPane.setViewportView(listsTable);
|
||||||
|
|
||||||
titleLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchIngestSimplePanel.class, "KeywordSearchIngestSimplePanel.titleLabel.text")); // NOI18N
|
titleLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchJobSettingsPanel.class, "KeywordSearchJobSettingsPanel.titleLabel.text")); // NOI18N
|
||||||
|
|
||||||
languagesLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchIngestSimplePanel.class, "KeywordSearchIngestSimplePanel.languagesLabel.text")); // NOI18N
|
languagesLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchJobSettingsPanel.class, "KeywordSearchJobSettingsPanel.languagesLabel.text")); // NOI18N
|
||||||
languagesLabel.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchIngestSimplePanel.class, "KeywordSearchIngestSimplePanel.languagesLabel.toolTipText")); // NOI18N
|
languagesLabel.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchJobSettingsPanel.class, "KeywordSearchJobSettingsPanel.languagesLabel.toolTipText")); // NOI18N
|
||||||
|
|
||||||
languagesValLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchIngestSimplePanel.class, "KeywordSearchIngestSimplePanel.languagesValLabel.text")); // NOI18N
|
languagesValLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchJobSettingsPanel.class, "KeywordSearchJobSettingsPanel.languagesValLabel.text")); // NOI18N
|
||||||
languagesValLabel.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchIngestSimplePanel.class, "KeywordSearchIngestSimplePanel.languagesValLabel.toolTipText")); // NOI18N
|
languagesValLabel.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchJobSettingsPanel.class, "KeywordSearchJobSettingsPanel.languagesValLabel.toolTipText")); // NOI18N
|
||||||
|
|
||||||
encodingsLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchIngestSimplePanel.class, "KeywordSearchIngestSimplePanel.encodingsLabel.text")); // NOI18N
|
encodingsLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchJobSettingsPanel.class, "KeywordSearchJobSettingsPanel.encodingsLabel.text")); // NOI18N
|
||||||
|
|
||||||
keywordSearchEncodings.setText(org.openide.util.NbBundle.getMessage(KeywordSearchIngestSimplePanel.class, "KeywordSearchIngestSimplePanel.keywordSearchEncodings.text")); // NOI18N
|
keywordSearchEncodings.setText(org.openide.util.NbBundle.getMessage(KeywordSearchJobSettingsPanel.class, "KeywordSearchJobSettingsPanel.keywordSearchEncodings.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);
|
||||||
@ -165,7 +292,7 @@ public class KeywordSearchIngestSimplePanel extends IngestModuleIngestJobSetting
|
|||||||
.addGap(7, 7, 7)
|
.addGap(7, 7, 7)
|
||||||
.addComponent(titleLabel)
|
.addComponent(titleLabel)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(listsScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 135, Short.MAX_VALUE)
|
.addComponent(listsScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 62, Short.MAX_VALUE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
.addComponent(languagesLabel)
|
.addComponent(languagesLabel)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
@ -177,7 +304,6 @@ public class KeywordSearchIngestSimplePanel extends IngestModuleIngestJobSetting
|
|||||||
.addContainerGap())
|
.addContainerGap())
|
||||||
);
|
);
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
private javax.swing.JLabel encodingsLabel;
|
private javax.swing.JLabel encodingsLabel;
|
||||||
private javax.swing.JLabel keywordSearchEncodings;
|
private javax.swing.JLabel keywordSearchEncodings;
|
||||||
@ -187,84 +313,4 @@ public class KeywordSearchIngestSimplePanel extends IngestModuleIngestJobSetting
|
|||||||
private javax.swing.JTable listsTable;
|
private javax.swing.JTable listsTable;
|
||||||
private javax.swing.JLabel titleLabel;
|
private javax.swing.JLabel titleLabel;
|
||||||
// End of variables declaration//GEN-END:variables
|
// End of variables declaration//GEN-END:variables
|
||||||
|
|
||||||
private void reloadLangs() {
|
|
||||||
List<SCRIPT> scripts = KeywordSearchSettings.getStringExtractScripts();
|
|
||||||
StringBuilder langs = new StringBuilder();
|
|
||||||
langs.append("<html>");
|
|
||||||
for(int i=0; i<scripts.size(); i++) {
|
|
||||||
langs.append(scripts.get(i).toString());
|
|
||||||
if(i+1 < scripts.size()) {
|
|
||||||
langs.append(", ");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
langs.append("</html>");
|
|
||||||
String langsS = langs.toString();
|
|
||||||
this.languagesValLabel.setText(langsS);
|
|
||||||
this.languagesValLabel.setToolTipText(langsS);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void reloadEncodings() {
|
|
||||||
String utf8 = KeywordSearchSettings.getStringExtractOption(AbstractFileExtract.ExtractOptions.EXTRACT_UTF8.toString());
|
|
||||||
String utf16 = KeywordSearchSettings.getStringExtractOption(AbstractFileExtract.ExtractOptions.EXTRACT_UTF16.toString());
|
|
||||||
ArrayList<String> encodingsList = new ArrayList<>();
|
|
||||||
if(utf8==null || Boolean.parseBoolean(utf8)) {
|
|
||||||
encodingsList.add("UTF8");
|
|
||||||
}
|
|
||||||
if(utf16==null || Boolean.parseBoolean(utf16)) {
|
|
||||||
encodingsList.add("UTF16");
|
|
||||||
}
|
|
||||||
String encodings = encodingsList.toString();
|
|
||||||
encodings = encodings.substring(1, encodings.length()-1);
|
|
||||||
keywordSearchEncodings.setText(encodings);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void reloadLists() {
|
|
||||||
lists.clear();
|
|
||||||
lists.addAll(KeywordSearchListsXML.getCurrent().getListsL());
|
|
||||||
}
|
|
||||||
|
|
||||||
private class KeywordTableModel extends AbstractTableModel {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getRowCount() {
|
|
||||||
return KeywordSearchIngestSimplePanel.this.lists.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getColumnCount() {
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Object getValueAt(int rowIndex, int columnIndex) {
|
|
||||||
KeywordList list = KeywordSearchIngestSimplePanel.this.lists.get(rowIndex);
|
|
||||||
if(columnIndex == 0) {
|
|
||||||
return list.getUseForIngest();
|
|
||||||
} else {
|
|
||||||
return list.getName();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isCellEditable(int rowIndex, int columnIndex) {
|
|
||||||
return columnIndex == 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
|
|
||||||
|
|
||||||
KeywordList list = KeywordSearchIngestSimplePanel.this.lists.get(rowIndex);
|
|
||||||
if(columnIndex == 0){
|
|
||||||
KeywordSearchListsXML loader = KeywordSearchListsXML.getCurrent();
|
|
||||||
loader.addList(list.getName(), list.getKeywords(), (Boolean) aValue, false);
|
|
||||||
reloadLists();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Class<?> getColumnClass(int c) {
|
|
||||||
return getValueAt(0, c).getClass();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -27,7 +27,6 @@ import java.util.LinkedHashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import org.sleuthkit.autopsy.coreutils.PlatformUtil;
|
|
||||||
import org.sleuthkit.datamodel.BlackboardAttribute;
|
import org.sleuthkit.datamodel.BlackboardAttribute;
|
||||||
import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil;
|
import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -39,12 +38,9 @@ abstract class KeywordSearchListsAbstract {
|
|||||||
|
|
||||||
protected String filePath;
|
protected String filePath;
|
||||||
Map<String, KeywordList> theLists; //the keyword data
|
Map<String, KeywordList> theLists; //the keyword data
|
||||||
static KeywordSearchListsXML currentInstance = null;
|
|
||||||
private static final String CUR_LISTS_FILE_NAME = "keywords.xml"; // RJCTODO: This will go to the manager
|
|
||||||
private static String CUR_LISTS_FILE = PlatformUtil.getUserConfigDirectory() + File.separator + CUR_LISTS_FILE_NAME; // RJCTODO: This will go to the manager
|
|
||||||
protected static final Logger logger = Logger.getLogger(KeywordSearchListsAbstract.class.getName());
|
protected static final Logger logger = Logger.getLogger(KeywordSearchListsAbstract.class.getName());
|
||||||
PropertyChangeSupport changeSupport; // RJCTODO: This will go to the manager, if needed, no listeners right now
|
PropertyChangeSupport changeSupport;
|
||||||
protected List<String> lockedLists; // RJCTODO: This will go to the manager, if needed
|
protected List<String> lockedLists;
|
||||||
|
|
||||||
KeywordSearchListsAbstract(String filePath) {
|
KeywordSearchListsAbstract(String filePath) {
|
||||||
this.filePath = filePath;
|
this.filePath = filePath;
|
||||||
@ -53,8 +49,6 @@ abstract class KeywordSearchListsAbstract {
|
|||||||
changeSupport = new PropertyChangeSupport(this);
|
changeSupport = new PropertyChangeSupport(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// RJCTODO: There are no listeners
|
|
||||||
// RJCTODO: For manager
|
|
||||||
/**
|
/**
|
||||||
* Property change event support In events: For all of these enums, the old
|
* Property change event support In events: For all of these enums, the old
|
||||||
* value should be null, and the new value should be the keyword list name
|
* value should be null, and the new value should be the keyword list name
|
||||||
@ -65,23 +59,26 @@ abstract class KeywordSearchListsAbstract {
|
|||||||
LIST_ADDED, LIST_DELETED, LIST_UPDATED
|
LIST_ADDED, LIST_DELETED, LIST_UPDATED
|
||||||
};
|
};
|
||||||
|
|
||||||
// RJCTODO: For manager
|
enum LanguagesEvent {
|
||||||
/**
|
LANGUAGES_CHANGED, ENCODINGS_CHANGED
|
||||||
* get instance for managing the current keyword list of the application
|
}
|
||||||
*/
|
|
||||||
static KeywordSearchListsXML getCurrent() {
|
void fireLanguagesEvent(LanguagesEvent event) {
|
||||||
if (currentInstance == null) {
|
try {
|
||||||
currentInstance = new KeywordSearchListsXML(CUR_LISTS_FILE);
|
changeSupport.firePropertyChange(event.toString(), null, null);
|
||||||
currentInstance.reload();
|
} catch (Exception e) {
|
||||||
}
|
logger.log(Level.SEVERE, "KeywordSearchListsAbstract listener threw exception", e);
|
||||||
return currentInstance;
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addPropertyChangeListener(PropertyChangeListener listener) {
|
||||||
|
changeSupport.addPropertyChangeListener(listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removePropertyChangeListener(PropertyChangeListener listener) {
|
||||||
|
changeSupport.removePropertyChangeListener(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
// RJCTODO: For manager
|
|
||||||
// RJCTODO: There are no listeners
|
|
||||||
// public void addPropertyChangeListener(PropertyChangeListener listener) {
|
|
||||||
// changeSupport.addPropertyChangeListener(listener);
|
|
||||||
// }
|
|
||||||
private void prepopulateLists() {
|
private void prepopulateLists() {
|
||||||
if (!theLists.isEmpty()) {
|
if (!theLists.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
@ -126,8 +123,6 @@ abstract class KeywordSearchListsAbstract {
|
|||||||
addList(name, urls, false, false, true);
|
addList(name, urls, false, false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// RJCTODO: Manager, reader mixed
|
|
||||||
// RJCTODO: This is only called by config type stuff to affect the global list
|
|
||||||
/**
|
/**
|
||||||
* load the file or create new
|
* load the file or create new
|
||||||
*/
|
*/
|
||||||
@ -163,7 +158,6 @@ abstract class KeywordSearchListsAbstract {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// RJCTODO: Need a manager and reader version of getting lists
|
|
||||||
public List<KeywordList> getListsL() {
|
public List<KeywordList> getListsL() {
|
||||||
List<KeywordList> ret = new ArrayList<>();
|
List<KeywordList> ret = new ArrayList<>();
|
||||||
for (KeywordList list : theLists.values()) {
|
for (KeywordList list : theLists.values()) {
|
||||||
@ -172,8 +166,6 @@ abstract class KeywordSearchListsAbstract {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
// RJCTODO: Need a manager of getting lists
|
|
||||||
// RJCTODO: There is one client, KeywordSearchEditListPanel, fetching unlocked lists
|
|
||||||
public List<KeywordList> getListsL(boolean locked) {
|
public List<KeywordList> getListsL(boolean locked) {
|
||||||
List<KeywordList> ret = new ArrayList<>();
|
List<KeywordList> ret = new ArrayList<>();
|
||||||
for (KeywordList list : theLists.values()) {
|
for (KeywordList list : theLists.values()) {
|
||||||
@ -184,7 +176,6 @@ abstract class KeywordSearchListsAbstract {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
// RJCTODO: Used by KeywordSearchListsManagementPanel; for manager, since global list affected
|
|
||||||
/**
|
/**
|
||||||
* Get list names of all loaded keyword list names
|
* Get list names of all loaded keyword list names
|
||||||
*
|
*
|
||||||
@ -194,7 +185,6 @@ abstract class KeywordSearchListsAbstract {
|
|||||||
return new ArrayList<>(theLists.keySet());
|
return new ArrayList<>(theLists.keySet());
|
||||||
}
|
}
|
||||||
|
|
||||||
// RJCTODO: Used by KeywordSearchListsManagementPanel; for manager, since global list affected
|
|
||||||
/**
|
/**
|
||||||
* Get list names of all locked or unlocked loaded keyword list names
|
* Get list names of all locked or unlocked loaded keyword list names
|
||||||
*
|
*
|
||||||
@ -292,10 +282,6 @@ abstract class KeywordSearchListsAbstract {
|
|||||||
|
|
||||||
if (curList == null) {
|
if (curList == null) {
|
||||||
theLists.put(name, new KeywordList(name, now, now, useForIngest, ingestMessages, newList, locked));
|
theLists.put(name, new KeywordList(name, now, now, useForIngest, ingestMessages, newList, locked));
|
||||||
// if (!locked) {
|
|
||||||
// save();
|
|
||||||
// }
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
changeSupport.firePropertyChange(ListsEvt.LIST_ADDED.toString(), null, name);
|
changeSupport.firePropertyChange(ListsEvt.LIST_ADDED.toString(), null, name);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -304,9 +290,6 @@ abstract class KeywordSearchListsAbstract {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
theLists.put(name, new KeywordList(name, curList.getDateCreated(), now, useForIngest, ingestMessages, newList, locked));
|
theLists.put(name, new KeywordList(name, curList.getDateCreated(), now, useForIngest, ingestMessages, newList, locked));
|
||||||
// if (!locked) {
|
|
||||||
// save();
|
|
||||||
// }
|
|
||||||
replaced = true;
|
replaced = true;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -342,10 +325,8 @@ abstract class KeywordSearchListsAbstract {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
boolean saveLists(List<KeywordList> lists) {
|
boolean saveLists(List<KeywordList> lists) {
|
||||||
int oldSize = this.getNumberLists();
|
List<KeywordList> overwritten = new ArrayList<>();
|
||||||
|
List<KeywordList> newLists = new ArrayList<>();
|
||||||
List<KeywordList> overwritten = new ArrayList<KeywordList>();
|
|
||||||
List<KeywordList> newLists = new ArrayList<KeywordList>();
|
|
||||||
for (KeywordList list : lists) {
|
for (KeywordList list : lists) {
|
||||||
if (this.listExists(list.getName())) {
|
if (this.listExists(list.getName())) {
|
||||||
overwritten.add(list);
|
overwritten.add(list);
|
||||||
@ -418,9 +399,8 @@ abstract class KeywordSearchListsAbstract {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// RJCTODO: For manager
|
|
||||||
/**
|
/**
|
||||||
* delete list if exists and save new list // RJCTODO: What new list? Nothing is saved (liar!)
|
* delete list if exists and save new list
|
||||||
*
|
*
|
||||||
* @param name of list to delete
|
* @param name of list to delete
|
||||||
* @return true if deleted
|
* @return true if deleted
|
||||||
@ -432,13 +412,13 @@ abstract class KeywordSearchListsAbstract {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
changeSupport.firePropertyChange(ListsEvt.LIST_DELETED.toString(), null, name); // RJCTODO: Always fired (liar!)
|
changeSupport.firePropertyChange(ListsEvt.LIST_DELETED.toString(), null, name);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.log(Level.SEVERE, "KeywordSearchListsAbstract listener threw exception", e);
|
logger.log(Level.SEVERE, "KeywordSearchListsAbstract listener threw exception", e);
|
||||||
MessageNotifyUtil.Notify.show("Module Error", "A module caused an error listening to KeywordSearchListsAbstract updates. See log to determine which module. Some data could be incomplete.", MessageNotifyUtil.MessageType.ERROR);
|
MessageNotifyUtil.Notify.show("Module Error", "A module caused an error listening to KeywordSearchListsAbstract updates. See log to determine which module. Some data could be incomplete.", MessageNotifyUtil.MessageType.ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true; // RJCTODO: LOL, reports that it always succeeds (liar!)
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -142,7 +142,6 @@ class KeywordSearchListsViewerPanel extends AbstractKeywordSearchPerformer {
|
|||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
if (ingestRunning) {
|
if (ingestRunning) {
|
||||||
KeywordListsManager.getInstance().addKeywordListsForFileIngest(listsTableModel.getSelectedLists());
|
|
||||||
logger.log(Level.INFO, "Submitted enqueued lists to ingest");
|
logger.log(Level.INFO, "Submitted enqueued lists to ingest");
|
||||||
} else {
|
} else {
|
||||||
searchAction(e);
|
searchAction(e);
|
||||||
@ -396,8 +395,7 @@ class KeywordSearchListsViewerPanel extends AbstractKeywordSearchPerformer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isCellEditable(int rowIndex, int columnIndex) {
|
public boolean isCellEditable(int rowIndex, int columnIndex) {
|
||||||
List<String> locked = KeywordListsManager.getInstance().getNamesOfKeywordListsForFileIngest();
|
return (columnIndex == 0 && !ingestRunning);
|
||||||
return (columnIndex == 0 && (!locked.contains((String) getValueAt(rowIndex, 1))|| !ingestRunning));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -606,10 +604,7 @@ class KeywordSearchListsViewerPanel extends AbstractKeywordSearchPerformer {
|
|||||||
this.setHorizontalAlignment(JCheckBox.CENTER);
|
this.setHorizontalAlignment(JCheckBox.CENTER);
|
||||||
this.setVerticalAlignment(JCheckBox.CENTER);
|
this.setVerticalAlignment(JCheckBox.CENTER);
|
||||||
|
|
||||||
String name = (String) table.getModel().getValueAt(row, 1);
|
setEnabled(!ingestRunning);
|
||||||
List<String> currentIngest = KeywordListsManager.getInstance().getNamesOfKeywordListsForFileIngest();
|
|
||||||
boolean currentIngestUsed = currentIngest.contains(name);
|
|
||||||
setEnabled(!currentIngestUsed || !ingestRunning);
|
|
||||||
|
|
||||||
boolean selected = (Boolean) table.getModel().getValueAt(row, 0);
|
boolean selected = (Boolean) table.getModel().getValueAt(row, 0);
|
||||||
setSelected(selected);
|
setSelected(selected);
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.sleuthkit.autopsy.keywordsearch;
|
package org.sleuthkit.autopsy.keywordsearch;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
@ -29,6 +30,7 @@ import javax.xml.parsers.DocumentBuilder;
|
|||||||
import javax.xml.parsers.DocumentBuilderFactory;
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
import javax.xml.parsers.ParserConfigurationException;
|
import javax.xml.parsers.ParserConfigurationException;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
|
import org.sleuthkit.autopsy.coreutils.PlatformUtil;
|
||||||
import org.sleuthkit.autopsy.coreutils.XMLUtil;
|
import org.sleuthkit.autopsy.coreutils.XMLUtil;
|
||||||
import org.sleuthkit.datamodel.BlackboardAttribute;
|
import org.sleuthkit.datamodel.BlackboardAttribute;
|
||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
@ -39,8 +41,12 @@ import org.w3c.dom.NodeList;
|
|||||||
* Manages reading and writing of keyword lists to user settings XML file keywords.xml
|
* Manages reading and writing of keyword lists to user settings XML file keywords.xml
|
||||||
* or to any file provided in constructor
|
* or to any file provided in constructor
|
||||||
*/
|
*/
|
||||||
class KeywordSearchListsXML extends KeywordSearchListsAbstract {
|
final class KeywordSearchListsXML extends KeywordSearchListsAbstract {
|
||||||
|
|
||||||
|
private static final Logger xmlListslogger = Logger.getLogger(KeywordSearchListsXML.class.getName());
|
||||||
|
private static final String CUR_LISTS_FILE_NAME = "keywords.xml";
|
||||||
|
private static String CUR_LISTS_FILE = PlatformUtil.getUserConfigDirectory() + File.separator + CUR_LISTS_FILE_NAME;
|
||||||
|
private static final String XSDFILE = "KeywordsSchema.xsd";
|
||||||
private static final String ROOT_EL = "keyword_lists";
|
private static final String ROOT_EL = "keyword_lists";
|
||||||
private static final String LIST_EL = "keyword_list";
|
private static final String LIST_EL = "keyword_list";
|
||||||
private static final String LIST_NAME_ATTR = "name";
|
private static final String LIST_NAME_ATTR = "name";
|
||||||
@ -53,10 +59,21 @@ class KeywordSearchListsXML extends KeywordSearchListsAbstract {
|
|||||||
private static final String KEYWORD_SELECTOR_ATTR = "selector";
|
private static final String KEYWORD_SELECTOR_ATTR = "selector";
|
||||||
private static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
|
private static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
|
||||||
private static final String ENCODING = "UTF-8";
|
private static final String ENCODING = "UTF-8";
|
||||||
private static final String XSDFILE = "KeywordsSchema.xsd";
|
private static KeywordSearchListsXML currentInstance = null;
|
||||||
private static final Logger logger = Logger.getLogger(KeywordSearchListsXML.class.getName());
|
|
||||||
private DateFormat dateFormatter;
|
private DateFormat dateFormatter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* RJCTODO: Move this one to the manager
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
static KeywordSearchListsXML getCurrent() {
|
||||||
|
if (currentInstance == null) {
|
||||||
|
currentInstance = new KeywordSearchListsXML(CUR_LISTS_FILE);
|
||||||
|
currentInstance.reload();
|
||||||
|
}
|
||||||
|
return currentInstance;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor to obtain handle on other that the current keyword list
|
* Constructor to obtain handle on other that the current keyword list
|
||||||
* (such as for import or export)
|
* (such as for import or export)
|
||||||
@ -124,7 +141,7 @@ class KeywordSearchListsXML extends KeywordSearchListsAbstract {
|
|||||||
|
|
||||||
success = XMLUtil.saveDoc(KeywordSearchListsXML.class, filePath, ENCODING, doc);
|
success = XMLUtil.saveDoc(KeywordSearchListsXML.class, filePath, ENCODING, doc);
|
||||||
} catch (ParserConfigurationException e) {
|
} catch (ParserConfigurationException e) {
|
||||||
logger.log(Level.SEVERE, "Error saving keyword list: can't initialize parser.", e);
|
xmlListslogger.log(Level.SEVERE, "Error saving keyword list: can't initialize parser.", e);
|
||||||
}
|
}
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
@ -141,7 +158,7 @@ class KeywordSearchListsXML extends KeywordSearchListsAbstract {
|
|||||||
|
|
||||||
Element root = doc.getDocumentElement();
|
Element root = doc.getDocumentElement();
|
||||||
if (root == null) {
|
if (root == null) {
|
||||||
logger.log(Level.SEVERE, "Error loading keyword list: invalid file format.");
|
xmlListslogger.log(Level.SEVERE, "Error loading keyword list: invalid file format.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
@ -174,7 +191,7 @@ class KeywordSearchListsXML extends KeywordSearchListsAbstract {
|
|||||||
Date createdDate = dateFormatter.parse(created);
|
Date createdDate = dateFormatter.parse(created);
|
||||||
Date modDate = dateFormatter.parse(modified);
|
Date modDate = dateFormatter.parse(modified);
|
||||||
|
|
||||||
List<Keyword> words = new ArrayList<Keyword>();
|
List<Keyword> words = new ArrayList<>();
|
||||||
KeywordList list = new KeywordList(name, createdDate, modDate, useForIngestBool, ingestMessagesBool, words);
|
KeywordList list = new KeywordList(name, createdDate, modDate, useForIngestBool, ingestMessagesBool, words);
|
||||||
|
|
||||||
//parse all words
|
//parse all words
|
||||||
@ -197,7 +214,7 @@ class KeywordSearchListsXML extends KeywordSearchListsAbstract {
|
|||||||
}
|
}
|
||||||
} catch (ParseException e) {
|
} catch (ParseException e) {
|
||||||
//error parsing dates
|
//error parsing dates
|
||||||
logger.log(Level.SEVERE, "Error loading keyword list: can't parse dates.", e);
|
xmlListslogger.log(Level.SEVERE, "Error loading keyword list: can't parse dates.", e);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -16,9 +16,10 @@
|
|||||||
* 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.keywordsearch;
|
package org.sleuthkit.autopsy.keywordsearch;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.openide.util.lookup.ServiceProvider;
|
import org.openide.util.lookup.ServiceProvider;
|
||||||
import org.sleuthkit.autopsy.coreutils.Version;
|
import org.sleuthkit.autopsy.coreutils.Version;
|
||||||
@ -33,8 +34,11 @@ import org.sleuthkit.autopsy.ingest.IngestModuleGlobalSetttingsPanel;
|
|||||||
* An ingest module factory that creates file ingest modules that do keyword
|
* An ingest module factory that creates file ingest modules that do keyword
|
||||||
* searching.
|
* searching.
|
||||||
*/
|
*/
|
||||||
@ServiceProvider(service=IngestModuleFactory.class)
|
@ServiceProvider(service = IngestModuleFactory.class)
|
||||||
public class KeywordSearchModuleFactory extends IngestModuleFactoryAdapter {
|
public class KeywordSearchModuleFactory extends IngestModuleFactoryAdapter {
|
||||||
|
|
||||||
|
private KeywordSearchJobSettingsPanel jobSettingsPanel = null;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getModuleDisplayName() {
|
public String getModuleDisplayName() {
|
||||||
return getModuleName();
|
return getModuleName();
|
||||||
@ -54,16 +58,36 @@ public class KeywordSearchModuleFactory extends IngestModuleFactoryAdapter {
|
|||||||
return Version.getVersion();
|
return Version.getVersion();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IngestModuleIngestJobSettings getDefaultModuleSettings() {
|
||||||
|
KeywordSearchListsXML listManager = KeywordSearchListsXML.getCurrent();
|
||||||
|
List<String> enabledKeywordLists = new ArrayList<>();
|
||||||
|
List<KeywordList> keywordLists = listManager.getListsL();
|
||||||
|
for (KeywordList keywordList : keywordLists) {
|
||||||
|
// All available keyword search lists are enabled by default.
|
||||||
|
enabledKeywordLists.add(keywordList.getName());
|
||||||
|
}
|
||||||
|
return new KeywordSearchJobSettings(enabledKeywordLists);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean hasModuleSettingsPanel() {
|
public boolean hasModuleSettingsPanel() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IngestModuleIngestJobSettingsPanel getModuleSettingsPanel(IngestModuleIngestJobSettings ingestJobOptions) {
|
public IngestModuleIngestJobSettingsPanel getModuleSettingsPanel(IngestModuleIngestJobSettings settings) {
|
||||||
KeywordSearchIngestSimplePanel ingestOptionsPanel = new KeywordSearchIngestSimplePanel();
|
assert settings instanceof KeywordSearchJobSettings;
|
||||||
ingestOptionsPanel.load();
|
if (!(settings instanceof KeywordSearchJobSettings)) {
|
||||||
return ingestOptionsPanel;
|
throw new IllegalArgumentException("Expected settings argument to be instanceof KeywordSearchJobSettings");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (jobSettingsPanel == null) {
|
||||||
|
jobSettingsPanel = new KeywordSearchJobSettingsPanel((KeywordSearchJobSettings) settings);
|
||||||
|
} else {
|
||||||
|
jobSettingsPanel.reset((KeywordSearchJobSettings) settings);
|
||||||
|
}
|
||||||
|
return jobSettingsPanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -73,9 +97,9 @@ public class KeywordSearchModuleFactory extends IngestModuleFactoryAdapter {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IngestModuleGlobalSetttingsPanel getGlobalSettingsPanel() {
|
public IngestModuleGlobalSetttingsPanel getGlobalSettingsPanel() {
|
||||||
KeywordSearchConfigurationPanel globalOptionsPanel = new KeywordSearchConfigurationPanel();
|
KeywordSearchGlobalSettingsPanel globalSettingsPanel = new KeywordSearchGlobalSettingsPanel();
|
||||||
globalOptionsPanel.load();
|
globalSettingsPanel.load();
|
||||||
return globalOptionsPanel;
|
return globalSettingsPanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -84,7 +108,11 @@ public class KeywordSearchModuleFactory extends IngestModuleFactoryAdapter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FileIngestModule createFileIngestModule(IngestModuleIngestJobSettings ingestJobOptions) {
|
public FileIngestModule createFileIngestModule(IngestModuleIngestJobSettings settings) {
|
||||||
return new KeywordSearchIngestModule();
|
assert settings instanceof KeywordSearchJobSettings;
|
||||||
|
if (!(settings instanceof KeywordSearchJobSettings)) {
|
||||||
|
throw new IllegalArgumentException("Expected settings argument to be instanceof KeywordSearchJobSettings");
|
||||||
|
}
|
||||||
|
return new KeywordSearchIngestModule((KeywordSearchJobSettings) settings);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,10 +37,10 @@ import org.sleuthkit.autopsy.coreutils.Logger;
|
|||||||
keywordsCategory = "KeywordSearchOptions")
|
keywordsCategory = "KeywordSearchOptions")
|
||||||
public final class KeywordSearchOptionsPanelController extends OptionsPanelController {
|
public final class KeywordSearchOptionsPanelController extends OptionsPanelController {
|
||||||
|
|
||||||
private KeywordSearchConfigurationPanel panel;
|
private KeywordSearchGlobalSettingsPanel 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(KeywordSearchConfigurationPanel.class.getName());
|
private static final Logger logger = Logger.getLogger(KeywordSearchGlobalSettingsPanel.class.getName());
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update() {
|
public void update() {
|
||||||
@ -89,9 +89,9 @@ public final class KeywordSearchOptionsPanelController extends OptionsPanelContr
|
|||||||
pcs.removePropertyChangeListener(l);
|
pcs.removePropertyChangeListener(l);
|
||||||
}
|
}
|
||||||
|
|
||||||
private KeywordSearchConfigurationPanel getPanel() {
|
private KeywordSearchGlobalSettingsPanel getPanel() {
|
||||||
if (panel == null) {
|
if (panel == null) {
|
||||||
panel = new KeywordSearchConfigurationPanel();
|
panel = new KeywordSearchGlobalSettingsPanel();
|
||||||
}
|
}
|
||||||
return panel;
|
return panel;
|
||||||
}
|
}
|
||||||
|
@ -30,3 +30,4 @@ Timeline.propChg.confDlg.timelineOOD.msg=Timeline is out of date. Would you like
|
|||||||
Timeline.propChg.confDlg.timelineOOD.details=Select an option
|
Timeline.propChg.confDlg.timelineOOD.details=Select an option
|
||||||
Timeline.initTimeline.confDlg.genBeforeIngest.msg=You are trying to generate a timeline before ingest has been completed. The timeline may be incomplete. Do you want to continue?
|
Timeline.initTimeline.confDlg.genBeforeIngest.msg=You are trying to generate a timeline before ingest has been completed. The timeline may be incomplete. Do you want to continue?
|
||||||
Timeline.initTimeline.confDlg.genBeforeIngest.deails=Timeline
|
Timeline.initTimeline.confDlg.genBeforeIngest.deails=Timeline
|
||||||
|
TimelineProgressDialog.setName.text=Make Timeline (Beta)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
OpenIDE-Module-Display-Category=\u5916\u90E8\u30D3\u30E5\u30FC\u30A2
|
OpenIDE-Module-Display-Category=\u5916\u90E8\u30D3\u30E5\u30FC\u30A2
|
||||||
OpenIDE-Module-Long-Description=\
|
OpenIDE-Module-Long-Description=\
|
||||||
\u30E6\u30FC\u30B6\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u3092\u5E74\u3001\u6708\u3001\u65E5\u306E\u5358\u4F4D\u3092\u6301\u3064\u3001\u30A4\u30F3\u30BF\u30E9\u30AF\u30C6\u30A3\u30D6\u306A\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u30C1\u30E3\u30FC\u30C8\u3068\u3057\u3066\u8868\u793A\u3057\u307E\u3059\u3002\n\
|
\u30E6\u30FC\u30B6\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u3092\u5E74\u3001\u6708\u3001\u65E5\u306E\u5358\u4F4D\u3067\u3001\u30A4\u30F3\u30BF\u30E9\u30AF\u30C6\u30A3\u30D6\u306A\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u30C1\u30E3\u30FC\u30C8\u3068\u3057\u3066\u8868\u793A\u3057\u307E\u3059\u3002\n\
|
||||||
\u9078\u629E\u3057\u305F\u65E5\u306E\u30A4\u30D9\u30F3\u30C8\u306F\u5185\u8535\u306E\u7D50\u679C\u304A\u3088\u3073\u30B3\u30F3\u30C6\u30F3\u30C4\u30D3\u30E5\u30FC\u30A2\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002
|
\u9078\u629E\u3057\u305F\u65E5\u306E\u30A4\u30D9\u30F3\u30C8\u306F\u5185\u8535\u306E\u7D50\u679C\u304A\u3088\u3073\u30B3\u30F3\u30C6\u30F3\u30C4\u30D3\u30E5\u30FC\u30A2\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002
|
||||||
OpenIDE-Module-Name=\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3
|
OpenIDE-Module-Name=\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3
|
||||||
CTL_MakeTimeline="\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u4F5C\u6210\uFF08\u30D9\u30FC\u30BF\uFF09"
|
CTL_MakeTimeline="\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u4F5C\u6210\uFF08\u30D9\u30FC\u30BF\uFF09"
|
||||||
@ -30,3 +30,4 @@ Timeline.propChg.confDlg.timelineOOD.msg=\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u3
|
|||||||
Timeline.propChg.confDlg.timelineOOD.details=\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u9078\u629E\u3057\u3066\u4E0B\u3055\u3044
|
Timeline.propChg.confDlg.timelineOOD.details=\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u9078\u629E\u3057\u3066\u4E0B\u3055\u3044
|
||||||
Timeline.initTimeline.confDlg.genBeforeIngest.msg=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u304C\u5B8C\u4E86\u3059\u308B\u524D\u306B\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u3092\u4F5C\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307E\u3059\u3002\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u304C\u4E0D\u5B8C\u5168\u306B\u306A\u308B\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002\u7D9A\u884C\u3057\u307E\u3059\u304B\uFF1F
|
Timeline.initTimeline.confDlg.genBeforeIngest.msg=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u304C\u5B8C\u4E86\u3059\u308B\u524D\u306B\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u3092\u4F5C\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307E\u3059\u3002\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u304C\u4E0D\u5B8C\u5168\u306B\u306A\u308B\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002\u7D9A\u884C\u3057\u307E\u3059\u304B\uFF1F
|
||||||
Timeline.initTimeline.confDlg.genBeforeIngest.deails=\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3
|
Timeline.initTimeline.confDlg.genBeforeIngest.deails=\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3
|
||||||
|
TimelineProgressDialog.setName.text=\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u3092\u4F5C\u6210\uFF08\u30D9\u30FC\u30BF\uFF09
|
@ -26,6 +26,8 @@ import javax.swing.ActionMap;
|
|||||||
import javax.swing.InputMap;
|
import javax.swing.InputMap;
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
import javax.swing.KeyStroke;
|
import javax.swing.KeyStroke;
|
||||||
|
|
||||||
|
import org.openide.util.NbBundle;
|
||||||
import org.openide.windows.WindowManager;
|
import org.openide.windows.WindowManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -55,7 +57,7 @@ import org.openide.windows.WindowManager;
|
|||||||
|
|
||||||
//progressBar.setIndeterminate(true);
|
//progressBar.setIndeterminate(true);
|
||||||
|
|
||||||
setName("Make Timeline (Beta)");
|
setName(NbBundle.getMessage(this.getClass(), "TimelineProgressDialog.setName.text"));
|
||||||
|
|
||||||
// Close the dialog when Esc is pressed
|
// Close the dialog when Esc is pressed
|
||||||
String cancelName = "cancel";
|
String cancelName = "cancel";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user