mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-15 09:17:42 +00:00
Merge branch 'develop' of github.com:sleuthkit/autopsy into 1501-ja-core-mod-ios
This commit is contained in:
commit
b3af98ddc1
@ -52,7 +52,7 @@ OpenLogFolder.error1=Log File Not Found: {0}
|
|||||||
OpenLogFolder.CouldNotOpenLogFolder=Could not open log folder
|
OpenLogFolder.CouldNotOpenLogFolder=Could not open log folder
|
||||||
CTL_OpenLogFolder=Open Log Folder
|
CTL_OpenLogFolder=Open Log Folder
|
||||||
CTL_OpenOutputFolder=Open Output Folder
|
CTL_OpenOutputFolder=Open Output Folder
|
||||||
OpenOutputFolder.error1=Output Folder Not Found: {0}
|
OpenOutputFolder.error1=Output Folder Not Found\: {0}
|
||||||
OpenOutputFolder.noCaseOpen=No open case, therefore no current output folder available.
|
OpenOutputFolder.noCaseOpen=No open case, therefore no current output folder available.
|
||||||
OpenOutputFolder.CouldNotOpenOutputFolder=Could not open output folder
|
OpenOutputFolder.CouldNotOpenOutputFolder=Could not open output folder
|
||||||
ShowIngestProgressSnapshotAction.actionName.text=Get Ingest Progress Snapshot
|
ShowIngestProgressSnapshotAction.actionName.text=Get Ingest Progress Snapshot
|
||||||
|
@ -5,7 +5,7 @@ GetTagNameDialog.newTagPanel.border.title=\u65B0\u898F\u30BF\u30B0
|
|||||||
GetTagNameDialog.tagNameLabel.text=\u30BF\u30B0\u540D\uFF1A
|
GetTagNameDialog.tagNameLabel.text=\u30BF\u30B0\u540D\uFF1A
|
||||||
GetTagNameAndCommentDialog.newTagButton.text=\u65B0\u898F\u30BF\u30B0
|
GetTagNameAndCommentDialog.newTagButton.text=\u65B0\u898F\u30BF\u30B0
|
||||||
GetTagNameAndCommentDialog.okButton.text=OK
|
GetTagNameAndCommentDialog.okButton.text=OK
|
||||||
GetTagNameAndCommentDialog.commentText.toolTipText=\u30BF\u30B0\u306E\u30B3\u30E1\u30F3\u30C8\u3092\u5165\u529B\u307E\u305F\u306F\u7A7A\u6B04\u306B\u3057\u3066\u304F\u3060\u3055\u3044
|
GetTagNameAndCommentDialog.commentText.toolTipText=\u30BF\u30B0\u306E\u30AA\u30D7\u30B7\u30E7\u30CA\u30EB\u306E\u30B3\u30E1\u30F3\u30C8\u3092\u5165\u529B\u307E\u305F\u306F\u7A7A\u6B04\u306B\u3057\u3066\u304F\u3060\u3055\u3044
|
||||||
GetTagNameAndCommentDialog.commentLabel.text=\u30B3\u30E1\u30F3\u30C8\uFF1A
|
GetTagNameAndCommentDialog.commentLabel.text=\u30B3\u30E1\u30F3\u30C8\uFF1A
|
||||||
GetTagNameAndCommentDialog.cancelButton.text=\u30AD\u30E3\u30F3\u30BB\u30EB
|
GetTagNameAndCommentDialog.cancelButton.text=\u30AD\u30E3\u30F3\u30BB\u30EB
|
||||||
GetTagNameAndCommentDialog.tagCombo.toolTipText=\u4F7F\u7528\u3059\u308B\u30BF\u30B0\u3092\u9078\u629E
|
GetTagNameAndCommentDialog.tagCombo.toolTipText=\u4F7F\u7528\u3059\u308B\u30BF\u30B0\u3092\u9078\u629E
|
||||||
@ -28,7 +28,7 @@ DeleteBlackboardArtifactTagAction.unableToDelTag.msg=\u30BF\u30B0{0}\u3092\u524A
|
|||||||
DeleteBlackboardArtifactTagAction.tagDelErr=\u30BF\u30B0\u524A\u9664\u30A8\u30E9\u30FC
|
DeleteBlackboardArtifactTagAction.tagDelErr=\u30BF\u30B0\u524A\u9664\u30A8\u30E9\u30FC
|
||||||
DeleteContentTagAction.deleteTags=\u30BF\u30B0\u3092\u524A\u9664
|
DeleteContentTagAction.deleteTags=\u30BF\u30B0\u3092\u524A\u9664
|
||||||
DeleteContentTagAction.unableToDelTag.msg=\u30BF\u30B0{0}\u3092\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002
|
DeleteContentTagAction.unableToDelTag.msg=\u30BF\u30B0{0}\u3092\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002
|
||||||
DeleteContentTagAction.tagDelErr=\u30BF\u30B0\u524A\u9664\u30A8\u30E9\u30FC
|
DeleteContentTagAction.tagDelErr=\u30BF\u30B0\u306E\u524A\u9664\u30A8\u30E9\u30FC
|
||||||
GetTagNameAndCommentDialog.noTags=\u30BF\u30B0\u7121\u3057
|
GetTagNameAndCommentDialog.noTags=\u30BF\u30B0\u7121\u3057
|
||||||
GetTagNameAndCommentDialog.createTag=\u30BF\u30B0\u3092\u4F5C\u6210
|
GetTagNameAndCommentDialog.createTag=\u30BF\u30B0\u3092\u4F5C\u6210
|
||||||
GetTagNameAndCommentDialog.cancelName=\u30AD\u30E3\u30F3\u30BB\u30EB
|
GetTagNameAndCommentDialog.cancelName=\u30AD\u30E3\u30F3\u30BB\u30EB
|
||||||
@ -36,16 +36,22 @@ GetTagNameDialog.createTag=\u30BF\u30B0\u3092\u4F5C\u6210
|
|||||||
GetTagNameDialog.cancelName=\u30AD\u30E3\u30F3\u30BB\u30EB
|
GetTagNameDialog.cancelName=\u30AD\u30E3\u30F3\u30BB\u30EB
|
||||||
GetTagNameDialog.mustSupplyTtagName.msg=\u30BF\u30B0\u540D\u3092\u6307\u5B9A\u3057\u306A\u3051\u308C\u3070\u5148\u306B\u9032\u3081\u307E\u305B\u3093\u3002
|
GetTagNameDialog.mustSupplyTtagName.msg=\u30BF\u30B0\u540D\u3092\u6307\u5B9A\u3057\u306A\u3051\u308C\u3070\u5148\u306B\u9032\u3081\u307E\u305B\u3093\u3002
|
||||||
GetTagNameDialog.tagNameErr=\u30BF\u30B0\u540D
|
GetTagNameDialog.tagNameErr=\u30BF\u30B0\u540D
|
||||||
GetTagNameDialog.illegalChars.msg=\u4E0D\u6B63\u306A\u6587\u5B57\u304C\u30BF\u30B0\u540D\u306B\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u6B21\u306E\u6587\u5B57\u306F\u4F7F\u3048\u307E\u305B\u3093\uFF1A \\ \: * ? " < > |
|
GetTagNameDialog.illegalCharsErr=\u4F7F\u7528\u3067\u304D\u306A\u3044\u6587\u5B57
|
||||||
GetTagNameDialog.illegalCharsErr=\u4E0D\u6B63\u306A\u6587\u5B57
|
|
||||||
GetTagNameDialog.unableToAddTagNameToCase.msg=\u30BF\u30B0\u540D{0}\u3092\u30B1\u30FC\u30B9\u306B\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
GetTagNameDialog.unableToAddTagNameToCase.msg=\u30BF\u30B0\u540D{0}\u3092\u30B1\u30FC\u30B9\u306B\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
||||||
GetTagNameDialog.taggingErr=\u30BF\u30B0\u4ED8\u3051\u30A8\u30E9\u30FC
|
GetTagNameDialog.taggingErr=\u30BF\u30B0\u4ED8\u3051\u30A8\u30E9\u30FC
|
||||||
GetTagNameDialog.tagNameAlreadyDef.msg=\u30BF\u30B0\u540D{0}\u306F\u65E2\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059\u3002
|
GetTagNameDialog.tagNameAlreadyDef.msg=\u30BF\u30B0\u540D{0}\u306F\u65E2\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059\u3002
|
||||||
GetTagNameDialog.dupTagErr=\u91CD\u8907\u30BF\u30B0\u306E\u30A8\u30E9\u30FC
|
GetTagNameDialog.dupTagErr=\u30BF\u30B0\u306E\u91CD\u8907\u30A8\u30E9\u30FC
|
||||||
AddContentTagAction.cannotApplyTagErr=\u30BF\u30B0\u3092\u9069\u7528\u3067\u304D\u307E\u305B\u3093
|
AddContentTagAction.cannotApplyTagErr=\u30BF\u30B0\u3092\u9069\u7528\u3067\u304D\u307E\u305B\u3093
|
||||||
OpenLogFolder.error1=\u30ED\u30B0\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0}
|
OpenLogFolder.error1=\u30ED\u30B0\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0}
|
||||||
CTL_OpenLogFolder=\u30ED\u30B0\u30D5\u30A9\u30EB\u30C0\u3092\u958B\u304F
|
CTL_OpenLogFolder=\u30ED\u30B0\u30D5\u30A9\u30EB\u30C0\u3092\u958B\u304F
|
||||||
ShowIngestProgressSnapshotAction.actionName.text=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30D7\u30ED\u30B0\u30EC\u30B9\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u3092\u53D6\u5F97
|
ShowIngestProgressSnapshotAction.actionName.text=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30D7\u30ED\u30B0\u30EC\u30B9\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u3092\u53D6\u5F97
|
||||||
CTL_OpenPythonModulesFolderAction=Python\u30D7\u30E9\u30B0\u30A4\u30F3
|
CTL_OpenPythonModulesFolderAction=Python\u30D7\u30E9\u30B0\u30A4\u30F3
|
||||||
OpenPythonModulesFolderAction.actionName.text=Python\u30D7\u30E9\u30B0\u30A4\u30F3
|
OpenPythonModulesFolderAction.actionName.text=Python\u30D7\u30E9\u30B0\u30A4\u30F3
|
||||||
OpenPythonModulesFolderAction.errorMsg.folderNotFound=Python\u30D7\u30E9\u30B0\u30A4\u30F3\u30D5\u30A9\u30EB\u30C0\u30FC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0}
|
OpenPythonModulesFolderAction.errorMsg.folderNotFound=Python\u30D7\u30E9\u30B0\u30A4\u30F3\u30D5\u30A9\u30EB\u30C0\u30FC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0}
|
||||||
|
AddContentTagAction.tagExists={0}\u306F\u65E2\u306B{1}\u3068\u30BF\u30B0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u540C\u3058\u30BF\u30B0\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002
|
||||||
|
OpenLogFolder.CouldNotOpenLogFolder=\u30ED\u30B0\u30D5\u30A9\u30EB\u30C0\u30FC\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F
|
||||||
|
CTL_OpenOutputFolder=\u30A2\u30A6\u30C8\u30D7\u30C3\u30C8\u30D5\u30A9\u30EB\u30C0\u3092\u3092\u958B\u304F
|
||||||
|
OpenOutputFolder.error1=\u6B21\u306E\u30A2\u30A6\u30C8\u30D7\u30C3\u30C8\u30D5\u30A9\u30EB\u30C0\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0}
|
||||||
|
OpenOutputFolder.noCaseOpen=\u30AA\u30FC\u30D7\u30F3\u30B1\u30FC\u30B9\u304C\u306A\u3044\u306E\u3067\u3001\u4F5C\u696D\u4E2D\u306E\u30A2\u30A6\u30C8\u30D7\u30C3\u30C8\u30D5\u30A9\u30EB\u30C0\u304C\u3042\u308A\u307E\u305B\u3093\u3002
|
||||||
|
GetTagNameDialog.illegalChars.msg=\u4F7F\u7528\u3067\u304D\u306A\u3044\u6587\u5B57\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\n\u6B21\u306E\u6587\u5B57\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\uFF1A\\ \: * ? " < > |
|
||||||
|
OpenOutputFolder.CouldNotOpenOutputFolder=\u30A2\u30A6\u30C8\u30D7\u30C3\u30C8\u30D5\u30A9\u30EB\u30C0\u304C\u304C\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F
|
@ -108,11 +108,11 @@ AddImageWizardIterator.stepXofN=Step {0} of {1}
|
|||||||
AddLocalFilesTask.localFileAdd.progress.text=Adding\: {0}/{1}
|
AddLocalFilesTask.localFileAdd.progress.text=Adding\: {0}/{1}
|
||||||
Case.getCurCase.exception.noneOpen=Cannot get the current case; there is no case open\!
|
Case.getCurCase.exception.noneOpen=Cannot get the current case; there is no case open\!
|
||||||
Case.create.exception.msg=Error creating a case\: {0} in dir {1}
|
Case.create.exception.msg=Error creating a case\: {0} in dir {1}
|
||||||
Case.databaseConnectionInfo.error.msg=Error accessing case database connection info
|
Case.databaseConnectionInfo.error.msg=Error accessing database server connection info. See Tools, Options, Multi-user.
|
||||||
Case.open.exception.blankCase.msg=Case name is blank.
|
Case.open.exception.blankCase.msg=Case name is blank.
|
||||||
Case.open.msgDlg.updated.msg=Updated case database schema.\nA backup copy of the database with the following path has been made\:\n {0}
|
Case.open.msgDlg.updated.msg=Updated case database schema.\nA backup copy of the database with the following path has been made\:\n {0}
|
||||||
Case.open.msgDlg.updated.title=Case Database Schema Update
|
Case.open.msgDlg.updated.title=Case Database Schema Update
|
||||||
Case.open.exception.checkFile.msg=Check that you selected the correct case file (usually with {0} extension)
|
Case.open.exception.checkFile.msg=Case file must have {0} extension.
|
||||||
Case.open.exception.multiUserCaseNotEnabled=Cannot open a multi-user case if multi-user cases are not enabled. See Tools, Options, Multi-user.
|
Case.open.exception.multiUserCaseNotEnabled=Cannot open a multi-user case if multi-user cases are not enabled. See Tools, Options, Multi-user.
|
||||||
Case.checkImgExist.confDlg.doesntExist.msg={0} has detected that one of the images associated with \n\
|
Case.checkImgExist.confDlg.doesntExist.msg={0} has detected that one of the images associated with \n\
|
||||||
this case are missing. Would you like to search for them now?\n\
|
this case are missing. Would you like to search for them now?\n\
|
||||||
@ -139,6 +139,9 @@ Case.createCaseDir.exception.gen=Could not create case directory\: {0}
|
|||||||
Case.CollaborationSetup.FailNotify.ErrMsg=Failed to connect to any other nodes that may be collaborating on this case.
|
Case.CollaborationSetup.FailNotify.ErrMsg=Failed to connect to any other nodes that may be collaborating on this case.
|
||||||
Case.CollaborationSetup.FailNotify.Title=Connection Failure
|
Case.CollaborationSetup.FailNotify.Title=Connection Failure
|
||||||
Case.GetCaseTypeGivenPath.Failure=Unable to get case type
|
Case.GetCaseTypeGivenPath.Failure=Unable to get case type
|
||||||
|
Case.metaDataFileCorrupt.exception.msg=The case metadata file (.aut) is corrupted.
|
||||||
|
Case.deleteReports.deleteFromDiskException.log.msg=Unable to delete the report from the disk.
|
||||||
|
Case.deleteReports.deleteFromDiskException.msg=Unable to delete the report {0} from the disk.\nYou may manually delete it from {1}
|
||||||
CaseDeleteAction.closeConfMsg.text=Are you sure want to close and delete this case? \n\
|
CaseDeleteAction.closeConfMsg.text=Are you sure want to close and delete this case? \n\
|
||||||
Case Name\: {0}\n\
|
Case Name\: {0}\n\
|
||||||
Case Directory\: {1}
|
Case Directory\: {1}
|
||||||
@ -208,14 +211,11 @@ NewCaseWizardPanel1.validate.errMsg.cantCreateDir=Error\: Could not create direc
|
|||||||
NewCaseWizardPanel1.validate.errMsg.invalidBaseDir.msg=ERROR\: The Base Directory that you entered is not valid.\nPlease enter a valid Base Directory.
|
NewCaseWizardPanel1.validate.errMsg.invalidBaseDir.msg=ERROR\: The Base Directory that you entered is not valid.\nPlease enter a valid Base Directory.
|
||||||
NewCaseWizardPanel1.createDir.errMsg.cantCreateDir.msg=ERROR\: Could not create the case directory. \nPlease enter a valid Case Name and Directory.
|
NewCaseWizardPanel1.createDir.errMsg.cantCreateDir.msg=ERROR\: Could not create the case directory. \nPlease enter a valid Case Name and Directory.
|
||||||
NewCaseWizardPanel2.validate.errCreateCase.msg=Error creating case
|
NewCaseWizardPanel2.validate.errCreateCase.msg=Error creating case
|
||||||
OpenRecentCasePanel.openCase.msgDlg.caseDoesntExist.msg=Error\: Case {0} does not exist.
|
|
||||||
OpenRecentCasePanel.openCase.msgDlg.err=Error
|
|
||||||
OpenRecentCasePanel.colName.caseName=Case Name
|
OpenRecentCasePanel.colName.caseName=Case Name
|
||||||
OpenRecentCasePanel.colName.path=Path
|
OpenRecentCasePanel.colName.path=Path
|
||||||
RecentCases.exception.caseIdxOutOfRange.msg=Recent case index {0} is out of range.
|
RecentCases.exception.caseIdxOutOfRange.msg=Recent case index {0} is out of range.
|
||||||
RecentCases.getName.text=Clear Recent Cases
|
RecentCases.getName.text=Clear Recent Cases
|
||||||
RecentItems.openRecentCase.msgDlg.text=Error\: Case {0} does not exist.
|
RecentItems.openRecentCase.msgDlg.text=Case {0} no longer exists.
|
||||||
RecentItems.openRecentCase.msgDlg.err=Error
|
|
||||||
StartupWindow.title.text=Welcome
|
StartupWindow.title.text=Welcome
|
||||||
UpdateRecentCases.menuItem.clearRecentCases.text=Clear Recent Cases
|
UpdateRecentCases.menuItem.clearRecentCases.text=Clear Recent Cases
|
||||||
UpdateRecentCases.menuItem.empty=-Empty-
|
UpdateRecentCases.menuItem.empty=-Empty-
|
||||||
@ -229,7 +229,7 @@ Cannot open a non-Autopsy config file (at {1}).
|
|||||||
XMLCaseManagement.open.msgDlg.notAutCase.title=Error
|
XMLCaseManagement.open.msgDlg.notAutCase.title=Error
|
||||||
AddImageWizardIngestConfigPanel.CANCEL_BUTTON.text=Cancel
|
AddImageWizardIngestConfigPanel.CANCEL_BUTTON.text=Cancel
|
||||||
ImageFilePanel.errorLabel.text=Error Label
|
ImageFilePanel.errorLabel.text=Error Label
|
||||||
DataSourceOnCDriveError.text=Warning: Path to multi-user data source is on \"C:\" drive
|
DataSourceOnCDriveError.text=Warning\: Path to multi-user data source is on "C\:" drive
|
||||||
NewCaseVisualPanel1.CaseFolderOnCDriveError.text=Warning: Path to multi-user case folder is on \"C:\" drive
|
NewCaseVisualPanel1.CaseFolderOnCDriveError.text=Warning: Path to multi-user case folder is on \"C:\" drive
|
||||||
LocalFilesPanel.errorLabel.text=Error Label
|
LocalFilesPanel.errorLabel.text=Error Label
|
||||||
CollaborationMonitor.addingDataSourceStatus.msg={0} adding data source
|
CollaborationMonitor.addingDataSourceStatus.msg={0} adding data source
|
||||||
@ -240,17 +240,14 @@ NewCaseVisualPanel1.caseParentDirWarningLabel.text=
|
|||||||
NewCaseVisualPanel1.multiUserCaseRadioButton.text=Multi-user
|
NewCaseVisualPanel1.multiUserCaseRadioButton.text=Multi-user
|
||||||
NewCaseVisualPanel1.singleUserCaseRadioButton.text=Single-user
|
NewCaseVisualPanel1.singleUserCaseRadioButton.text=Single-user
|
||||||
NewCaseVisualPanel1.caseTypeLabel.text=Case Type:
|
NewCaseVisualPanel1.caseTypeLabel.text=Case Type:
|
||||||
Case.deleteReports.deleteFromDiskException.log.msg=Unable to delete the report from the disk.
|
|
||||||
Case.deleteReports.deleteFromDiskException.msg=Unable to delete the report {0} from the disk.\nYou may manually delete it from {1}
|
|
||||||
CasePropertiesForm.lbDbType.text=Case Type:
|
CasePropertiesForm.lbDbType.text=Case Type:
|
||||||
CasePropertiesForm.tbDbType.text=
|
CasePropertiesForm.tbDbType.text=
|
||||||
CasePropertiesForm.lbDbName.text=Database Name:
|
CasePropertiesForm.lbDbName.text=Database Name:
|
||||||
CasePropertiesForm.tbDbName.text=
|
CasePropertiesForm.tbDbName.text=
|
||||||
CaseExceptionWarning.CheckMultiUserOptions=Check Multi-user options.
|
|
||||||
SingleUserCaseConverter.BadDatabaseFileName=Database file does not exist!
|
SingleUserCaseConverter.BadDatabaseFileName=Database file does not exist!
|
||||||
SingleUserCaseConverter.AlreadyMultiUser=Case is already multi-user!
|
SingleUserCaseConverter.AlreadyMultiUser=Case is already multi-user!
|
||||||
SingleUserCaseConverter.NonUniqueDatabaseName=Database name not unique.
|
SingleUserCaseConverter.NonUniqueDatabaseName=Database name not unique.
|
||||||
SingleUserCaseConverter.UnableToCopySourceImages=Unable to copy source images
|
SingleUserCaseConverter.UnableToCopySourceImages=Unable to copy source images
|
||||||
SingleUserCaseConverter.CanNotOpenDatabase=Unable to open database
|
SingleUserCaseConverter.CanNotOpenDatabase=Unable to open database
|
||||||
CloseCaseWhileIngesting.Warning=Ingest is running. Are you sure you want to close the case?
|
CloseCaseWhileIngesting.Warning=Ingest is running. Are you sure you want to close the case?
|
||||||
CloseCaseWhileIngesting.Warning.title=Warning\: This will close the current case
|
CloseCaseWhileIngesting.Warning.title=Warning\: This will close the current case
|
@ -1,220 +1,228 @@
|
|||||||
CTL_AddImage=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u8ffd\u52a0...
|
CTL_AddImage=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u3092\u8FFD\u52A0...
|
||||||
CTL_AddImageButton=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u8ffd\u52a0
|
CTL_AddImageButton=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u3092\u8FFD\u52A0
|
||||||
CTL_CaseCloseAct=\u30b1\u30fc\u30b9\u3092\u9589\u3058\u308b
|
CTL_CaseCloseAct=\u30B1\u30FC\u30B9\u3092\u9589\u3058\u308B
|
||||||
CTL_CaseNewAction=\u65b0\u898f\u30b1\u30fc\u30b9\u2026
|
CTL_CaseNewAction=\u65B0\u898F\u30B1\u30FC\u30B9\u2026
|
||||||
CTL_CasePropertiesAction=\u30b1\u30fc\u30b9\u30d7\u30ed\u30d1\u30c6\u30a3\u2026
|
CTL_CasePropertiesAction=\u30B1\u30FC\u30B9\u30D7\u30ED\u30D1\u30C6\u30A3\u2026
|
||||||
CTL_OpenAction=\u30b1\u30fc\u30b9\u3092\u958b\u304f\u2026
|
CTL_OpenAction=\u30B1\u30FC\u30B9\u3092\u958B\u304F\u2026
|
||||||
Menu/File/OpenRecentCase=\u6700\u8fd1\u958b\u3044\u305f\u30b1\u30fc\u30b9\u3092\u958b\u304f
|
Menu/File/OpenRecentCase=\u6700\u8FD1\u958B\u3044\u305F\u30B1\u30FC\u30B9\u3092\u958B\u304F
|
||||||
CTL_CaseDeleteAction=\u30b1\u30fc\u30b9\u524a\u9664
|
CTL_CaseDeleteAction=\u30B1\u30FC\u30B9\u3092\u524A\u9664
|
||||||
OpenIDE-Module-Name=\u30b1\u30fc\u30b9
|
OpenIDE-Module-Name=\u30B1\u30FC\u30B9
|
||||||
NewCaseVisualPanel1.jLabel1.text_1=\u65b0\u898f\u30b1\u30fc\u30b9\u60c5\u5831\u3092\u5165\u529b\uff1a
|
NewCaseVisualPanel1.jLabel1.text_1=\u65B0\u898F\u30B1\u30FC\u30B9\u60C5\u5831\u3092\u5165\u529B\uFF1A
|
||||||
NewCaseVisualPanel1.caseNameLabel.text_1=\u30b1\u30fc\u30b9\u540d\uff1a
|
NewCaseVisualPanel1.caseNameLabel.text_1=\u30B1\u30FC\u30B9\u540D\uFF1A
|
||||||
NewCaseVisualPanel1.caseDirLabel.text=\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\uff1a
|
NewCaseVisualPanel1.caseDirLabel.text=\u30D9\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\uFF1A
|
||||||
NewCaseVisualPanel1.caseDirBrowseButton.text=\u95b2\u89a7
|
NewCaseVisualPanel1.caseDirBrowseButton.text=\u95B2\u89A7
|
||||||
NewCaseVisualPanel1.caseNameTextField.text_1=
|
NewCaseVisualPanel1.jLabel2.text_1=\u30B1\u30FC\u30B9\u30C7\u30FC\u30BF\u306F\u6B21\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u4FDD\u5B58\u3055\u308C\u307E\u3059\uFF1A
|
||||||
NewCaseVisualPanel1.jLabel2.text_1=\u30b1\u30fc\u30b9\u30c7\u30fc\u30bf\u306f\u4e0b\u8a18\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u4fdd\u5b58\u3055\u308c\u307e\u3059\uff1a
|
CasePropertiesForm.caseDirLabel.text=\u30B1\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\uFF1A
|
||||||
NewCaseVisualPanel1.caseParentDirTextField.text=
|
CasePropertiesForm.crDateLabel.text=\u4F5C\u6210\u65E5\uFF1A
|
||||||
NewCaseVisualPanel1.caseDirTextField.text_1=
|
CasePropertiesForm.caseNameLabel.text=\u30B1\u30FC\u30B9\u540D\uFF1A
|
||||||
CasePropertiesForm.caseDirLabel.text=\u30b1\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\uff1a
|
CasePropertiesForm.updateCaseNameButton.text=\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
|
||||||
CasePropertiesForm.crDateLabel.text=\u4f5c\u6210\u65e5\uff1a
|
CasePropertiesForm.casePropLabel.text=\u30B1\u30FC\u30B9\u60C5\u5831
|
||||||
CasePropertiesForm.caseNameLabel.text=\u30b1\u30fc\u30b9\u540d\uff1a
|
CasePropertiesForm.genInfoLabel.text=\u4E00\u822C\u60C5\u5831
|
||||||
CasePropertiesForm.crDateTextField.text=
|
CasePropertiesForm.imgInfoLabel.text=\u30A4\u30E1\u30FC\u30B8\u60C5\u5831
|
||||||
CasePropertiesForm.caseNameTextField.text=
|
|
||||||
CasePropertiesForm.updateCaseNameButton.text=\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8
|
|
||||||
CasePropertiesForm.casePropLabel.text=\u30b1\u30fc\u30b9\u60c5\u5831
|
|
||||||
CasePropertiesForm.genInfoLabel.text=\u4e00\u822c\u60c5\u5831
|
|
||||||
CasePropertiesForm.imgInfoLabel.text=\u30a4\u30e1\u30fc\u30b8\u60c5\u5831
|
|
||||||
CasePropertiesForm.OKButton.text=OK
|
CasePropertiesForm.OKButton.text=OK
|
||||||
CasePropertiesForm.deleteCaseButton.text=\u30b1\u30fc\u30b9\u524a\u9664
|
CasePropertiesForm.deleteCaseButton.text=\u30B1\u30FC\u30B9\u3092\u524A\u9664
|
||||||
CueBannerPanel.autopsyLogo.text=
|
CueBannerPanel.createNewLabel.text=\u65B0\u898F\u30B1\u30FC\u30B9\u3092\u4F5C\u6210
|
||||||
CueBannerPanel.createNewLabel.text=\u65b0\u898f\u30b1\u30fc\u30b9\u4f5c\u6210
|
CueBannerPanel.openLabel.text=\u65E2\u5B58\u30B1\u30FC\u30B9\u3092\u958B\u304F
|
||||||
CueBannerPanel.openLabel.text=\u65e2\u5b58\u30b1\u30fc\u30b9\u3092\u958b\u304f
|
CueBannerPanel.closeButton.text=\u9589\u3058\u308B
|
||||||
CueBannerPanel.closeButton.text=\u9589\u3058\u308b
|
CueBannerPanel.openRecentLabel.text=\u6700\u8FD1\u958B\u3044\u305F\u30B1\u30FC\u30B9\u3092\u958B\u304F
|
||||||
CueBannerPanel.openRecentLabel.text=\u6700\u8fd1\u958b\u3044\u305f\u30b1\u30fc\u30b9\u3092\u958b\u304f
|
OpenRecentCasePanel.cancelButton.text=\u30AD\u30E3\u30F3\u30BB\u30EB
|
||||||
CueBannerPanel.newCaseButton.text=
|
OpenRecentCasePanel.jLabel1.text=\u6700\u8FD1\u958B\u3044\u305F\u30D5\u30A1\u30A4\u30EB
|
||||||
CueBannerPanel.openCaseButton.text=
|
CasePropertiesForm.caseNumberLabel.text=\u30B1\u30FC\u30B9\u756A\u53F7\uFF1A
|
||||||
CueBannerPanel.openRecentButton.text=
|
CasePropertiesForm.examinerLabel.text=\u8ABF\u67FB\u62C5\u5F53\u8005\uFF1A
|
||||||
OpenRecentCasePanel.cancelButton.text=\u30ad\u30e3\u30f3\u30bb\u30eb
|
NewCaseVisualPanel2.examinerLabel.text=\u8ABF\u67FB\u62C5\u5F53\u8005\uFF1A
|
||||||
OpenRecentCasePanel.jLabel1.text=\u6700\u8fd1\u958b\u3044\u305f\u30d5\u30a1\u30a4\u30eb
|
NewCaseVisualPanel2.caseNumberLabel.text=\u30B1\u30FC\u30B9\u756A\u53F7\uFF1A
|
||||||
CasePropertiesForm.caseNumberLabel.text=\u30b1\u30fc\u30b9\u756a\u53f7\uff1a
|
NewCaseVisualPanel2.optionalLabel.text=\u30AA\u30D7\u30B7\u30E7\u30CA\u30EB\uFF1A\u30B1\u30FC\u30B9\u756A\u53F7\u304A\u3088\u3073\u8ABF\u67FB\u62C5\u5F53\u8005\u3092\u8A2D\u5B9A
|
||||||
CasePropertiesForm.examinerLabel.text=\u8abf\u67fb\u62c5\u5f53\u8005\uff1a
|
AddImageErrorsDialog.title=\u30A4\u30E1\u30FC\u30B8\u30ED\u30B0\u3092\u8FFD\u52A0
|
||||||
CasePropertiesForm.caseNumberTextField.text=
|
AddImageErrorsDialog.copyButton.toolTipText=\u30A8\u30E9\u30FC\u3092\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30B3\u30D4\u30FC\u3057\u307E\u3059
|
||||||
CasePropertiesForm.examinerTextField.text=
|
AddImageErrorsDialog.copyButton.text=\u30B3\u30D4\u30FC
|
||||||
NewCaseVisualPanel2.caseNumberTextField.text=
|
AddImageErrorsDialog.closeButton.toolTipText=\u3053\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u9589\u3058\u307E\u3059
|
||||||
NewCaseVisualPanel2.examinerLabel.text=\u8abf\u67fb\u62c5\u5f53\u8005\uff1a
|
AddImageErrorsDialog.closeButton.text=\u9589\u3058\u308B
|
||||||
NewCaseVisualPanel2.caseNumberLabel.text=\u30b1\u30fc\u30b9\u756a\u53f7\uff1a
|
OpenRecentCasePanel.openButton.text=\u958B\u304F
|
||||||
NewCaseVisualPanel2.examinerTextField.text=
|
ImageFilePanel.pathLabel.text=\u30A4\u30E1\u30FC\u30B8\u30D5\u30A1\u30A4\u30EB\u3092\u95B2\u89A7\uFF1A
|
||||||
NewCaseVisualPanel2.optionalLabel.text=\u30aa\u30d7\u30b7\u30e7\u30ca\u30eb\uff1a\u30b1\u30fc\u30b9\u756a\u53f7\u53ca\u3073\u8abf\u67fb\u62c5\u5f53\u8005\u3092\u8a2d\u5b9a
|
ImageFilePanel.browseButton.text=\u95B2\u89A7
|
||||||
AddImageErrorsDialog.title=\u30a4\u30e1\u30fc\u30b8\u30ed\u30b0\u3092\u8ffd\u52a0
|
LocalDiskPanel.diskLabel.text=\u30ED\u30FC\u30AB\u30EB\u30C7\u30A3\u30B9\u30AF\u3092\u9078\u629E\uFF1A
|
||||||
AddImageErrorsDialog.copyButton.toolTipText=\u30a8\u30e9\u30fc\u3092\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3059
|
MissingImageDialog.selectButton.text=\u30A4\u30E1\u30FC\u30B8\u3092\u9078\u629E
|
||||||
AddImageErrorsDialog.copyButton.text=\u30b3\u30d4\u30fc
|
MissingImageDialog.titleLabel.text=\u6B20\u843D\u3057\u305F\u30A4\u30E1\u30FC\u30B8\u306E\u691C\u7D22
|
||||||
AddImageErrorsDialog.closeButton.toolTipText=\u3053\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u9589\u3058\u307e\u3059
|
MissingImageDialog.cancelButton.text=\u30AD\u30E3\u30F3\u30BB\u30EB
|
||||||
AddImageErrorsDialog.closeButton.text=\u9589\u3058\u308b
|
LocalDiskPanel.errorLabel.text=\u30A8\u30E9\u30FC\u30E9\u30D9\u30EB
|
||||||
OpenRecentCasePanel.openButton.text=\u958b\u304f
|
LocalFilesPanel.infoLabel.text=\u30ED\u30FC\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB\u304A\u3088\u3073\u30D5\u30A9\u30EB\u30C0\u3092\u8FFD\u52A0\uFF1A
|
||||||
ImageFilePanel.pathLabel.text=\u30a4\u30e1\u30fc\u30b8\u30d5\u30a1\u30a4\u30eb\u3092\u95b2\u89a7\uff1a
|
LocalFilesPanel.selectButton.text=\u8FFD\u52A0
|
||||||
ImageFilePanel.browseButton.text=\u95b2\u89a7
|
LocalFilesPanel.localFileChooser.dialogTitle=\u30ED\u30FC\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB\u53C8\u306F\u30D5\u30A9\u30EB\u30C0\u3092\u9078\u629E
|
||||||
ImageFilePanel.pathTextField.text=
|
LocalFilesPanel.selectButton.toolTipText=\u30ED\u30FC\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB\u304A\u3088\u3073\u30D5\u30A9\u30EB\u30C0\u3092\u30ED\u30B8\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u8FFD\u52A0\u3057\u307E\u3059
|
||||||
LocalDiskPanel.diskLabel.text=\u30ed\u30fc\u30ab\u30eb\u30c7\u30a3\u30b9\u30af\u3092\u9078\u629e\uff1a
|
LocalFilesPanel.clearButton.text=\u30AF\u30EA\u30A2
|
||||||
MissingImageDialog.selectButton.text=\u30a4\u30e1\u30fc\u30b8\u3092\u9078\u629e
|
LocalFilesPanel.clearButton.toolTipText=\u73FE\u5728\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\u304C\u30AF\u30EA\u30A2\u3055\u308C\u307E\u3059
|
||||||
MissingImageDialog.titleLabel.text=\u6b20\u843d\u3057\u305f\u30a4\u30e1\u30fc\u30b8\u306e\u691c\u7d22
|
LocalFilesPanel.localFileChooser.approveButtonText=\u9078\u629E
|
||||||
MissingImageDialog.cancelButton.text=\u30ad\u30e3\u30f3\u30bb\u30eb
|
LocalFilesPanel.selectButton.actionCommand=\u8FFD\u52A0
|
||||||
LocalDiskPanel.errorLabel.text=\u30a8\u30e9\u30fc\u30e9\u30d9\u30eb
|
AddImageWizardIngestConfigVisual.subtitleLabel.text=\u3053\u306E\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u306B\u5BFE\u3057\u3066\u5B9F\u884C\u3057\u305F\u3044\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002
|
||||||
LocalFilesPanel.infoLabel.text=\u30ed\u30fc\u30ab\u30eb\u30d5\u30a1\u30a4\u30eb\u53ca\u3073\u30d5\u30a9\u30eb\u30c0\u3092\u8ffd\u52a0\uff1a
|
AddImageWizardAddingProgressVisual.statusLabel.text=\u30ED\u30FC\u30AB\u30EB\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306B\u30D5\u30A1\u30A4\u30EB\u30B7\u30B9\u30C6\u30E0\u304C\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F\u3002\u30D5\u30A1\u30A4\u30EB\u3092\u89E3\u6790\u4E2D\u3067\u3059\u3002
|
||||||
LocalFilesPanel.selectButton.text=\u8ffd\u52a0
|
AddImageWizardChooseDataSourceVisual.typeTabel.text=\u8FFD\u52A0\u3059\u308B\u30BD\u30FC\u30B9\u30BF\u30A4\u30D7\u3092\u9078\u629E\uFF1A
|
||||||
LocalFilesPanel.localFileChooser.dialogTitle=\u30ed\u30fc\u30ab\u30eb\u30d5\u30a1\u30a4\u30eb\u53c8\u306f\u30d5\u30a9\u30eb\u30c0\u3092\u9078\u629e
|
|
||||||
LocalFilesPanel.selectButton.toolTipText=\u30ed\u30fc\u30ab\u30eb\u30d5\u30a1\u30a4\u30eb\u53ca\u3073\u30d5\u30a9\u30eb\u30c0\u3092\u30ed\u30b8\u30ab\u30eb\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066\u8ffd\u52a0\u3057\u307e\u3059
|
|
||||||
LocalFilesPanel.clearButton.text=\u30af\u30ea\u30a2
|
|
||||||
LocalFilesPanel.clearButton.toolTipText=\u73fe\u5728\u9078\u629e\u3055\u308c\u3066\u3044\u308b\u30ed\u30fc\u30ab\u30eb\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\u304c\u30af\u30ea\u30a2\u3055\u308c\u307e\u3059
|
|
||||||
LocalFilesPanel.selectedPaths.toolTipText=
|
|
||||||
LocalFilesPanel.localFileChooser.approveButtonText=\u9078\u629e
|
|
||||||
LocalFilesPanel.localFileChooser.approveButtonToolTipText=
|
|
||||||
LocalFilesPanel.selectButton.actionCommand=\u8ffd\u52a0
|
|
||||||
AddImageWizardIngestConfigVisual.subtitleLabel.text=\u3053\u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306b\u5bfe\u3057\u3066\u5b9f\u884c\u3057\u305f\u3044\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u7fa4\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002
|
|
||||||
AddImageWizardAddingProgressVisual.statusLabel.text=\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u304c\u30ed\u30fc\u30ab\u30eb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002\u30d5\u30a1\u30a4\u30eb\u3092\u89e3\u6790\u4e2d\u3067\u3059\u3002
|
|
||||||
AddImageWizardChooseDataSourceVisual.typeTabel.text=\u8ffd\u52a0\u3059\u308b\u30bd\u30fc\u30b9\u30bf\u30a4\u30d7\u3092\u9078\u629e\uff1a
|
|
||||||
AddImageWizardChooseDataSourceVisual.jLabel2.text=jLabel2
|
AddImageWizardChooseDataSourceVisual.jLabel2.text=jLabel2
|
||||||
AddImageWizardChooseDataSourceVisual.nextLabel.text=<html> \u300c\u6b21\u3078\u300d\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u3001\u30a4\u30f3\u30d7\u30c3\u30c8\u30c7\u30fc\u30bf\u3092\u89e3\u6790\u3001\u30dc\u30ea\u30e5\u30fc\u30e0\u53ca\u3073\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u30c7\u30fc\u30bf\u3092\u62bd\u51fa\u3001\u30ed\u30fc\u30ab\u30eb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u30c7\u30fc\u30bf\u3092\u6295\u5165\u3002</html>
|
AddImageWizardChooseDataSourceVisual.nextLabel.text=<html> \u300C\u6B21\u3078\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u3001\u30A4\u30F3\u30D7\u30C3\u30C8\u30C7\u30FC\u30BF\u3092\u89E3\u6790\u3001\u30DC\u30EA\u30E5\u30FC\u30E0\u304A\u3088\u3073\u30D5\u30A1\u30A4\u30EB\u30B7\u30B9\u30C6\u30E0\u30C7\u30FC\u30BF\u3092\u62BD\u51FA\u3001\u30ED\u30FC\u30AB\u30EB\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306B\u30C7\u30FC\u30BF\u3092\u6295\u5165\u3002</html>
|
||||||
AddImageWizardAddingProgressVisual.progressLabel.text=\uff1c\u30d7\u30ed\u30b0\u30ec\u30b9\uff1e
|
AddImageWizardAddingProgressVisual.progressLabel.text=\uFF1C\u30D7\u30ED\u30B0\u30EC\u30B9\uFF1E
|
||||||
AddImageWizardAddingProgressVisual.viewLogButton.text=\u30ed\u30b0\u3092\u8868\u793a
|
AddImageWizardAddingProgressVisual.viewLogButton.text=\u30ED\u30B0\u3092\u8868\u793A
|
||||||
AddImageWizardAddingProgressVisual.subTitle1Label.text=\u30ed\u30fc\u30ab\u30eb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u60c5\u5831\u3092\u8ffd\u52a0\u4e2d\u3067\u3059\u3002\u3053\u3061\u3089\u304c\u5b8c\u4e86\u6b21\u7b2c\u3001\u30d5\u30a1\u30a4\u30eb\u89e3\u6790\u304c\u59cb\u307e\u308a\u307e\u3059\u3002
|
AddImageWizardAddingProgressVisual.subTitle1Label.text=\u30ED\u30FC\u30AB\u30EB\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306B\u30D5\u30A1\u30A4\u30EB\u30B7\u30B9\u30C6\u30E0\u60C5\u5831\u3092\u8FFD\u52A0\u4E2D\u3067\u3059\u3002\u3053\u3061\u3089\u304C\u5B8C\u4E86\u6B21\u7B2C\u3001\u30D5\u30A1\u30A4\u30EB\u89E3\u6790\u304C\u59CB\u307E\u308A\u307E\u3059\u3002
|
||||||
ImageFilePanel.timeZoneLabel.text=\u30a4\u30f3\u30d7\u30c3\u30c8\u30bf\u30a4\u30e0\u30be\u30fc\u30f3\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044\uff1a
|
ImageFilePanel.timeZoneLabel.text=\u30A4\u30F3\u30D7\u30C3\u30C8\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3\u3092\u9078\u629E\u3057\u3066\u4E0B\u3055\u3044\uFF1A
|
||||||
ImageFilePanel.descLabel.text=\uff08\u3088\u308a\u901f\u3044\u7d50\u679c\u3001\u3057\u304b\u3057\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u306f\u691c\u7d22\u3055\u308c\u307e\u305b\u3093\uff09
|
ImageFilePanel.descLabel.text=\uFF08\u3088\u308A\u901F\u3044\u7D50\u679C\u3001\u3057\u304B\u3057\u4E00\u90E8\u306E\u30C7\u30FC\u30BF\u306F\u691C\u7D22\u3055\u308C\u307E\u305B\u3093\uFF09
|
||||||
LocalDiskPanel.timeZoneLabel.text=\u30a4\u30f3\u30d7\u30c3\u30c8\u30bf\u30a4\u30e0\u30be\u30fc\u30f3\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044\uff1a
|
LocalDiskPanel.timeZoneLabel.text=\u30A4\u30F3\u30D7\u30C3\u30C8\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3\u3092\u9078\u629E\u3057\u3066\u4E0B\u3055\u3044\uFF1A
|
||||||
LocalDiskPanel.descLabel.text=\uff08\u3088\u308a\u901f\u3044\u7d50\u679c\u3001\u3057\u304b\u3057\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u306f\u691c\u7d22\u3055\u308c\u307e\u305b\u3093\uff09
|
LocalDiskPanel.descLabel.text=\uFF08\u3088\u308A\u901F\u3044\u7D50\u679C\u3001\u3057\u304B\u3057\u4E00\u90E8\u306E\u30C7\u30FC\u30BF\u306F\u691C\u7D22\u3055\u308C\u307E\u305B\u3093\uFF09
|
||||||
MissingImageDialog.browseButton.text=\u95b2\u89a7
|
MissingImageDialog.browseButton.text=\u95B2\u89A7
|
||||||
AddImageWizardAddingProgressVisual.progressTextArea.border.title=\u30b9\u30c6\u30fc\u30bf\u30b9
|
AddImageWizardAddingProgressVisual.progressTextArea.border.title=\u30B9\u30C6\u30FC\u30BF\u30B9
|
||||||
AddImageAction.wizard.title=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3092\u8ffd\u52a0
|
AddImageAction.wizard.title=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u3092\u8FFD\u52A0
|
||||||
AddImageAction.ingestConfig.ongoingIngest.msg=<html>\u4ed6\u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u304c\u51e6\u7406\u4e2d\u3067\u3059\u3002\u65b0\u898f\u30bd\u30fc\u30b9\u3092\u4eca\u8ffd\u52a0\u3059\u308b\u3068\u5b9f\u884c\u4e2d\u306e\u51e6\u7406\u304c\u9045\u304f\u306a\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<br />\u3053\u306e\u307e\u307e\u5b9f\u884c\u3057\u3001\u65b0\u898f\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u304b\uff1f</html>
|
AddImageAction.ingestConfig.ongoingIngest.msg=<html>\u4ED6\u306E\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u304C\u51E6\u7406\u4E2D\u3067\u3059\u3002\u4ECA\u65B0\u898F\u30BD\u30FC\u30B9\u3092\u8FFD\u52A0\u3059\u308B\u3068\u5B9F\u884C\u4E2D\u306E\u51E6\u7406\u304C\u9045\u304F\u306A\u308B\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002<br />\u3053\u306E\u307E\u307E\u5B9F\u884C\u3057\u3001\u65B0\u898F\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u3092\u8FFD\u52A0\u3057\u307E\u3059\u304B\uFF1F</html>
|
||||||
AddImageAction.ingestConfig.ongoingIngest.title=\u51e6\u7406\u4e2d
|
AddImageAction.ingestConfig.ongoingIngest.title=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3092\u5B9F\u884C\u4E2D
|
||||||
AddImageTask.run.progress.adding=\u8ffd\u52a0\u4e2d\uff1a{0}
|
AddImageTask.run.progress.adding=\u8FFD\u52A0\u4E2D\uFF1A{0}
|
||||||
AddImageTask.interrupt.exception.msg=\u30a4\u30e1\u30fc\u30b8\u8ffd\u52a0\u30d7\u30ed\u30bb\u30b9\u306e\u505c\u6b62\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
|
AddImageTask.interrupt.exception.msg=\u30A4\u30E1\u30FC\u30B8\u8FFD\u52A0\u30D7\u30ED\u30BB\u30B9\u306E\u505C\u6B62\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||||
AddImageWizardAddingProgressPanel.isValid.focusNext=\u6b21 >
|
AddImageWizardAddingProgressPanel.isValid.focusNext=\u6B21 >
|
||||||
AddImageWizardAddingProgressPanel.stateStarted.progressBarText=*\u5927\u304d\u3044\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306e\u5834\u5408\u3001\u3053\u306e\u30d7\u30ed\u30bb\u30b9\u306f\u6642\u9593\u304c\u304b\u304b\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
|
AddImageWizardAddingProgressPanel.stateStarted.progressBarText=*\u5927\u304D\u3044\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u306E\u5834\u5408\u3001\u3053\u306E\u30D7\u30ED\u30BB\u30B9\u306F\u6642\u9593\u304C\u304B\u304B\u308B\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002
|
||||||
AddImageWizardAddingProgressVisual.addingDsComplete.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3092\u8ffd\u52a0 - \u5b8c\u4e86
|
AddImageWizardAddingProgressVisual.addingDsComplete.text=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u3092\u8FFD\u52A0 - \u5B8C\u4E86
|
||||||
AddImageWizardAddingProgressVisual.getName.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3092\u8ffd\u52a0
|
AddImageWizardAddingProgressVisual.getName.text=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u3092\u8FFD\u52A0
|
||||||
AddImageWizardAddingProgressVisual.showErrors.critText=*\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306e\u8ffd\u52a0\u306b\u5931\u6557\u3057\u307e\u3057\u305f\uff08\u81f4\u547d\u7684\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff09\u3002\u4e0b\u8a18\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\u3002
|
AddImageWizardAddingProgressVisual.showErrors.critText=*\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u306E\u8FFD\u52A0\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u81F4\u547D\u7684\u306A\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF09\u3002\u4E0B\u8A18\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002
|
||||||
AddImageWizardAddingProgressVisual.showErrors.nonCritText=*\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306e\u8ffd\u52a0\u306b\u5931\u6557\u3057\u307e\u3057\u305f\uff08\u91cd\u5927\u3067\u306f\u306a\u3044\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff09\u3002\u4e0b\u8a18\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\u3002
|
AddImageWizardAddingProgressVisual.showErrors.nonCritText=*\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u306E\u8FFD\u52A0\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u81F4\u547D\u7684\u3067\u306F\u306A\u3044\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF09\u3002\u4E0B\u8A18\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002
|
||||||
AddImageWizardChooseDataSourcePanel.moveFocusNext=\u6b21 >
|
AddImageWizardChooseDataSourcePanel.moveFocusNext=\u6B21 >
|
||||||
AddImageWizardChooseDataSourceVisual.getName.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u60c5\u5831\u3092\u5165\u529b
|
AddImageWizardChooseDataSourceVisual.getName.text=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u60C5\u5831\u3092\u5165\u529B
|
||||||
AddImageWizardIngestConfigPanel.dsProcDone.noErrs.text=*\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002
|
AddImageWizardIngestConfigPanel.dsProcDone.noErrs.text=*\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u304C\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F\u3002
|
||||||
AddImageWizardIngestConfigPanel.dsProcDone.errs.text=*\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306e\u8ffd\u52a0\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
|
AddImageWizardIngestConfigPanel.dsProcDone.errs.text=*\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u306E\u8FFD\u52A0\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||||
AddImageWizardIngestConfigVisual.getName.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u8a2d\u5b9a
|
AddImageWizardIngestConfigVisual.getName.text=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u8A2D\u5B9A
|
||||||
AddImageWizardIterator.stepXofN=\u30b9\u30c6\u30c3\u30d7{0}\uff0f{1}
|
AddImageWizardIterator.stepXofN=\u30B9\u30C6\u30C3\u30D7{0}\uFF0F{1}
|
||||||
AddLocalFilesTask.localFileAdd.progress.text=\u8ffd\u52a0\u4e2d\uff1a{0}/{1}
|
AddLocalFilesTask.localFileAdd.progress.text=\u8FFD\u52A0\u4E2D\uFF1A{0}/{1}
|
||||||
Case.getCurCase.exception.noneOpen=\u73fe\u5728\u306e\u30b1\u30fc\u30b9\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\uff1b\u958b\u3044\u3066\u3044\u308b\u30b1\u30fc\u30b9\u304c\u3042\u308a\u307e\u305b\u3093\uff01
|
Case.getCurCase.exception.noneOpen=\u4F5C\u696D\u4E2D\u306E\u30B1\u30FC\u30B9\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\uFF1B\u958B\u3044\u3066\u3044\u308B\u30B1\u30FC\u30B9\u304C\u3042\u308A\u307E\u305B\u3093\uFF01
|
||||||
Case.create.exception.msg=\u30b1\u30fc\u30b9\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff1a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea{1}\u306e{0}
|
Case.create.exception.msg=\u30B1\u30FC\u30B9\u4F5C\u6210\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{1}\u306E{0}
|
||||||
Case.open.exception.blankCase.msg=\u30b1\u30fc\u30b9\u540d\u304c\u7a7a\u767d\u3067\u3059\u3002
|
Case.open.exception.blankCase.msg=\u30B1\u30FC\u30B9\u540D\u304C\u7A7A\u767D\u3067\u3059\u3002
|
||||||
Case.open.msgDlg.updated.msg=\u30b1\u30fc\u30b9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30b9\u30ad\u30fc\u30de\u3092\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3057\u307e\u3057\u305f\u3002\n\
|
Case.open.msgDlg.updated.msg=\u30B1\u30FC\u30B9\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u30B9\u30AD\u30FC\u30DE\u3092\u66F4\u65B0\u3057\u307E\u3057\u305F\u3002\n\u306E\u30D1\u30B9\u3092\u6301\u3064\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u30B3\u30D4\u30FC\u304C\u4F5C\u6210\u3055\u308C\u307E\u3057\u305F\uFF1A\n\
|
||||||
\u4e0b\u8a18\u306e\u30d1\u30b9\u3092\u6301\u3064\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30b3\u30d4\u30fc\u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f\uff1a\n\
|
{\u6B210}
|
||||||
{0}
|
Case.open.msgDlg.updated.title=\u30B1\u30FC\u30B9\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u30B9\u30AD\u30FC\u30DE\u3092\u66F4\u65B0
|
||||||
Case.open.msgDlg.updated.title=\u30b1\u30fc\u30b9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30b9\u30ad\u30fc\u30de\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8
|
Case.open.exception.checkFile.msg=\u30B1\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u306F{0}\u62E1\u5F35\u5B50\u304C\u5FC5\u8981\u3067\u3059\u3002
|
||||||
Case.open.exception.checkFile.msg=\u6b63\u3057\u3044\u30b1\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u9078\u629e\u3057\u305f\u304b\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\uff08\u901a\u5e38\u62e1\u5f35\u5b50{0}\u3092\u6301\u3064\uff09
|
Case.checkImgExist.confDlg.doesntExist.msg={0} \u304C\u3053\u306E\u30B1\u30FC\u30B9\u306B\u95A2\u9023\u3059\u308B\u30A4\u30E1\u30FC\u30B8\u306E\u3046\u3061\uFF11\u3064\u304C\u6B20\u843D\u3057\u3066\u3044\u308B\u306E\u3092\u691C\u51FA\u3057\u307E\u3057\u305F\u3002\u305D\u308C\u3092\u4ECA\u304B\u3089\u691C\u7D22\u3057\u307E\u3059\u304B\uFF1F\n\n\
|
||||||
Case.checkImgExist.confDlg.doesntExist.msg={0} \u304c\u3053\u306e\u30b1\u30fc\u30b9\u306b\u95a2\u9023\u3059\u308b\u30a4\u30e1\u30fc\u30b8\u306e\uff11\u500b\u304c\u6b20\u843d\u3057\u3066\u3044\u308b\u306e\u3092\u691c\u51fa\u3057\u307e\u3057\u305f\u3002\u305d\u308c\u3089\u3092\u4eca\u304b\u3089\u691c\u7d22\u3057\u307e\u3059\u304b\uff1f\n\n\
|
\u4EE5\u524D\u3001\u30A4\u30E1\u30FC\u30B8\u306F\u6B21\u306B\u3042\u308A\u307E\u3057\u305F\uFF1A\n\
|
||||||
\u4ee5\u524d\u3001\u30a4\u30e1\u30fc\u30b8\u306f\u4e0b\u8a18\u306b\u3042\u308a\u307e\u3057\u305f\uff1a\n\
|
|
||||||
{1}\n\
|
{1}\n\
|
||||||
\u3044\u3044\u3048\u3092\u9078\u629e\u3057\u3066\u3082\u3001\u4eca\u5f8c\u3082\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u95b2\u89a7\u3057\u3001\u30ec\u30dd\u30fc\u30c8\u751f\u6210\u304c\u3067\u304d\u307e\u3059\u304c\u3001\u30d5\u30a1\u30a4\u30eb\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u8868\u793a\u307e\u305f\u306f\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30d7\u30ed\u30bb\u30b9\u306e\u5b9f\u884c\u304c\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3059\u3002
|
\u3044\u3044\u3048\u3092\u9078\u629E\u3057\u3066\u3082\u3001\u4ECA\u5F8C\u3082\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u95B2\u89A7\u3057\u3001\u30EC\u30DD\u30FC\u30C8\u751F\u6210\u304C\u3067\u304D\u307E\u3059\u304C\u3001\n\u30D5\u30A1\u30A4\u30EB\u30B3\u30F3\u30C6\u30F3\u30C4\u306E\u8868\u793A\u307E\u305F\u306F\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30D7\u30ED\u30BB\u30B9\u306E\u5B9F\u884C\u304C\u3067\u304D\u306A\u304F\u306A\u308A\u307E\u3059\u3002
|
||||||
Case.checkImgExist.confDlg.doesntExist.title=\u6b20\u843d\u30a4\u30e1\u30fc\u30b8
|
Case.checkImgExist.confDlg.doesntExist.title=\u6B20\u843D\u3057\u3066\u3044\u308B\u30A4\u30E1\u30FC\u30B8
|
||||||
Case.addImg.exception.msg=\u30b1\u30fc\u30b9\u306b\u30a4\u30e1\u30fc\u30b8\u3092\u8ffd\u52a0\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
|
Case.addImg.exception.msg=\u30B1\u30FC\u30B9\u306B\u30A4\u30E1\u30FC\u30B8\u3092\u8FFD\u52A0\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
||||||
Case.closeCase.exception.msg=\u73fe\u5728\u306e\u30b1\u30fc\u30b9\u3092\u9589\u3058\u308b\u6700\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
|
Case.closeCase.exception.msg=\u4F5C\u696D\u4E2D\u306E\u30B1\u30FC\u30B9\u3092\u9589\u3058\u308B\u6700\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||||
Case.deleteCase.exception.msg=\u30b1\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u524a\u9664\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff1a{0}
|
Case.deleteCase.exception.msg=\u30B1\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u524A\u9664\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A{0}
|
||||||
Case.deleteCase.exception.msg2=\u30b1\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u524a\u9664\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff1a{0}
|
Case.deleteCase.exception.msg2=\u30B1\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u524A\u9664\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A{0}
|
||||||
Case.updateCaseName.exception.msg=\u30b1\u30fc\u30b9\u540d\u3092\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
|
Case.updateCaseName.exception.msg=\u30B1\u30FC\u30B9\u540D\u3092\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||||
Case.updateExaminer.exception.msg=\u8abf\u67fb\u62c5\u5f53\u8005\u3092\u30a2\u30c3\u30d7\u30c7\u30fc\u30bf\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
|
Case.updateExaminer.exception.msg=\u8ABF\u67FB\u62C5\u5F53\u8005\u3092\u66F4\u65B0\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||||
Case.updateCaseNum.exception.msg=\u30b1\u30fc\u30b9\u756a\u53f7\u3092\u30a2\u30c3\u30d7\u30c7\u30fc\u30bf\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
|
Case.updateCaseNum.exception.msg=\u30B1\u30FC\u30B9\u756A\u53F7\u3092\u66F4\u65B0\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||||
Case.exception.errGetRootObj=\u30eb\u30fc\u30c8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
|
Case.exception.errGetRootObj=\u30EB\u30FC\u30C8\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||||
Case.createCaseDir.exception.existNotDir=\u30b1\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u65e2\u306b\u5b58\u5728\u3057\u3001\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\u306f\u3042\u308a\u307e\u305b\u3093\uff1a{0}
|
Case.createCaseDir.exception.existNotDir=\u30B1\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u65E2\u306B\u5B58\u5728\u3057\u3001\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF1A{0}
|
||||||
Case.createCaseDir.exception.existCantRW=\u30b1\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u65e2\u306b\u5b58\u5728\u3057\u3001\u8aad\u307f\u53d6\u308a\uff0f\u66f8\u304d\u8fbc\u307f\u304c\u3067\u304d\u307e\u305b\u3093\uff1a{0}
|
Case.createCaseDir.exception.existCantRW=\u30B1\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u65E2\u306B\u5B58\u5728\u3057\u3001\u8AAD\u307F\u53D6\u308A\uFF0F\u66F8\u304D\u8FBC\u307F\u304C\u3067\u304D\u307E\u305B\u3093\uFF1A{0}
|
||||||
Case.createCaseDir.exception.cantCreate=\u30b1\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\uff1a {0}
|
Case.createCaseDir.exception.cantCreate=\u30B1\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\uFF1A {0}
|
||||||
Case.createCaseDir.exception.cantCreateCaseDir=\u30b1\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff1a {0}
|
Case.createCaseDir.exception.cantCreateCaseDir=\u30B1\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A {0}
|
||||||
Case.createCaseDir.exception.cantCreateModDir=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a2\u30a6\u30c8\u30d7\u30c3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff1a{0}
|
Case.createCaseDir.exception.cantCreateModDir=\u30E2\u30B8\u30E5\u30FC\u30EB\u30A2\u30A6\u30C8\u30D7\u30C3\u30C8\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0}
|
||||||
Case.createCaseDir.exception.gen=\u30b1\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff1a{0}
|
Case.createCaseDir.exception.gen=\u30B1\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0}
|
||||||
CaseDeleteAction.closeConfMsg.text=\u3053\u306e\u30b1\u30fc\u30b9\u3092\u672c\u5f53\u306b\u9589\u3058\u3001\u524a\u9664\u3057\u307e\u3059\u304b\uff1f\n\
|
CaseDeleteAction.closeConfMsg.text=\u3053\u306E\u30B1\u30FC\u30B9\u3092\u672C\u5F53\u306B\u9589\u3058\u3001\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F\n\
|
||||||
\u30b1\u30fc\u30b9\u540d\uff1a {0}\n\
|
\u30B1\u30FC\u30B9\u540D\uFF1A {0}\n\
|
||||||
\u30b1\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\: {1}
|
\u30B1\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\: {1}
|
||||||
CaseDeleteAction.closeConfMsg.title=\u8b66\u544a\uff1a\u73fe\u5728\u306e\u30b1\u30fc\u30b9\u3092\u9589\u3058\u307e\u3059
|
CaseDeleteAction.closeConfMsg.title=\u8B66\u544A\uFF1A\u4F5C\u696D\u4E2D\u306E\u30B1\u30FC\u30B9\u3092\u9589\u3058\u307E\u3059
|
||||||
CaseDeleteAction.msgDlg.fileInUse.msg=\u5225\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u30d5\u30a9\u30eb\u30c0\u307e\u305f\u306f\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u3044\u3066\u3044\u308b\u306e\u3067\u3001\u524a\u9664\u3092\u5b8c\u4e86\u3067\u304d\u307e\u305b\u3093\u3002\n\n\
|
CaseDeleteAction.msgDlg.fileInUse.msg=\u5225\u306E\u30D7\u30ED\u30B0\u30E9\u30E0\u3067\u30D5\u30A9\u30EB\u30C0\u307E\u305F\u306F\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u3044\u3066\u3044\u308B\u306E\u3067\u3001\u524A\u9664\u3092\u5B8C\u4E86\u3067\u304D\u307E\u305B\u3093\u3002\n\n\
|
||||||
\u30d5\u30a9\u30eb\u30c0\u307e\u305f\u306f\u30d5\u30a1\u30a4\u30eb\u3092\u9589\u3058\u3066\u304b\u3089\u518d\u5b9f\u884c\u3059\u308b\u304b\u3001\u624b\u52d5\u3067\u30b1\u30fc\u30b9\u3092\u524a\u9664\u3057\u3066\u4e0b\u3055\u3044\u3002
|
\u30D5\u30A9\u30EB\u30C0\u307E\u305F\u306F\u30D5\u30A1\u30A4\u30EB\u3092\u9589\u3058\u3066\u304B\u3089\u518D\u5B9F\u884C\u3059\u308B\u304B\u3001\u624B\u52D5\u3067\u30B1\u30FC\u30B9\u3092\u524A\u9664\u3057\u3066\u4E0B\u3055\u3044\u3002
|
||||||
CaseDeleteAction.msgDlg.fileInUse.title=\u30a8\u30e9\u30fc\uff1a\u30d5\u30a9\u30eb\u30c0\u304c\u4f7f\u7528\u4e2d
|
CaseDeleteAction.msgDlg.fileInUse.title=\u30A8\u30E9\u30FC\uFF1A\u30D5\u30A9\u30EB\u30C0\u304C\u4F7F\u7528\u4E2D
|
||||||
CaseDeleteAction.msgDlg.caseDelete.msg=\u30b1\u30fc\u30b9{0}\u306f\u524a\u9664\u3055\u308c\u307e\u3057\u305f\u3002
|
CaseDeleteAction.msgDlg.caseDelete.msg=\u30B1\u30FC\u30B9\u306F\u304C\u524A\u9664\u3055\u308C\u307E\u3057\u305F\u3002
|
||||||
CaseOpenAction.autFilter.title={0} \u30b1\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb ( {1})
|
CaseOpenAction.autFilter.title={0} \u30B1\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB ( {1})
|
||||||
CaseOpenAction.msgDlg.fileNotExist.msg=\u30a8\u30e9\u30fc\uff1a\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
|
CaseOpenAction.msgDlg.cantOpenCase.title=\u30B1\u30FC\u30B9\u3092\u958B\u304F\u969B\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
||||||
CaseOpenAction.msgDlg.fileNotExist.title=\u30a8\u30e9\u30fc
|
CasePropertiesAction.window.title=\u30B1\u30FC\u30B9\u30D7\u30ED\u30D1\u30C6\u30A3
|
||||||
CaseOpenAction.msgDlg.cantOpenCase.msg=\u30a8\u30e9\u30fc\uff1a\u30d5\u30a9\u30eb\u30c0{0}\: {1}\u306e\u30b1\u30fc\u30b9\u3092\u958b\u3051\u307e\u305b\u3093\u3067\u3057\u305f
|
CasePropertiesForm.updateCaseName.msgDlg.empty.msg=\u30B1\u30FC\u30B9\u540D\u306F\u7A7A\u767D\u3067\u306F\u3044\u3051\u307E\u305B\u3093\u3002
|
||||||
CaseOpenAction.msgDlg.cantOpenCase.title=\u30a8\u30e9\u30fc
|
CasePropertiesForm.updateCaseName.msgDlg.empty.title=\u30A8\u30E9\u30FC
|
||||||
CasePropertiesAction.window.title=\u30b1\u30fc\u30b9\u30d7\u30ed\u30d1\u30c6\u30a3
|
CasePropertiesForm.updateCaseName.msgDlg.invalidSymbols.msg=\u30B1\u30FC\u30B9\u540D\u306B\u306F\u6B21\u306E\u8A18\u53F7\u3092\u542B\u3081\u307E\u305B\u3093\uFF1A\\ / \: * ? " < > |
|
||||||
CasePropertiesForm.updateCaseName.msgDlg.empty.msg=\u30b1\u30fc\u30b9\u540d\u306f\u7a7a\u767d\u3067\u306f\u3044\u3051\u307e\u305b\u3093\u3002
|
CasePropertiesForm.updateCaseName.msgDlg.invalidSymbols.title=\u30A8\u30E9\u30FC
|
||||||
CasePropertiesForm.updateCaseName.msgDlg.empty.title=\u30a8\u30e9\u30fc
|
CasePropertiesForm.updateCaseName.confMsg.msg=\u30B1\u30FC\u30B9\u540D\u3092"0}"\u304B\u3089"{1}"\u306B\u672C\u5F53\u306B\u66F4\u65B0\u3057\u307E\u3059\u304B\uFF1F
|
||||||
CasePropertiesForm.updateCaseName.msgDlg.invalidSymbols.msg=\u30b1\u30fc\u30b9\u540d\u306b\u306f\u4e0b\u8a18\u306e\u8a18\u53f7\u3092\u542b\u3081\u307e\u305b\u3093\uff1a\\ / \: * ? " < > |
|
CasePropertiesForm.updateCaseName.confMsg.title=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u4F5C\u6210
|
||||||
CasePropertiesForm.updateCaseName.msgDlg.invalidSymbols.title=\u30a8\u30e9\u30fc
|
CueBannerPanel.title.text=\u6700\u8FD1\u958B\u3044\u305F\u30B1\u30FC\u30B9\u3092\u958B\u304F
|
||||||
CasePropertiesForm.updateCaseName.confMsg.msg=\u30b1\u30fc\u30b9\u540d\u3092"{0}"\u304b\u3089"{1}"\u306b\u672c\u5f53\u306b\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3057\u307e\u3059\u304b\uff1f
|
GeneralFilter.rawImageDesc.text=\u30ED\u30FC\u30A4\u30E1\u30FC\u30B8(*.img, *.dd, *.001, *.aa, *.raw, *.bin)
|
||||||
CasePropertiesForm.updateCaseName.confMsg.title=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4f5c\u6210
|
GeneralFilter.encaseImageDesc.text=\u30A8\u30F3\u30B1\u30FC\u30B9\u30A4\u30E1\u30FC\u30B8(*.e01)
|
||||||
CueBannerPanel.title.text=\u6700\u8fd1\u958b\u3044\u305f\u30b1\u30fc\u30b9\u3092\u958b\u304f
|
ImageDSProcessor.dsType.text=\u30A4\u30E1\u30FC\u30B8\u30D5\u30A1\u30A4\u30EB
|
||||||
GeneralFilter.rawImageDesc.text=\u30ed\u30fc\u30a4\u30e1\u30fc\u30b8(*.img, *.dd, *.001, *.aa, *.raw, *.bin)
|
ImageDSProcessor.allDesc.text=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u5168\u30BF\u30A4\u30D7
|
||||||
GeneralFilter.encaseImageDesc.text=\u30a8\u30f3\u30b1\u30fc\u30b9\u30a4\u30e1\u30fc\u30b8(*.e01)
|
ImageFilePanel.moduleErr=\u30E2\u30B8\u30E5\u30FC\u30EB\u30A8\u30E9\u30FC
|
||||||
ImageDSProcessor.dsType.text=\u30a4\u30e1\u30fc\u30b8\u30d5\u30a1\u30a4\u30eb
|
ImageFilePanel.moduleErr.msg=ImageFilePanel\u306E\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3092\u78BA\u8A8D\u4E2D\u306B\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u30A8\u30E9\u30FC\u3092\u8D77\u3053\u3057\u307E\u3057\u305F\u3002\u3069\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u304B\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002\u4E00\u90E8\u306E\u30C7\u30FC\u30BF\u304C\u4E0D\u5B8C\u5168\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002
|
||||||
ImageDSProcessor.allDesc.text=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u5168\u30bf\u30a4\u30d7
|
LocalDiskDSProcessor.dsType.text=\u30ED\u30FC\u30AB\u30EB\u30C7\u30A3\u30B9\u30AF
|
||||||
ImageFilePanel.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
|
LocalDiskPanel.localDiskModel.loading.msg=\u30ED\u30FC\u30AB\u30EB\u30C7\u30A3\u30B9\u30AF\u3092\u30ED\u30FC\u30C9\u4E2D\u2026
|
||||||
ImageFilePanel.moduleErr.msg=ImageFilePanel\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3092\u78ba\u8a8d\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u8d77\u3053\u3057\u307e\u3057\u305f\u3002\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304b\u30ed\u30b0\u3067\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
|
LocalDiskPanel.moduleErr=\u30E2\u30B8\u30E5\u30FC\u30EB\u30A8\u30E9\u30FC
|
||||||
LocalDiskDSProcessor.dsType.text=\u30ed\u30fc\u30ab\u30eb\u30c7\u30a3\u30b9\u30af
|
LocalDiskPanel.moduleErr.msg=LocalDiskPanel\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3092\u78BA\u8A8D\u4E2D\u306B\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u30A8\u30E9\u30FC\u3092\u8D77\u3053\u3057\u307E\u3057\u305F\u3002\u3069\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u304B\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002\u4E00\u90E8\u306E\u30C7\u30FC\u30BF\u304C\u4E0D\u5B8C\u5168\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002
|
||||||
LocalDiskPanel.localDiskModel.loading.msg=\u30ed\u30fc\u30ab\u30eb\u30c7\u30a3\u30b9\u30af\u3092\u30ed\u30fc\u30c9\u4e2d\u2026
|
LocalDiskPanel.errLabel.disksNotDetected.text=\u30C7\u30A3\u30B9\u30AF\u304C\u691C\u51FA\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u4E00\u90E8\u306E\u30B7\u30B9\u30C6\u30E0\u3067\u306F\u7BA1\u7406\u8005\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\uFF08\u3082\u3057\u304F\u306F\u300C\u7BA1\u7406\u8005\u3068\u3057\u3066\u5B9F\u884C\u3059\u308B\u300D\u304C\u5FC5\u8981\uFF09\u3002
|
||||||
LocalDiskPanel.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
|
LocalDiskPanel.errLabel.disksNotDetected.toolTipText=\u30C7\u30A3\u30B9\u30AF\u304C\u691C\u51FA\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u4E00\u90E8\u306E\u30B7\u30B9\u30C6\u30E0\u3067\u306F\u7BA1\u7406\u8005\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\uFF08\u3082\u3057\u304F\u306F\u300C\u7BA1\u7406\u8005\u3068\u3057\u3066\u5B9F\u884C\u3059\u308B\u300D\u304C\u5FC5\u8981\uFF09\u3002
|
||||||
LocalDiskPanel.moduleErr.msg=LocalDiskPanel\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3092\u78ba\u8a8d\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u8d77\u3053\u3057\u307e\u3057\u305f\u3002\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304b\u30ed\u30b0\u3067\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
|
LocalDiskPanel.errLabel.drivesNotDetected.text=\u30ED\u30FC\u30AB\u30EB\u30C9\u30E9\u30A4\u30D6\u304C\u691C\u51FA\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u81EA\u52D5\u691C\u51FA\u306F\u3053\u306EOS\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u304B\u3001\u7BA1\u7406\u8005\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002
|
||||||
LocalDiskPanel.errLabel.disksNotDetected.text=\u30c7\u30a3\u30b9\u30af\u304c\u691c\u51fa\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u4e00\u90e8\u306e\u30b7\u30b9\u30c6\u30e0\u3067\u306f\u7ba1\u7406\u8005\u6a29\u9650\u304c\u5fc5\u8981\u3067\u3059\uff08\u3082\u3057\u304f\u306f\u300c\u7ba1\u7406\u8005\u3068\u3057\u3066\u5b9f\u884c\u3059\u308b\u300d\u304c\u5fc5\u8981\uff09\u3002
|
LocalDiskPanel.errLabel.drivesNotDetected.toolTipText=\u30ED\u30FC\u30AB\u30EB\u30C9\u30E9\u30A4\u30D6\u304C\u691C\u51FA\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u81EA\u52D5\u691C\u51FA\u306F\u3053\u306EOS\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u304B\u3001\u7BA1\u7406\u8005\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002
|
||||||
LocalDiskPanel.errLabel.disksNotDetected.toolTipText=\u30c7\u30a3\u30b9\u30af\u304c\u691c\u51fa\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u4e00\u90e8\u306e\u30b7\u30b9\u30c6\u30e0\u3067\u306f\u7ba1\u7406\u8005\u6a29\u9650\u304c\u5fc5\u8981\u3067\u3059\uff08\u3082\u3057\u304f\u306f\u300c\u7ba1\u7406\u8005\u3068\u3057\u3066\u5b9f\u884c\u3059\u308b\u300d\u304c\u5fc5\u8981\uff09\u3002
|
LocalDiskPanel.errLabel.someDisksNotDetected.text=\u4E00\u90E8\u306E\u30C7\u30A3\u30B9\u30AF\u304C\u691C\u51FA\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u4E00\u90E8\u306E\u30B7\u30B9\u30C6\u30E0\u3067\u306F\u7BA1\u7406\u8005\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\uFF08\u3082\u3057\u304F\u306F\u300C\u7BA1\u7406\u8005\u3068\u3057\u3066\u5B9F\u884C\u3059\u308B\u300D\uFF09\u3002
|
||||||
LocalDiskPanel.errLabel.drivesNotDetected.text=\u30ed\u30fc\u30ab\u30eb\u30c9\u30e9\u30a4\u30d6\u304c\u691c\u51fa\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u81ea\u52d5\u691c\u51fa\u306f\u3053\u306eOS\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u304b\u3001\u7ba1\u7406\u8005\u6a29\u9650\u304c\u5fc5\u8981\u3067\u3059\u3002
|
LocalDiskPanel.errLabel.someDisksNotDetected.toolTipText=\u4E00\u90E8\u306E\u30C7\u30A3\u30B9\u30AF\u304C\u691C\u51FA\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u4E00\u90E8\u306E\u30B7\u30B9\u30C6\u30E0\u3067\u306F\u7BA1\u7406\u8005\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\uFF08\u3082\u3057\u304F\u306F\u300C\u7BA1\u7406\u8005\u3068\u3057\u3066\u5B9F\u884C\u3059\u308B\u300D\uFF09\u3002
|
||||||
LocalDiskPanel.errLabel.drivesNotDetected.toolTipText=\u30ed\u30fc\u30ab\u30eb\u30c9\u30e9\u30a4\u30d6\u304c\u691c\u51fa\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u81ea\u52d5\u691c\u51fa\u306f\u3053\u306eOS\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u304b\u3001\u7ba1\u7406\u8005\u6a29\u9650\u304c\u5fc5\u8981\u3067\u3059\u3002
|
LocalFilesDSProcessor.dsType=\u30ED\u30B8\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB
|
||||||
LocalDiskPanel.errLabel.someDisksNotDetected.text=\u4e00\u90e8\u306e\u30c7\u30a3\u30b9\u30af\u304c\u691c\u51fa\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u4e00\u90e8\u306e\u30b7\u30b9\u30c6\u30e0\u3067\u306f\u7ba1\u7406\u8005\u6a29\u9650\u304c\u5fc5\u8981\u3067\u3059\uff08\u3082\u3057\u304f\u306f\u300c\u7ba1\u7406\u8005\u3068\u3057\u3066\u5b9f\u884c\u3059\u308b\u300d\uff09\u3002
|
LocalFilesDSProcessor.toString.text=\u30ED\u30B8\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB
|
||||||
LocalDiskPanel.errLabel.someDisksNotDetected.toolTipText=\u4e00\u90e8\u306e\u30c7\u30a3\u30b9\u30af\u304c\u691c\u51fa\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u4e00\u90e8\u306e\u30b7\u30b9\u30c6\u30e0\u3067\u306f\u7ba1\u7406\u8005\u6a29\u9650\u304c\u5fc5\u8981\u3067\u3059\uff08\u3082\u3057\u304f\u306f\u300c\u7ba1\u7406\u8005\u3068\u3057\u3066\u5b9f\u884c\u3059\u308b\u300d\uff09\u3002
|
LocalFilesPanel.contentType.text=\u30ED\u30FC\u30AB\u30EB
|
||||||
LocalFilesDSProcessor.dsType=\u30ed\u30b8\u30ab\u30eb\u30d5\u30a1\u30a4\u30eb
|
LocalFilesPanel.moduleErr=\u30E2\u30B8\u30E5\u30FC\u30EB\u30A8\u30E9\u30FC
|
||||||
LocalFilesDSProcessor.toString.text=\u30ed\u30b8\u30ab\u30eb\u30d5\u30a1\u30a4\u30eb
|
LocalFilesPanel.moduleErr.msg=LocalFilesPanel\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3092\u78BA\u8A8D\u4E2D\u306B\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u30A8\u30E9\u30FC\u3092\u8D77\u3053\u3057\u307E\u3057\u305F\u3002\u3069\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u304B\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002\u4E00\u90E8\u306E\u30C7\u30FC\u30BF\u304C\u4E0D\u5B8C\u5168\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002
|
||||||
LocalFilesPanel.contentType.text=\u30ed\u30fc\u30ab\u30eb
|
MissingImageDialog.allDesc.text=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u5168\u3066\u306E\u30BF\u30A4\u30D7
|
||||||
LocalFilesPanel.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
|
MissingImageDialog.display.title=\u6B20\u843D\u30A4\u30E1\u30FC\u30B8\u3092\u691C\u7D22
|
||||||
LocalFilesPanel.moduleErr.msg=LocalFilesPanel\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3092\u78ba\u8a8d\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u8d77\u3053\u3057\u307e\u3057\u305f\u3002\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304b\u30ed\u30b0\u3067\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
|
MissingImageDialog.confDlg.noFileSel.msg=\u30A4\u30E1\u30FC\u30B8\u30D5\u30A1\u30A4\u30EB\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30A4\u30E1\u30FC\u30B8\u3092\u898B\u3064\u3051\u308B\n\u524D\u306B\u672C\u5F53\u306B\u7D42\u4E86\u3057\u307E\u3059\u304B\uFF1F
|
||||||
MissingImageDialog.allDesc.text=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u5168\u3066\u306e\u30bf\u30a4\u30d7
|
MissingImageDialog.confDlg.noFileSel.title=\u6B20\u843D\u30A4\u30E1\u30FC\u30B8
|
||||||
MissingImageDialog.display.title=\u6b20\u843d\u30a4\u30e1\u30fc\u30b8\u3092\u691c\u7d22
|
NewCaseVisualPanel1.getName.text=\u30B1\u30FC\u30B9\u60C5\u5831
|
||||||
MissingImageDialog.confDlg.noFileSel.msg=\u30a4\u30e1\u30fc\u30b8\u30d5\u30a1\u30a4\u30eb\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u30a4\u30e1\u30fc\u30b8\u3092\u898b\u3064\u3051\u308b\n\u524d\u306b\u672c\u5f53\u306b\u7d42\u4e86\u3057\u307e\u3059\u304b\uff1f
|
NewCaseVisualPanel1.caseDirBrowse.selectButton.text=\u9078\u629E
|
||||||
MissingImageDialog.confDlg.noFileSel.title=\u6b20\u843d\u30a4\u30e1\u30fc\u30b8
|
NewCaseVisualPanel2.getName.text=\u4ED8\u52A0\u60C5\u5831
|
||||||
NewCaseVisualPanel1.getName.text=\u30b1\u30fc\u30b9\u60c5\u5831
|
NewCaseWizardAction.newCase.windowTitle.text=\u65B0\u898F\u30B1\u30FC\u30B9\u60C5\u5831
|
||||||
NewCaseVisualPanel1.caseDirBrowse.selectButton.text=\u9078\u629e
|
NewCaseWizardAction.getName.text=\u65B0\u898F\u30B1\u30FC\u30B9\u30A6\u30A3\u30B6\u30FC\u30C9
|
||||||
NewCaseVisualPanel2.getName.text=\u4ed8\u52a0\u60c5\u5831
|
NewCaseWizardPanel1.validate.errMsg.invalidSymbols=\u30B1\u30FC\u30B9\u540D\u306B\u306F\u6B21\u306E\u8A18\u53F7\u3092\u542B\u3081\u307E\u305B\u3093\uFF1A\\ / \: * ? " < > |
|
||||||
NewCaseWizardAction.closeCurCase.confMsg.msg=\u3053\u306e\u30b1\u30fc\u30b9\u3092\u4fdd\u5b58\u3057\u3001\u9589\u3058\u3066\u3001\u65b0\u898f\u30b1\u30fc\u30b9\u4f5c\u6210\u3092\u5b9f\u884c\u3057\u307e\u3059\u304b\uff1f
|
NewCaseWizardPanel1.validate.errMsg.dirExists=\u30B1\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA''{0}''\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059\u3002
|
||||||
NewCaseWizardAction.closeCurCase.confMsg.title=\u8b66\u544a\uff1a\u73fe\u5728\u306e\u30b1\u30fc\u30b9\u3092\u9589\u3058\u307e\u3059
|
NewCaseWizardPanel1.validate.confMsg.createDir.msg=\u30D9\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA''{0}''\u306F\u5B58\u5728\u3057\u307E\u305B\u3093\u3002\n\n\
|
||||||
NewCaseWizardAction.newCase.windowTitle.text=\u65b0\u898f\u30b1\u30fc\u30b9\u60c5\u5831
|
\u3053\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F5C\u6210\u3057\u307E\u3059\u304B\uFF1F
|
||||||
NewCaseWizardAction.getName.text=\u65b0\u898f\u30b1\u30fc\u30b9\u30a6\u30a3\u30b6\u30fc\u30c9
|
NewCaseWizardPanel1.validate.confMsg.createDir.title=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F5C\u6210
|
||||||
NewCaseWizardPanel1.validate.errMsg.invalidSymbols=\u30b1\u30fc\u30b9\u540d\u306b\u306f\u4e0b\u8a18\u306e\u8a18\u53f7\u3092\u542b\u3081\u307e\u305b\u3093\uff1a\\ / \: * ? " < > |
|
NewCaseWizardPanel1.validate.errMsg.cantCreateParDir.msg=\u30A8\u30E9\u30FC\uFF1A\u30B1\u30FC\u30B9\u30DA\u30A2\u30EC\u30F3\u30C8\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{0}\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
|
||||||
NewCaseWizardPanel1.validate.errMsg.dirExists=\u30b1\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea''{0}''\u306f\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3002
|
NewCaseWizardPanel1.validate.errMsg.prevCreateBaseDir.msg=\u30D9\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{0}\u306E\u4F5C\u6210\u3092\u9632\u6B62\u3055\u308C\u307E\u3057\u305F
|
||||||
NewCaseWizardPanel1.validate.confMsg.createDir.msg=\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea''{0}''\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002\n\n\
|
NewCaseWizardPanel1.validate.errMsg.cantCreateDir=\u30A8\u30E9\u30FC\uFF1A\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
||||||
\u3053\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3057\u307e\u3059\u304b\uff1f
|
NewCaseWizardPanel1.validate.errMsg.invalidBaseDir.msg=\u30A8\u30E9\u30FC\uFF1A\u5165\u529B\u3057\u305F\u30D9\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\n\u6709\u52B9\u306A\u30D9\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u5165\u529B\u3057\u3066\u4E0B\u3055\u3044\u3002
|
||||||
NewCaseWizardPanel1.validate.confMsg.createDir.title=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4f5c\u6210
|
NewCaseWizardPanel1.createDir.errMsg.cantCreateDir.msg=\u30A8\u30E9\u30FC\uFF1A\u30B1\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\n\u6709\u52B9\u306A\u30B1\u30FC\u30B9\u540D\u304A\u3088\u3073\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u5165\u529B\u3057\u3066\u4E0B\u3055\u3044\u3002
|
||||||
NewCaseWizardPanel1.validate.errMsg.cantCreateParDir.msg=\u30a8\u30e9\u30fc\uff1a\u30b1\u30fc\u30b9\u30da\u30a2\u30ec\u30f3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea{0}\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
|
NewCaseWizardPanel2.validate.errCreateCase.msg=\u30B1\u30FC\u30B9\u306E\u4F5C\u6210\u30A8\u30E9\u30FC
|
||||||
NewCaseWizardPanel1.validate.errMsg.prevCreateBaseDir.msg=\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea{0}\u306e\u4f5c\u6210\u3092\u9632\u6b62\u3055\u308c\u307e\u3057\u305f
|
OpenRecentCasePanel.colName.caseName=\u30B1\u30FC\u30B9\u540D
|
||||||
NewCaseWizardPanel1.validate.errMsg.cantCreateDir=\u30a8\u30e9\u30fc\uff1a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
|
OpenRecentCasePanel.colName.path=\u30D1\u30B9
|
||||||
NewCaseWizardPanel1.validate.errMsg.invalidBaseDir.msg=\u30a8\u30e9\u30fc\uff1a\u5165\u529b\u3057\u305f\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u6709\u52b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\n\u6709\u52b9\u306a\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044\u3002
|
RecentCases.exception.caseIdxOutOfRange.msg=\u6700\u8FD1\u306E\u30B1\u30FC\u30B9\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9{0}\u306F\u7BC4\u56F2\u5916\u3067\u3059\u3002
|
||||||
NewCaseWizardPanel1.createDir.errMsg.cantCreateDir.msg=\u30a8\u30e9\u30fc\uff1a\u30b1\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\n\u6709\u52b9\u306a\u30b1\u30fc\u30b9\u540d\u304a\u3088\u3073\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044\u3002
|
RecentCases.getName.text=\u6700\u8FD1\u958B\u3044\u305F\u30B1\u30FC\u30B9\u3092\u30AF\u30EA\u30A2
|
||||||
NewCaseWizardPanel2.validate.errCreateCase.msg=\u30b1\u30fc\u30b9\u4f5c\u6210\u30a8\u30e9\u30fc
|
RecentItems.openRecentCase.msgDlg.text=\u30A8\u30E9\u30FC\uFF1A\u30B1\u30FC\u30B9{0}\u306F\u3082\u3046\u5B58\u5728\u3057\u307E\u305B\u3093\u3002
|
||||||
OpenRecentCasePanel.openCase.msgDlg.caseDoesntExist.msg=\u30a8\u30e9\u30fc\uff1a\u30b1\u30fc\u30b9{0}\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
|
StartupWindow.title.text=\u3088\u3046\u3053\u305D
|
||||||
OpenRecentCasePanel.openCase.msgDlg.err=\u30a8\u30e9\u30fc
|
UpdateRecentCases.menuItem.clearRecentCases.text=\u6700\u8FD1\u958B\u3044\u305F\u30B1\u30FC\u30B9\u3092\u30AF\u30EA\u30A2
|
||||||
OpenRecentCasePanel.colName.caseName=\u30b1\u30fc\u30b9\u540d
|
UpdateRecentCases.menuItem.empty=-\u7A7A\u767D-
|
||||||
OpenRecentCasePanel.colName.path=\u30d1\u30b9
|
XMLCaseManagement.create.exception.msg=\u30B1\u30FC\u30B9XML\u30D5\u30A1\u30A4\u30EB\u306E\u8A2D\u5B9A\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3001
|
||||||
RecentCases.exception.caseIdxOutOfRange.msg=\u6700\u8fd1\u306e\u30b1\u30fc\u30b9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9{0}\u306f\u7bc4\u56f2\u5916\u3067\u3059\u3002
|
XMLCaseManagement.writeFile.exception.noCase.msg=\u30DE\u30CD\u30B8\u30E1\u30F3\u30C8\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304F\u5FC5\u8981\u304C\u3042\u308B\u30B1\u30FC\u30B9\u304C\u3042\u308A\u307E\u305B\u3093\u3002
|
||||||
RecentCases.getName.text=\u6700\u8fd1\u958b\u3044\u305f\u30b1\u30fc\u30b9\u3092\u30af\u30ea\u30a2
|
XMLCaseManagement.writeFile.exception.errWriteToFile.msg=\u30B1\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u66F8\u304D\u8FBC\u307F\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
||||||
RecentItems.openRecentCase.msgDlg.text=\u30a8\u30e9\u30fc\uff1a\u30b1\u30fc\u30b9{0}\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
|
XMLCaseManagement.open.exception.errReadXMLFile.msg=\u30B1\u30FC\u30B9XML\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u307F\u53D6\u308A\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A{0}
|
||||||
RecentItems.openRecentCase.msgDlg.err=\u30a8\u30e9\u30fc
|
XMLCaseManagement.open.msgDlg.notAutCase.msg=\u30A8\u30E9\u30FC\uFF1AAutopsy\u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB("{0}")\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\n\n\
|
||||||
StartupWindow.title.text=\u3088\u3046\u3053\u305d
|
\u8A73\u7D30\uFF1A\n\
|
||||||
UpdateRecentCases.menuItem.clearRecentCases.text=\u6700\u8fd1\u958b\u3044\u305f\u30b1\u30fc\u30b9\u3092\u30af\u30ea\u30a2
|
Autopsy\u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB\u4EE5\u5916\u306F(at {1})\u3067\u958B\u3051\u307E\u305B\u3093\u3002
|
||||||
UpdateRecentCases.menuItem.empty=-\u7a7a\u767d-
|
XMLCaseManagement.open.msgDlg.notAutCase.title=\u30A8\u30E9\u30FC
|
||||||
XMLCaseManagement.create.exception.msg=\u30b1\u30fc\u30b9XML\u30d5\u30a1\u30a4\u30eb\u306e\u8a2d\u5b9a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3001
|
ImageFilePanel.noFatOrphansCheckbox.text=FAT\u30D5\u30A1\u30A4\u30EB\u30B7\u30B9\u30C6\u30E0\u306E\u30AA\u30FC\u30D5\u30A1\u30F3\u30D5\u30A1\u30A4\u30EB\u306F\u7121\u8996
|
||||||
XMLCaseManagement.writeFile.exception.noCase.msg=\u30de\u30cd\u30b8\u30e1\u30f3\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u66f8\u304f\u5fc5\u8981\u304c\u3042\u308b\u30b1\u30fc\u30b9\u304c\u3042\u308a\u307e\u305b\u3093\u3002
|
LocalDiskPanel.noFatOrphansCheckbox.text=FAT\u30D5\u30A1\u30A4\u30EB\u30B7\u30B9\u30C6\u30E0\u306E\u30AA\u30FC\u30D5\u30A1\u30F3\u30D5\u30A1\u30A4\u30EB\u306F\u7121\u8996
|
||||||
XMLCaseManagement.writeFile.exception.errWriteToFile.msg=\u30b1\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
|
AddImageWizardIngestConfigPanel.CANCEL_BUTTON.text=\u30AD\u30E3\u30F3\u30BB\u30EB
|
||||||
XMLCaseManagement.open.exception.errReadXMLFile.msg=\u30b1\u30fc\u30b9XML\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff1a{0}
|
ImageFilePanel.errorLabel.text=\u30A8\u30E9\u30FC\u30E9\u30D9\u30EB
|
||||||
XMLCaseManagement.open.msgDlg.notAutCase.msg=\u30a8\u30e9\u30fc\uff1aAutopsy\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb("{0}")\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\n\n\
|
LocalFilesPanel.errorLabel.text=\u30A8\u30E9\u30FC\u30E9\u30D9\u30EB
|
||||||
\u8a73\u7d30\uff1a\n\
|
NewCaseVisualPanel1.caseTypeLabel.text=\u30B1\u30FC\u30B9\u30BF\u30A4\u30D7\uFF1A
|
||||||
Autopsy\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u4ee5\u5916(at {1})\u306f\u958b\u3051\u307e\u305b\u3093\u3002
|
Case.databaseConnectionInfo.error.msg=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30B5\u30FC\u30D0\u30FC\u306E\u63A5\u7D9A\u60C5\u5831\u3092\u5165\u624B\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u30C4\u30FC\u30EB\u3001\u30AA\u30D7\u30B7\u30E7\u30F3\u3001\u8907\u6570\u30E6\u30FC\u30B6\u30FC\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||||
XMLCaseManagement.open.msgDlg.notAutCase.title=\u30a8\u30e9\u30fc
|
Case.open.exception.multiUserCaseNotEnabled=\u8907\u6570\u30E6\u30FC\u30B6\u30FC\u306E\u30B1\u30FC\u30B9\u304C\u6709\u52B9\u5316\u3055\u308C\u3066\u3044\u306A\u3044\u3068\u3001\u8907\u6570\u30E6\u30FC\u30B6\u30FC\u306E\u30B1\u30FC\u30B9\u306F\u958B\u3051\u307E\u305B\u3093\u3002\u30C4\u30FC\u30EB\u3001\u30AA\u30D7\u30B7\u30E7\u30F3\u3001\u8907\u6570\u30E6\u30FC\u30B6\u30FC\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||||
ImageFilePanel.noFatOrphansCheckbox.text=FAT\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u306e\u30aa\u30fc\u30d5\u30a1\u30f3\u30d5\u30a1\u30a4\u30eb\u306f\u7121\u8996
|
Case.createCaseDir.exception.cantCreateReportsDir=\u30EC\u30DD\u30FC\u30C8\u30A2\u30A6\u30C8\u30D7\u30C3\u30C8\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0}
|
||||||
LocalDiskPanel.noFatOrphansCheckbox.text=FAT\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u306e\u30aa\u30fc\u30d5\u30a1\u30f3\u30d5\u30a1\u30a4\u30eb\u306f\u7121\u8996
|
Case.CollaborationSetup.FailNotify.ErrMsg=\u3053\u306E\u30B1\u30FC\u30B9\u3067\u4F7F\u308F\u308C\u3066\u3044\u308B\u304B\u3082\u3057\u308C\u306A\u3044\u30CE\u30FC\u30C9\u306B\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
||||||
AddImageWizardIngestConfigPanel.CANCEL_BUTTON.text=\u30ad\u30e3\u30f3\u30bb\u30eb
|
Case.CollaborationSetup.FailNotify.Title=\u63A5\u7D9A\u306B\u5931\u6557
|
||||||
ImageFilePanel.errorLabel.text=\u30a8\u30e9\u30fc\u30e9\u30d9\u30eb
|
Case.GetCaseTypeGivenPath.Failure=\u30B1\u30FC\u30B9\u30BF\u30A4\u30D7\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
|
||||||
LocalFilesPanel.errorLabel.text=\u30a8\u30e9\u30fc\u30e9\u30d9\u30eb
|
Case.metaDataFileCorrupt.exception.msg=\u30B1\u30FC\u30B9\u30E1\u30BF\u30C7\u30FC\u30BF\u30D5\u30A1\u30A4\u30EB(.aut)\u304C\u7834\u640D\u3057\u3066\u3044\u307E\u3059\u3002
|
||||||
NewCaseVisualPanel1.caseParentDirWarningLabel.text=\u30a8\u30e9\u30fc\u30e9\u30d9\u30eb
|
Case.deleteReports.deleteFromDiskException.log.msg=\u30C7\u30A3\u30B9\u30AF\u304B\u3089\u30EC\u30DD\u30FC\u30C8\u3092\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
||||||
NewCaseVisualPanel1.caseTypeLabel.text=\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\uff1a
|
Case.deleteReports.deleteFromDiskException.msg=\u30C7\u30A3\u30B9\u30AF\u304B\u3089{0}\u30EC\u30DD\u30FC\u30C8\u3092\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\n{1}\u304B\u3089\u624B\u52D5\u3067\u524A\u9664\u3067\u304D\u307E\u3059\u3002
|
||||||
|
CaseCreateAction.msgDlg.cantCreateCase.msg=\u30B1\u30FC\u30B9\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093
|
||||||
|
IntervalErrorReport.NewIssues=\u65B0\u898F\u306E\u30A4\u30B7\u30E5\u30FC
|
||||||
|
IntervalErrorReport.TotalIssues=\u5168\u30A4\u30B7\u30E5\u30FC
|
||||||
|
IntervalErrorReport.ErrorText=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u63A5\u7D9A\u30A8\u30E9\u30FC
|
||||||
|
GeneralFilter.virtualMachineImageDesc.text=\u4EEE\u60F3\u30DE\u30B7\u30F3(*.vmdk, *.vhd)
|
||||||
|
LocalDiskPanel.localDiskModel.nodrives.msg=\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u308B\u30C9\u30E9\u30A4\u30D6\u304C\u3042\u308A\u307E\u305B\u3093
|
||||||
|
MissingImageDialog.ErrorSettingImage=\u30A4\u30E1\u30FC\u30B8\u30D1\u30B9\u3092\u8A2D\u5B9A\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u518D\u5EA6\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||||
|
NewCaseVisualPanel1.badCredentials.text=\u4F7F\u3048\u306A\u3044\u8907\u6570\u30E6\u30FC\u30B6\u30FC\u306E\u8A2D\u5B9A\uFF08\u30C4\u30FC\u30EB\u3001\u30AA\u30D7\u30B7\u30E7\u30F3\u3001\u8907\u6570\u30E6\u30FC\u30B6\u30FC\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u307E\u305F\u306F\u30B5\u30FC\u30D3\u30B9\u304C\u30C0\u30A6\u30F3\u3057\u3066\u3044\u307E\u3059\u3002
|
||||||
|
NewCaseWizardAction.databaseProblem1.text=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092\u958B\u3051\u307E\u305B\u3093\u3002\u30B1\u30FC\u30B9\u4F5C\u6210\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u3066\u3044\u307E\u3059\u3002
|
||||||
|
NewCaseWizardAction.databaseProblem2.text=\u30A8\u30E9\u30FC
|
||||||
|
DataSourceOnCDriveError.text=\u8B66\u544A\uFF1A\u8907\u6570\u30E6\u30FC\u30B6\u30FC\u306E\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u3078\u306E\u30D1\u30B9\u306F"C\:"\u30C9\u30E9\u30A4\u30D6\u306B\u3042\u308A\u307E\u3059
|
||||||
|
NewCaseVisualPanel1.CaseFolderOnCDriveError.text=\u8B66\u544A\uFF1A\u8907\u6570\u30E6\u30FC\u30B6\u30FC\u306E\u30B1\u30FC\u30B9\u30D5\u30A9\u30EB\u30C0\u3078\u306E\u30D1\u30B9\u306F"C\:"\u30C9\u30E9\u30A4\u30D6\u306B\u3042\u308A\u307E\u3059
|
||||||
|
CollaborationMonitor.addingDataSourceStatus.msg={0}\u304C\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092\u8FFD\u52A0\u4E2D
|
||||||
|
CollaborationMonitor.analyzingDataSourceStatus.msg={0}\u304C{1}\u3092\u89E3\u6790\u4E2D
|
||||||
|
NewCaseVisualPanel1.multiUserCaseRadioButton.text=\u8907\u6570\u30E6\u30FC\u30B6\u30FC
|
||||||
|
NewCaseVisualPanel1.singleUserCaseRadioButton.text=\u5358\u6570\u30E6\u30FC\u30B6\u30FC
|
||||||
|
CasePropertiesForm.lbDbType.text=\u30B1\u30FC\u30B9\u30BF\u30A4\u30D7\uFF1A
|
||||||
|
CasePropertiesForm.lbDbName.text=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u540D\uFF1A
|
||||||
|
SingleUserCaseConverter.BadDatabaseFileName=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\uFF01
|
||||||
|
SingleUserCaseConverter.AlreadyMultiUser=\u30B1\u30FC\u30B9\u306F\u65E2\u306B\u8907\u6570\u30E6\u30FC\u30B6\u30FC\u3067\u3059\uFF01
|
||||||
|
SingleUserCaseConverter.NonUniqueDatabaseName=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u540D\u304C\u30E6\u30CB\u30FC\u30AF\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
|
||||||
|
SingleUserCaseConverter.UnableToCopySourceImages=\u30BD\u30FC\u30B9\u30A4\u30E1\u30FC\u30B8\u3092\u30B3\u30D4\u30FC\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
||||||
|
SingleUserCaseConverter.CanNotOpenDatabase=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F
|
||||||
|
CloseCaseWhileIngesting.Warning=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u304C\u5B9F\u884C\u4E2D\u3067\u3059\u3002\u3053\u306E\u30B1\u30FC\u30B9\u3092\u672C\u5F53\u306B\u9589\u3058\u307E\u3059\u304B\uFF1F
|
||||||
|
CloseCaseWhileIngesting.Warning.title=\u8B66\u544A\uFF1A\u3053\u308C\u3092\u5B9F\u884C\u3059\u308C\u3070\u4F5C\u696D\u4E2D\u306E\u30B1\u30FC\u30B9\u3092\u9589\u3058\u307E\u3059
|
||||||
|
@ -93,7 +93,7 @@ import org.sleuthkit.datamodel.TskException;
|
|||||||
public class Case implements SleuthkitCase.ErrorObserver {
|
public class Case implements SleuthkitCase.ErrorObserver {
|
||||||
|
|
||||||
private static final String autopsyVer = Version.getVersion(); // current version of autopsy. Change it when the version is changed
|
private static final String autopsyVer = Version.getVersion(); // current version of autopsy. Change it when the version is changed
|
||||||
private static final String EVENT_CHANNEL_NAME = "%s-Case-Events";
|
private static final String EVENT_CHANNEL_NAME = "%s-Case-Events"; //NON-NLS
|
||||||
private static String appName = null;
|
private static String appName = null;
|
||||||
volatile private IntervalErrorReportData tskErrorReporter = null;
|
volatile private IntervalErrorReportData tskErrorReporter = null;
|
||||||
private static final int MIN_SECONDS_BETWEEN_ERROR_REPORTS = 60; // No less than 60 seconds between warnings for errors
|
private static final int MIN_SECONDS_BETWEEN_ERROR_REPORTS = 60; // No less than 60 seconds between warnings for errors
|
||||||
@ -218,10 +218,12 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
* This enum describes the type of case, either single-user (standalone) or
|
* This enum describes the type of case, either single-user (standalone) or
|
||||||
* multi-user (using PostgreSql)
|
* multi-user (using PostgreSql)
|
||||||
*/
|
*/
|
||||||
|
@NbBundle.Messages({"Case_caseType_singleUser=Single-user case",
|
||||||
|
"Case_caseType_multiUser=Multi-user case"})
|
||||||
public enum CaseType {
|
public enum CaseType {
|
||||||
|
|
||||||
SINGLE_USER_CASE("Single-user case"),
|
SINGLE_USER_CASE(Bundle.Case_caseType_singleUser()),
|
||||||
MULTI_USER_CASE("Multi-user case");
|
MULTI_USER_CASE(Bundle.Case_caseType_multiUser());
|
||||||
|
|
||||||
private final String caseType;
|
private final String caseType;
|
||||||
|
|
||||||
@ -368,7 +370,7 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
eventPublisher.openRemoteEventChannel(String.format(EVENT_CHANNEL_NAME, newCase.getTextIndexName()));
|
eventPublisher.openRemoteEventChannel(String.format(EVENT_CHANNEL_NAME, newCase.getTextIndexName()));
|
||||||
currentCase.collaborationMonitor = new CollaborationMonitor();
|
currentCase.collaborationMonitor = new CollaborationMonitor();
|
||||||
} catch (AutopsyEventException | CollaborationMonitor.CollaborationMonitorException ex) {
|
} catch (AutopsyEventException | CollaborationMonitor.CollaborationMonitorException ex) {
|
||||||
logger.log(Level.SEVERE, "Failed to setup for collaboration", ex);
|
logger.log(Level.SEVERE, "Failed to setup for collaboration", ex); //NON-NLS
|
||||||
MessageNotifyUtil.Notify.error(NbBundle.getMessage(Case.class, "Case.CollaborationSetup.FailNotify.Title"), NbBundle.getMessage(Case.class, "Case.CollaborationSetup.FailNotify.ErrMsg"));
|
MessageNotifyUtil.Notify.error(NbBundle.getMessage(Case.class, "Case.CollaborationSetup.FailNotify.Title"), NbBundle.getMessage(Case.class, "Case.CollaborationSetup.FailNotify.ErrMsg"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -384,7 +386,8 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void receiveError(String context, String errorMessage) {
|
public void receiveError(String context, String errorMessage) {
|
||||||
/* NOTE: We are accessing tskErrorReporter from two different threads.
|
/*
|
||||||
|
* NOTE: We are accessing tskErrorReporter from two different threads.
|
||||||
* This is ok as long as we only read the value of tskErrorReporter
|
* This is ok as long as we only read the value of tskErrorReporter
|
||||||
* because tskErrorReporter is declared as volatile.
|
* because tskErrorReporter is declared as volatile.
|
||||||
*/
|
*/
|
||||||
@ -398,63 +401,87 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new case (create the XML config file and database). Overload
|
* Creates a single-user new case.
|
||||||
* for API consistency, defaults to a single-user case.
|
|
||||||
*
|
*
|
||||||
* @param caseDir The directory to store case data in. Will be created if
|
* @param caseDir The full path of the case directory. It will be created
|
||||||
* it doesn't already exist. If it exists, it should have
|
* if it doesn't already exist; if it exists, it should
|
||||||
* all of the needed sub dirs that createCaseDirectory()
|
* have been created using Case.createCaseDirectory() to
|
||||||
* will create.
|
* ensure that the required sub-directories aere created.
|
||||||
* @param caseName the name of case
|
* @param caseName The name of case.
|
||||||
* @param caseNumber the case number
|
* @param caseNumber The case number, can be the empty string.
|
||||||
* @param examiner the examiner for this case
|
* @param examiner The examiner to associate with the case, can be the
|
||||||
|
* empty string.
|
||||||
*
|
*
|
||||||
* @throws org.sleuthkit.autopsy.casemodule.CaseActionException
|
* @throws CaseActionException if there is a problem creating the case. The
|
||||||
|
* exception will have a user-friendly message
|
||||||
|
* and may be a wrapper for a lower-level
|
||||||
|
* exception. If so,
|
||||||
|
* CaseActionException.getCause will return a
|
||||||
|
* Throwable (null otherwise).
|
||||||
*/
|
*/
|
||||||
public static void create(String caseDir, String caseName, String caseNumber, String examiner) throws CaseActionException {
|
public static void create(String caseDir, String caseName, String caseNumber, String examiner) throws CaseActionException {
|
||||||
create(caseDir, caseName, caseNumber, examiner, CaseType.SINGLE_USER_CASE);
|
create(caseDir, caseName, caseNumber, examiner, CaseType.SINGLE_USER_CASE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new case (create the XML config file and database)
|
* Creates a new case.
|
||||||
*
|
*
|
||||||
* @param caseDir The directory to store case data in. Will be created if
|
* @param caseDir The full path of the case directory. It will be created
|
||||||
* it doesn't already exist. If it exists, it should have
|
* if it doesn't already exist; if it exists, it should
|
||||||
* all of the needed sub dirs that createCaseDirectory()
|
* have been created using Case.createCaseDirectory() to
|
||||||
* will create.
|
* ensure that the required sub-directories aere created.
|
||||||
* @param caseName the name of case
|
* @param caseName The name of case.
|
||||||
* @param caseNumber the case number
|
* @param caseNumber The case number, can be the empty string.
|
||||||
* @param examiner the examiner for this case
|
* @param examiner The examiner to associate with the case, can be the
|
||||||
* @param caseType the type of case, single-user or multi-user
|
* empty string.
|
||||||
|
* @param caseType The type of case (single-user or multi-user). The
|
||||||
|
* exception will have a user-friendly message and may be
|
||||||
|
* a wrapper for a lower-level exception. If so,
|
||||||
|
* CaseActionException.getCause will return a Throwable
|
||||||
|
* (null otherwise).
|
||||||
|
*
|
||||||
|
* @throws CaseActionException if there is a problem creating the case.
|
||||||
*/
|
*/
|
||||||
public static void create(String caseDir, String caseName, String caseNumber, String examiner, CaseType caseType) throws CaseActionException {
|
public static void create(String caseDir, String caseName, String caseNumber, String examiner, CaseType caseType) throws CaseActionException {
|
||||||
logger.log(Level.INFO, "Creating new case.\ncaseDir: {0}\ncaseName: {1}", new Object[]{caseDir, caseName}); //NON-NLS
|
logger.log(Level.INFO, "Creating case with case directory {0}, caseName {1}", new Object[]{caseDir, caseName}); //NON-NLS
|
||||||
|
|
||||||
// create case directory if it doesn't already exist.
|
/*
|
||||||
|
* Create case directory if it doesn't already exist.
|
||||||
|
*/
|
||||||
if (new File(caseDir).exists() == false) {
|
if (new File(caseDir).exists() == false) {
|
||||||
Case.createCaseDirectory(caseDir, caseType);
|
Case.createCaseDirectory(caseDir, caseType);
|
||||||
}
|
}
|
||||||
|
|
||||||
String configFilePath = caseDir + File.separator + caseName + CASE_DOT_EXTENSION;
|
/*
|
||||||
|
* Sanitize the case name, create a unique keyword search index name,
|
||||||
XMLCaseManagement xmlcm = new XMLCaseManagement();
|
* and create a standard (single-user) or unique (multi-user) case
|
||||||
|
* database name.
|
||||||
|
*/
|
||||||
|
String santizedCaseName = sanitizeCaseName(caseName);
|
||||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd_HHmmss");
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd_HHmmss");
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
String santizedCaseName = sanitizeCaseName(caseName);
|
|
||||||
String indexName = santizedCaseName + "_" + dateFormat.format(date);
|
String indexName = santizedCaseName + "_" + dateFormat.format(date);
|
||||||
String dbName = null;
|
String dbName = null;
|
||||||
|
|
||||||
// figure out the database name and index name for text extraction
|
|
||||||
if (caseType == CaseType.SINGLE_USER_CASE) {
|
if (caseType == CaseType.SINGLE_USER_CASE) {
|
||||||
dbName = caseDir + File.separator + "autopsy.db"; //NON-NLS
|
dbName = caseDir + File.separator + "autopsy.db"; //NON-NLS
|
||||||
} else if (caseType == CaseType.MULTI_USER_CASE) {
|
} else if (caseType == CaseType.MULTI_USER_CASE) {
|
||||||
dbName = indexName;
|
dbName = indexName;
|
||||||
}
|
}
|
||||||
|
|
||||||
xmlcm.create(caseDir, caseName, examiner, caseNumber, caseType, dbName, indexName); // create a new XML config file
|
/*
|
||||||
|
* Create the case metadata (.aut) file.
|
||||||
|
*
|
||||||
|
* TODO (AUT-1885): Replace use of obsolete and unsafe XMLCaseManagement
|
||||||
|
* class with use of CaseMetadata class.
|
||||||
|
*/
|
||||||
|
String configFilePath = caseDir + File.separator + caseName + CASE_DOT_EXTENSION;
|
||||||
|
XMLCaseManagement xmlcm = new XMLCaseManagement();
|
||||||
|
xmlcm.create(caseDir, caseName, examiner, caseNumber, caseType, dbName, indexName);
|
||||||
xmlcm.writeFile();
|
xmlcm.writeFile();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Create the case database.
|
||||||
|
*/
|
||||||
SleuthkitCase db = null;
|
SleuthkitCase db = null;
|
||||||
try {
|
try {
|
||||||
if (caseType == CaseType.SINGLE_USER_CASE) {
|
if (caseType == CaseType.SINGLE_USER_CASE) {
|
||||||
@ -463,24 +490,23 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
db = SleuthkitCase.newCase(dbName, UserPreferences.getDatabaseConnectionInfo(), caseDir);
|
db = SleuthkitCase.newCase(dbName, UserPreferences.getDatabaseConnectionInfo(), caseDir);
|
||||||
}
|
}
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
logger.log(Level.SEVERE, "Error creating a case: " + caseName + " in dir " + caseDir + " " + ex.getMessage(), ex); //NON-NLS
|
logger.log(Level.SEVERE, String.format("Error creating a case %s in %s ", caseName, caseDir), ex); //NON-NLS
|
||||||
SwingUtilities.invokeLater(() -> {
|
SwingUtilities.invokeLater(() -> {
|
||||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||||
});
|
});
|
||||||
|
/*
|
||||||
|
* SleuthkitCase.newCase throws TskCoreExceptions with user-friendly
|
||||||
|
* messages, so propagate the exception message.
|
||||||
|
*/
|
||||||
throw new CaseActionException(ex.getMessage(), ex); //NON-NLS
|
throw new CaseActionException(ex.getMessage(), ex); //NON-NLS
|
||||||
} catch (UserPreferencesException ex) {
|
} catch (UserPreferencesException ex) {
|
||||||
logger.log(Level.SEVERE, "Error accessing case database connection info", ex); //NON-NLS
|
logger.log(Level.SEVERE, "Error accessing case database connection info", ex); //NON-NLS
|
||||||
SwingUtilities.invokeLater(() -> {
|
SwingUtilities.invokeLater(() -> {
|
||||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||||
});
|
});
|
||||||
throw new CaseActionException(
|
throw new CaseActionException(NbBundle.getMessage(Case.class, "Case.databaseConnectionInfo.error.msg"), ex);
|
||||||
NbBundle.getMessage(Case.class, "Case.databaseConnectionInfo.error.msg"), ex);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Two-stage initialization to avoid leaking reference to "this" in
|
|
||||||
* constructor.
|
|
||||||
*/
|
|
||||||
Case newCase = new Case(caseName, caseNumber, examiner, configFilePath, xmlcm, db, caseType);
|
Case newCase = new Case(caseName, caseNumber, examiner, configFilePath, xmlcm, db, caseType);
|
||||||
changeCase(newCase);
|
changeCase(newCase);
|
||||||
}
|
}
|
||||||
@ -518,13 +544,13 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
String result;
|
String result;
|
||||||
|
|
||||||
// Remove all non-ASCII characters
|
// Remove all non-ASCII characters
|
||||||
result = caseName.replaceAll("[^\\p{ASCII}]", "_");
|
result = caseName.replaceAll("[^\\p{ASCII}]", "_"); //NON-NLS
|
||||||
|
|
||||||
// Remove all control characters
|
// Remove all control characters
|
||||||
result = result.replaceAll("[\\p{Cntrl}]", "_");
|
result = result.replaceAll("[\\p{Cntrl}]", "_"); //NON-NLS
|
||||||
|
|
||||||
// Remove / \ : ? space ' "
|
// Remove / \ : ? space ' "
|
||||||
result = result.replaceAll("[ /?:'\"\\\\]", "_");
|
result = result.replaceAll("[ /?:'\"\\\\]", "_"); //NON-NLS
|
||||||
|
|
||||||
// Make it all lowercase
|
// Make it all lowercase
|
||||||
result = result.toLowerCase();
|
result = result.toLowerCase();
|
||||||
@ -540,7 +566,7 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (result.isEmpty()) {
|
if (result.isEmpty()) {
|
||||||
result = "case";
|
result = "case"; //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -549,20 +575,28 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
/**
|
/**
|
||||||
* Opens an existing case.
|
* Opens an existing case.
|
||||||
*
|
*
|
||||||
* @param caseMetadataFilePath The path of the case metadata file for the
|
* @param caseMetadataFilePath The path of the case metadata file.
|
||||||
* case to be opened.
|
|
||||||
*
|
*
|
||||||
* @throws CaseActionException
|
* @throws CaseActionException if there is a problem opening the case. The
|
||||||
|
* exception will have a user-friendly message
|
||||||
|
* and may be a wrapper for a lower-level
|
||||||
|
* exception. If so,
|
||||||
|
* CaseActionException.getCause will return a
|
||||||
|
* Throwable (null otherwise).
|
||||||
*/
|
*/
|
||||||
public static void open(String caseMetadataFilePath) throws CaseActionException {
|
public static void open(String caseMetadataFilePath) throws CaseActionException {
|
||||||
|
logger.log(Level.INFO, "Opening case with metadata file path {0}", caseMetadataFilePath); //NON-NLS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Verify the extension of the case metadata file.
|
||||||
|
*/
|
||||||
if (!caseMetadataFilePath.endsWith(CASE_DOT_EXTENSION)) {
|
if (!caseMetadataFilePath.endsWith(CASE_DOT_EXTENSION)) {
|
||||||
throw new CaseActionException(NbBundle.getMessage(Case.class, "Case.open.exception.checkFile.msg", CASE_DOT_EXTENSION));
|
throw new CaseActionException(NbBundle.getMessage(Case.class, "Case.open.exception.checkFile.msg", CASE_DOT_EXTENSION));
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.log(Level.INFO, "Opening case, case metadata file path: {0}", caseMetadataFilePath); //NON-NLS
|
|
||||||
try {
|
try {
|
||||||
/**
|
/*
|
||||||
* Get the case metadata from the file.
|
* Get the case metadata required to open the case database.
|
||||||
*/
|
*/
|
||||||
CaseMetadata metadata = new CaseMetadata(Paths.get(caseMetadataFilePath));
|
CaseMetadata metadata = new CaseMetadata(Paths.get(caseMetadataFilePath));
|
||||||
String caseName = metadata.getCaseName();
|
String caseName = metadata.getCaseName();
|
||||||
@ -571,7 +605,7 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
CaseType caseType = metadata.getCaseType();
|
CaseType caseType = metadata.getCaseType();
|
||||||
String caseDir = metadata.getCaseDirectory();
|
String caseDir = metadata.getCaseDirectory();
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* Open the case database.
|
* Open the case database.
|
||||||
*/
|
*/
|
||||||
SleuthkitCase db;
|
SleuthkitCase db;
|
||||||
@ -585,40 +619,57 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
try {
|
try {
|
||||||
db = SleuthkitCase.openCase(metadata.getCaseDatabaseName(), UserPreferences.getDatabaseConnectionInfo(), caseDir);
|
db = SleuthkitCase.openCase(metadata.getCaseDatabaseName(), UserPreferences.getDatabaseConnectionInfo(), caseDir);
|
||||||
} catch (UserPreferencesException ex) {
|
} catch (UserPreferencesException ex) {
|
||||||
logger.log(Level.SEVERE, "Error accessing case database connection info", ex); //NON-NLS
|
|
||||||
throw new CaseActionException(NbBundle.getMessage(Case.class, "Case.databaseConnectionInfo.error.msg"), ex);
|
throw new CaseActionException(NbBundle.getMessage(Case.class, "Case.databaseConnectionInfo.error.msg"), ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* Do things that require a UI.
|
* Check for the presence of the UI and do things that can only be
|
||||||
|
* done with user interaction.
|
||||||
*/
|
*/
|
||||||
if (RuntimeProperties.coreComponentsAreActive()) {
|
if (RuntimeProperties.coreComponentsAreActive()) {
|
||||||
/**
|
/*
|
||||||
* If the case database was upgraded for a new schema, notify
|
* If the case database was upgraded for a new schema, notify
|
||||||
* the user.
|
* the user.
|
||||||
*/
|
*/
|
||||||
if (null != db.getBackupDatabasePath()) {
|
if (null != db.getBackupDatabasePath()) {
|
||||||
SwingUtilities.invokeLater(() -> {
|
SwingUtilities.invokeLater(() -> {
|
||||||
JOptionPane.showMessageDialog(null,
|
JOptionPane.showMessageDialog(
|
||||||
NbBundle.getMessage(Case.class, "Case.open.msgDlg.updated.msg",
|
WindowManager.getDefault().getMainWindow(),
|
||||||
db.getBackupDatabasePath()),
|
NbBundle.getMessage(Case.class, "Case.open.msgDlg.updated.msg", db.getBackupDatabasePath()),
|
||||||
NbBundle.getMessage(Case.class, "Case.open.msgDlg.updated.title"),
|
NbBundle.getMessage(Case.class, "Case.open.msgDlg.updated.title"),
|
||||||
JOptionPane.INFORMATION_MESSAGE);
|
JOptionPane.INFORMATION_MESSAGE);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* TODO: This currently has no value if it there is no user to
|
* Look for the files for the data sources listed in the case
|
||||||
* interact with a fid missing images dialog.
|
* database and give the user the opportunity to locate any that
|
||||||
|
* are missing.
|
||||||
*/
|
*/
|
||||||
checkImagesExist(db);
|
Map<Long, String> imgPaths = getImagePaths(db);
|
||||||
|
for (Map.Entry<Long, String> entry : imgPaths.entrySet()) {
|
||||||
|
long obj_id = entry.getKey();
|
||||||
|
String path = entry.getValue();
|
||||||
|
boolean fileExists = (pathExists(path) || driveExists(path));
|
||||||
|
if (!fileExists) {
|
||||||
|
int ret = JOptionPane.showConfirmDialog(
|
||||||
|
WindowManager.getDefault().getMainWindow(),
|
||||||
|
NbBundle.getMessage(Case.class, "Case.checkImgExist.confDlg.doesntExist.msg", getAppName(), path),
|
||||||
|
NbBundle.getMessage(Case.class, "Case.checkImgExist.confDlg.doesntExist.title"),
|
||||||
|
JOptionPane.YES_NO_OPTION);
|
||||||
|
if (ret == JOptionPane.YES_OPTION) {
|
||||||
|
MissingImageDialog.makeDialog(obj_id, db);
|
||||||
|
} else {
|
||||||
|
logger.log(Level.WARNING, "Selected image files don't match old files!"); //NON-NLS
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* Two-stage initialization to avoid leaking reference to "this" in
|
* TODO (AUT-1885): Replace use of obsolete and unsafe
|
||||||
* constructor. TODO: Remove use of obsolete XMLCaseManagement
|
* XMLCaseManagement class with use of CaseMetadata class.
|
||||||
* class.
|
|
||||||
*/
|
*/
|
||||||
XMLCaseManagement xmlcm = new XMLCaseManagement();
|
XMLCaseManagement xmlcm = new XMLCaseManagement();
|
||||||
xmlcm.open(caseMetadataFilePath);
|
xmlcm.open(caseMetadataFilePath);
|
||||||
@ -626,28 +677,16 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
changeCase(openedCase);
|
changeCase(openedCase);
|
||||||
|
|
||||||
} catch (CaseMetadataException ex) {
|
} catch (CaseMetadataException ex) {
|
||||||
/**
|
throw new CaseActionException(NbBundle.getMessage(Case.class, "Case.metaDataFileCorrupt.exception.msg"), ex); //NON-NLS
|
||||||
* Attempt clean up.
|
|
||||||
*/
|
|
||||||
try {
|
|
||||||
Case badCase = Case.getCurrentCase();
|
|
||||||
badCase.closeCase();
|
|
||||||
} catch (IllegalStateException ignored) {
|
|
||||||
}
|
|
||||||
throw new CaseActionException(ex.getMessage(), ex); //NON-NLS
|
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
/**
|
|
||||||
* Attempt clean up.
|
|
||||||
*/
|
|
||||||
try {
|
|
||||||
Case badCase = Case.getCurrentCase();
|
|
||||||
badCase.closeCase();
|
|
||||||
} catch (IllegalStateException ignored) {
|
|
||||||
}
|
|
||||||
SwingUtilities.invokeLater(() -> {
|
SwingUtilities.invokeLater(() -> {
|
||||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||||
});
|
});
|
||||||
throw new CaseActionException(ex.getMessage(), ex); //NON-NLS
|
/*
|
||||||
|
* SleuthkitCase.openCase throws TskCoreExceptions with
|
||||||
|
* user-friendly messages, so propagate the exception message.
|
||||||
|
*/
|
||||||
|
throw new CaseActionException(ex.getMessage(), ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -666,35 +705,6 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
return imgPaths;
|
return imgPaths;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Ensure that all image paths point to valid image files
|
|
||||||
*/
|
|
||||||
private static void checkImagesExist(SleuthkitCase db) {
|
|
||||||
Map<Long, String> imgPaths = getImagePaths(db);
|
|
||||||
for (Map.Entry<Long, String> entry : imgPaths.entrySet()) {
|
|
||||||
long obj_id = entry.getKey();
|
|
||||||
String path = entry.getValue();
|
|
||||||
boolean fileExists = (pathExists(path) || driveExists(path));
|
|
||||||
if (!fileExists) {
|
|
||||||
int ret = JOptionPane.showConfirmDialog(null,
|
|
||||||
NbBundle.getMessage(Case.class,
|
|
||||||
"Case.checkImgExist.confDlg.doesntExist.msg",
|
|
||||||
getAppName(), path),
|
|
||||||
NbBundle.getMessage(Case.class,
|
|
||||||
"Case.checkImgExist.confDlg.doesntExist.title"),
|
|
||||||
JOptionPane.YES_NO_OPTION);
|
|
||||||
if (ret == JOptionPane.YES_OPTION) {
|
|
||||||
|
|
||||||
MissingImageDialog.makeDialog(obj_id, db);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
logger.log(Level.WARNING, "Selected image files don't match old files!"); //NON-NLS
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds the image to the current case after it has been added to the DB.
|
* Adds the image to the current case after it has been added to the DB.
|
||||||
* Sends out event and reopens windows if needed.
|
* Sends out event and reopens windows if needed.
|
||||||
@ -1585,10 +1595,10 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
|
|
||||||
if (RuntimeProperties.coreComponentsAreActive()) {
|
if (RuntimeProperties.coreComponentsAreActive()) {
|
||||||
// enable these menus
|
// enable these menus
|
||||||
CallableSystemAction.get(AddImageAction.class).setEnabled(true);
|
CallableSystemAction.get(AddImageAction.class).setEnabled(true);
|
||||||
CallableSystemAction.get(CaseCloseAction.class).setEnabled(true);
|
CallableSystemAction.get(CaseCloseAction.class).setEnabled(true);
|
||||||
CallableSystemAction.get(CasePropertiesAction.class).setEnabled(true);
|
CallableSystemAction.get(CasePropertiesAction.class).setEnabled(true);
|
||||||
CallableSystemAction.get(CaseDeleteAction.class).setEnabled(true); // Delete Case menu
|
CallableSystemAction.get(CaseDeleteAction.class).setEnabled(true); // Delete Case menu
|
||||||
|
|
||||||
if (toChangeTo.hasData()) {
|
if (toChangeTo.hasData()) {
|
||||||
// open all top components
|
// open all top components
|
||||||
|
@ -59,25 +59,53 @@ public final class CaseMetadata {
|
|||||||
try {
|
try {
|
||||||
/*
|
/*
|
||||||
* TODO (RC): This class should eventually replace the non-public
|
* TODO (RC): This class should eventually replace the non-public
|
||||||
* XMLCaseManagement class altogether.
|
* and unsafe XMLCaseManagement class altogether.
|
||||||
*/
|
*/
|
||||||
XMLCaseManagement metadata = new XMLCaseManagement();
|
XMLCaseManagement metadata = new XMLCaseManagement();
|
||||||
metadata.open(metadataFilePath.toString());
|
metadata.open(metadataFilePath.toString());
|
||||||
caseType = metadata.getCaseType();
|
try {
|
||||||
caseName = metadata.getCaseName();
|
caseType = metadata.getCaseType();
|
||||||
if (caseName.isEmpty()) {
|
} catch (NullPointerException unused) {
|
||||||
throw new CaseMetadataException("Case name missing");
|
throw new CaseMetadataException("Case type element missing");
|
||||||
}
|
}
|
||||||
caseNumber = metadata.getCaseNumber();
|
try {
|
||||||
examiner = metadata.getCaseExaminer();
|
caseName = metadata.getCaseName();
|
||||||
caseDirectory = metadata.getCaseDirectory();
|
if (caseName.isEmpty()) {
|
||||||
if (caseDirectory.isEmpty()) {
|
throw new CaseMetadataException("Case name missing");
|
||||||
throw new CaseMetadataException("Case directory missing");
|
}
|
||||||
|
} catch (NullPointerException unused) {
|
||||||
|
throw new CaseMetadataException("Case name element missing");
|
||||||
}
|
}
|
||||||
caseDatabaseName = metadata.getDatabaseName();
|
try {
|
||||||
caseTextIndexName = metadata.getTextIndexName();
|
caseNumber = metadata.getCaseNumber();
|
||||||
if (Case.CaseType.MULTI_USER_CASE == caseType && caseDatabaseName.isEmpty()) {
|
} catch (NullPointerException unused) {
|
||||||
throw new CaseMetadataException("Case database name missing");
|
throw new CaseMetadataException("Case number element missing");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
examiner = metadata.getCaseExaminer();
|
||||||
|
} catch (NullPointerException unused) {
|
||||||
|
throw new CaseMetadataException("Examiner element missing");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
caseDirectory = metadata.getCaseDirectory();
|
||||||
|
if (caseDirectory.isEmpty()) {
|
||||||
|
throw new CaseMetadataException("Case directory missing");
|
||||||
|
}
|
||||||
|
} catch (NullPointerException unused) {
|
||||||
|
throw new CaseMetadataException("Case directory element missing");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
caseDatabaseName = metadata.getDatabaseName();
|
||||||
|
} catch (NullPointerException unused) {
|
||||||
|
throw new CaseMetadataException("Case database element missing");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
caseTextIndexName = metadata.getTextIndexName();
|
||||||
|
if (Case.CaseType.MULTI_USER_CASE == caseType && caseDatabaseName.isEmpty()) {
|
||||||
|
throw new CaseMetadataException("Case keyword search index name missing");
|
||||||
|
}
|
||||||
|
} catch (NullPointerException unused) {
|
||||||
|
throw new CaseMetadataException("Case keyword search index name missing");
|
||||||
}
|
}
|
||||||
} catch (CaseActionException ex) {
|
} catch (CaseActionException ex) {
|
||||||
throw new CaseMetadataException(ex.getLocalizedMessage(), ex);
|
throw new CaseMetadataException(ex.getLocalizedMessage(), ex);
|
||||||
|
@ -65,7 +65,7 @@ public final class CaseOpenAction implements ActionListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pops up a file chooser to allow the user to select a case meta data file
|
* Pops up a file chooser to allow the user to select a case metadata file
|
||||||
* (.aut file) and attempts to open the case described by the file.
|
* (.aut file) and attempts to open the case described by the file.
|
||||||
*
|
*
|
||||||
* @param e The action event.
|
* @param e The action event.
|
||||||
@ -73,21 +73,28 @@ public final class CaseOpenAction implements ActionListener {
|
|||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
/*
|
/*
|
||||||
* If ingest is running, do a dialog to warn the user and confirm
|
* If ingest is running, do a dialog to warn the user and confirm the
|
||||||
* abandoning the ingest.
|
* intent to close the current case and leave the ingest process
|
||||||
|
* incomplete.
|
||||||
*/
|
*/
|
||||||
if (IngestManager.getInstance().isIngestRunning()) {
|
if (IngestManager.getInstance().isIngestRunning()) {
|
||||||
String closeCurrentCase = NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning");
|
NotifyDescriptor descriptor = new NotifyDescriptor.Confirmation(
|
||||||
NotifyDescriptor descriptor = new NotifyDescriptor.Confirmation(closeCurrentCase,
|
NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning"),
|
||||||
NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning.title"),
|
NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning.title"),
|
||||||
NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE);
|
NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE);
|
||||||
descriptor.setValue(NotifyDescriptor.NO_OPTION);
|
descriptor.setValue(NotifyDescriptor.NO_OPTION);
|
||||||
Object res = DialogDisplayer.getDefault().notify(descriptor);
|
Object res = DialogDisplayer.getDefault().notify(descriptor);
|
||||||
if (res != null && res == DialogDescriptor.YES_OPTION) {
|
if (res != null && res == DialogDescriptor.YES_OPTION) {
|
||||||
|
Case currentCase = null;
|
||||||
try {
|
try {
|
||||||
Case.getCurrentCase().closeCase();
|
currentCase = Case.getCurrentCase();
|
||||||
} catch (Exception ex) {
|
currentCase.closeCase();
|
||||||
logger.log(Level.SEVERE, "Error closing case", ex); //NON-NLS
|
} catch (IllegalStateException ignored) {
|
||||||
|
/*
|
||||||
|
* No current case.
|
||||||
|
*/
|
||||||
|
} catch (CaseActionException ex) {
|
||||||
|
logger.log(Level.SEVERE, String.format("Error closing case at %s while ingest was running", (null != currentCase ? currentCase.getCaseDirectory() : "?")), ex); //NON-NLS
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
@ -100,17 +107,13 @@ public final class CaseOpenAction implements ActionListener {
|
|||||||
*/
|
*/
|
||||||
int retval = fileChooser.showOpenDialog(WindowManager.getDefault().getMainWindow());
|
int retval = fileChooser.showOpenDialog(WindowManager.getDefault().getMainWindow());
|
||||||
if (retval == JFileChooser.APPROVE_OPTION) {
|
if (retval == JFileChooser.APPROVE_OPTION) {
|
||||||
/**
|
/*
|
||||||
* This is a bit of a hack, but close the startup window, if it was
|
* Close the startup window, if it is open.
|
||||||
* the source of the action invocation.
|
|
||||||
*/
|
*/
|
||||||
try {
|
StartupWindowProvider.getInstance().close();
|
||||||
StartupWindowProvider.getInstance().close();
|
|
||||||
} catch (Exception unused) {
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* Try to open the case associated with the case meta data file the
|
* Try to open the case associated with the case metadata file the
|
||||||
* user selected.
|
* user selected.
|
||||||
*/
|
*/
|
||||||
final String path = fileChooser.getSelectedFile().getPath();
|
final String path = fileChooser.getSelectedFile().getPath();
|
||||||
@ -121,12 +124,14 @@ public final class CaseOpenAction implements ActionListener {
|
|||||||
try {
|
try {
|
||||||
Case.open(path);
|
Case.open(path);
|
||||||
} catch (CaseActionException ex) {
|
} catch (CaseActionException ex) {
|
||||||
logger.log(Level.SEVERE, String.format("Could not open case at %s", path), ex);
|
logger.log(Level.SEVERE, String.format("Error opening case with metadata file path %s", path), ex); //NON-NLS
|
||||||
SwingUtilities.invokeLater(() -> {
|
SwingUtilities.invokeLater(() -> {
|
||||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||||
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(),
|
JOptionPane.showMessageDialog(
|
||||||
ex.getMessage(),
|
WindowManager.getDefault().getMainWindow(),
|
||||||
NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), JOptionPane.ERROR_MESSAGE); //NON-NLS
|
ex.getMessage(), // Should be user-friendly
|
||||||
|
NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), //NON-NLS
|
||||||
|
JOptionPane.ERROR_MESSAGE);
|
||||||
if (!Case.isCaseOpen()) {
|
if (!Case.isCaseOpen()) {
|
||||||
StartupWindowProvider.getInstance().open();
|
StartupWindowProvider.getInstance().open();
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.sleuthkit.autopsy.casemodule;
|
package org.sleuthkit.autopsy.casemodule;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@ -173,6 +174,8 @@ class CasePropertiesForm extends javax.swing.JPanel {
|
|||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
|
@NbBundle.Messages({"CasePropertiesForm.imagesTable.path=Path",
|
||||||
|
"CasePropertiesForm.imagesTable.remove=Remove"})
|
||||||
private void initComponents() {
|
private void initComponents() {
|
||||||
|
|
||||||
jScrollPane1 = new javax.swing.JScrollPane();
|
jScrollPane1 = new javax.swing.JScrollPane();
|
||||||
@ -205,7 +208,7 @@ class CasePropertiesForm extends javax.swing.JPanel {
|
|||||||
jTextArea1.setRows(5);
|
jTextArea1.setRows(5);
|
||||||
jScrollPane1.setViewportView(jTextArea1);
|
jScrollPane1.setViewportView(jTextArea1);
|
||||||
|
|
||||||
casePropLabel.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
|
casePropLabel.setFont(casePropLabel.getFont().deriveFont(Font.BOLD, 24));
|
||||||
casePropLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
casePropLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
||||||
casePropLabel.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.casePropLabel.text")); // NOI18N
|
casePropLabel.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.casePropLabel.text")); // NOI18N
|
||||||
|
|
||||||
@ -227,10 +230,10 @@ class CasePropertiesForm extends javax.swing.JPanel {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
genInfoLabel.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
|
genInfoLabel.setFont(genInfoLabel.getFont().deriveFont(Font.BOLD, 14));
|
||||||
genInfoLabel.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.genInfoLabel.text")); // NOI18N
|
genInfoLabel.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.genInfoLabel.text")); // NOI18N
|
||||||
|
|
||||||
imgInfoLabel.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
|
imgInfoLabel.setFont(imgInfoLabel.getFont().deriveFont(Font.BOLD, 14));
|
||||||
imgInfoLabel.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.imgInfoLabel.text")); // NOI18N
|
imgInfoLabel.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.imgInfoLabel.text")); // NOI18N
|
||||||
|
|
||||||
OKButton.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.OKButton.text")); // NOI18N
|
OKButton.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.OKButton.text")); // NOI18N
|
||||||
@ -240,7 +243,8 @@ class CasePropertiesForm extends javax.swing.JPanel {
|
|||||||
|
|
||||||
},
|
},
|
||||||
new String [] {
|
new String [] {
|
||||||
"Path", "Remove"
|
Bundle.CasePropertiesForm_imagesTable_path(),
|
||||||
|
Bundle.CasePropertiesForm_imagesTable_remove()
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
boolean[] canEdit = new boolean [] {
|
boolean[] canEdit = new boolean [] {
|
||||||
|
@ -56,11 +56,11 @@ import org.sleuthkit.autopsy.ingest.events.DataSourceAnalysisStartedEvent;
|
|||||||
*/
|
*/
|
||||||
final class CollaborationMonitor {
|
final class CollaborationMonitor {
|
||||||
|
|
||||||
private static final String EVENT_CHANNEL_NAME = "%s-Collaboration-Monitor-Events";
|
private static final String EVENT_CHANNEL_NAME = "%s-Collaboration-Monitor-Events"; //NON-NLS
|
||||||
private static final String COLLABORATION_MONITOR_EVENT = "COLLABORATION_MONITOR_EVENT";
|
private static final String COLLABORATION_MONITOR_EVENT = "COLLABORATION_MONITOR_EVENT"; //NON-NLS
|
||||||
private static final Set<String> CASE_EVENTS_OF_INTEREST = new HashSet<>(Arrays.asList(new String[]{Case.Events.ADDING_DATA_SOURCE.toString(), Case.Events.DATA_SOURCE_ADDED.toString(), Case.Events.ADDING_DATA_SOURCE_FAILED.toString()}));
|
private static final Set<String> CASE_EVENTS_OF_INTEREST = new HashSet<>(Arrays.asList(new String[]{Case.Events.ADDING_DATA_SOURCE.toString(), Case.Events.DATA_SOURCE_ADDED.toString(), Case.Events.ADDING_DATA_SOURCE_FAILED.toString()}));
|
||||||
private static final int NUMBER_OF_PERIODIC_TASK_THREADS = 2;
|
private static final int NUMBER_OF_PERIODIC_TASK_THREADS = 2;
|
||||||
private static final String PERIODIC_TASK_THREAD_NAME = "collab-monitor-periodic-tasks-%d";
|
private static final String PERIODIC_TASK_THREAD_NAME = "collab-monitor-periodic-tasks-%d"; //NON-NLS
|
||||||
private static final long HEARTBEAT_INTERVAL_MINUTES = 1;
|
private static final long HEARTBEAT_INTERVAL_MINUTES = 1;
|
||||||
private static final long MAX_MISSED_HEARTBEATS = 5;
|
private static final long MAX_MISSED_HEARTBEATS = 5;
|
||||||
private static final long STALE_TASKS_DETECTION_INTERVAL_MINUTES = 2;
|
private static final long STALE_TASKS_DETECTION_INTERVAL_MINUTES = 2;
|
||||||
|
@ -18,9 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.sleuthkit.autopsy.casemodule;
|
package org.sleuthkit.autopsy.casemodule;
|
||||||
|
|
||||||
import java.awt.Dialog;
|
import java.awt.*;
|
||||||
import java.awt.Dimension;
|
|
||||||
import java.awt.Toolkit;
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
@ -79,10 +77,10 @@ public class CueBannerPanel extends javax.swing.JPanel {
|
|||||||
closeButton = new javax.swing.JButton();
|
closeButton = new javax.swing.JButton();
|
||||||
jSeparator1 = new javax.swing.JSeparator();
|
jSeparator1 = new javax.swing.JSeparator();
|
||||||
|
|
||||||
autopsyLogo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/welcome_logo.png"))); // NOI18N
|
autopsyLogo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/welcome_logo.png"))); // NOI18N NON-NLS
|
||||||
autopsyLogo.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.autopsyLogo.text")); // NOI18N
|
autopsyLogo.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.autopsyLogo.text")); // NOI18N
|
||||||
|
|
||||||
newCaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_create_new_case.png"))); // NOI18N
|
newCaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_create_new_case.png"))); // NOI18N NON-NLS
|
||||||
newCaseButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.newCaseButton.text")); // NOI18N
|
newCaseButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.newCaseButton.text")); // NOI18N
|
||||||
newCaseButton.setBorder(null);
|
newCaseButton.setBorder(null);
|
||||||
newCaseButton.setBorderPainted(false);
|
newCaseButton.setBorderPainted(false);
|
||||||
@ -94,7 +92,7 @@ public class CueBannerPanel extends javax.swing.JPanel {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
openRecentButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_open_recent.png"))); // NOI18N
|
openRecentButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_open_recent.png"))); // NOI18N NON-NLS
|
||||||
openRecentButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openRecentButton.text")); // NOI18N
|
openRecentButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openRecentButton.text")); // NOI18N
|
||||||
openRecentButton.setBorder(null);
|
openRecentButton.setBorder(null);
|
||||||
openRecentButton.setBorderPainted(false);
|
openRecentButton.setBorderPainted(false);
|
||||||
@ -106,13 +104,13 @@ public class CueBannerPanel extends javax.swing.JPanel {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
createNewLabel.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N
|
createNewLabel.setFont(createNewLabel.getFont().deriveFont(Font.PLAIN, 13));
|
||||||
createNewLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.createNewLabel.text")); // NOI18N
|
createNewLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.createNewLabel.text")); // NOI18N
|
||||||
|
|
||||||
openRecentLabel.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N
|
openRecentLabel.setFont(openRecentLabel.getFont().deriveFont(Font.PLAIN, 13));
|
||||||
openRecentLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openRecentLabel.text")); // NOI18N
|
openRecentLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openRecentLabel.text")); // NOI18N
|
||||||
|
|
||||||
openCaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_open_existing.png"))); // NOI18N
|
openCaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_open_existing.png"))); // NOI18N NON-NLS
|
||||||
openCaseButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openCaseButton.text")); // NOI18N
|
openCaseButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openCaseButton.text")); // NOI18N
|
||||||
openCaseButton.setBorder(null);
|
openCaseButton.setBorder(null);
|
||||||
openCaseButton.setBorderPainted(false);
|
openCaseButton.setBorderPainted(false);
|
||||||
@ -125,7 +123,7 @@ public class CueBannerPanel extends javax.swing.JPanel {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
openLabel.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N
|
openLabel.setFont(openLabel.getFont().deriveFont(Font.PLAIN, 13));
|
||||||
openLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openLabel.text")); // NOI18N
|
openLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openLabel.text")); // NOI18N
|
||||||
|
|
||||||
closeButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.closeButton.text")); // NOI18N
|
closeButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.closeButton.text")); // NOI18N
|
||||||
|
@ -192,7 +192,7 @@ class MissingImageDialog extends javax.swing.JDialog {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
lbWarning.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
|
lbWarning.setFont(lbWarning.getFont().deriveFont(Font.BOLD, 12));
|
||||||
lbWarning.setForeground(new java.awt.Color(244, 0, 0));
|
lbWarning.setForeground(new java.awt.Color(244, 0, 0));
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(lbWarning, org.openide.util.NbBundle.getMessage(MissingImageDialog.class, "MissingImageDialog.lbWarning.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(lbWarning, org.openide.util.NbBundle.getMessage(MissingImageDialog.class, "MissingImageDialog.lbWarning.text")); // NOI18N
|
||||||
lbWarning.setToolTipText(org.openide.util.NbBundle.getMessage(MissingImageDialog.class, "MissingImageDialog.lbWarning.toolTipText")); // NOI18N
|
lbWarning.setToolTipText(org.openide.util.NbBundle.getMessage(MissingImageDialog.class, "MissingImageDialog.lbWarning.toolTipText")); // NOI18N
|
||||||
@ -223,7 +223,7 @@ class MissingImageDialog extends javax.swing.JDialog {
|
|||||||
.addGap(18, 18, 18))
|
.addGap(18, 18, 18))
|
||||||
);
|
);
|
||||||
|
|
||||||
titleLabel.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
|
titleLabel.setFont(titleLabel.getFont().deriveFont(Font.BOLD, 12));
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(titleLabel, org.openide.util.NbBundle.getMessage(MissingImageDialog.class, "MissingImageDialog.titleLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(titleLabel, org.openide.util.NbBundle.getMessage(MissingImageDialog.class, "MissingImageDialog.titleLabel.text")); // NOI18N
|
||||||
|
|
||||||
titleSeparator.setForeground(new java.awt.Color(102, 102, 102));
|
titleSeparator.setForeground(new java.awt.Color(102, 102, 102));
|
||||||
|
@ -215,7 +215,7 @@ final class NewCaseVisualPanel1 extends JPanel implements DocumentListener {
|
|||||||
caseParentDirWarningLabel = new javax.swing.JLabel();
|
caseParentDirWarningLabel = new javax.swing.JLabel();
|
||||||
caseTypeLabel = new javax.swing.JLabel();
|
caseTypeLabel = new javax.swing.JLabel();
|
||||||
|
|
||||||
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
|
jLabel1.setFont(jLabel1.getFont().deriveFont(Font.BOLD, 14));
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.jLabel1.text_1")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.jLabel1.text_1")); // NOI18N
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(caseNameLabel, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.caseNameLabel.text_1")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(caseNameLabel, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.caseNameLabel.text_1")); // NOI18N
|
||||||
|
@ -39,10 +39,11 @@ import javax.swing.JOptionPane;
|
|||||||
import org.sleuthkit.autopsy.casemodule.Case.CaseType;
|
import org.sleuthkit.autopsy.casemodule.Case.CaseType;
|
||||||
import org.openide.windows.WindowManager;
|
import org.openide.windows.WindowManager;
|
||||||
import java.awt.Cursor;
|
import java.awt.Cursor;
|
||||||
|
import java.util.concurrent.ExecutionException;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestManager;
|
import org.sleuthkit.autopsy.ingest.IngestManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An action that runs the new case wizard.
|
* An action that creates and runs the new case wizard.
|
||||||
*/
|
*/
|
||||||
final class NewCaseWizardAction extends CallableSystemAction {
|
final class NewCaseWizardAction extends CallableSystemAction {
|
||||||
|
|
||||||
@ -53,32 +54,39 @@ final class NewCaseWizardAction extends CallableSystemAction {
|
|||||||
@Override
|
@Override
|
||||||
public void performAction() {
|
public void performAction() {
|
||||||
/*
|
/*
|
||||||
* If ingest is running, do a dialog to warn the user and confirm
|
* If ingest is running, do a dialog to warn the user and confirm the
|
||||||
* abandoning the ingest.
|
* intent to close the current case and leave the ingest process
|
||||||
|
* incomplete.
|
||||||
*/
|
*/
|
||||||
if (IngestManager.getInstance().isIngestRunning()) {
|
if (IngestManager.getInstance().isIngestRunning()) {
|
||||||
String closeCurrentCase = NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning");
|
NotifyDescriptor descriptor = new NotifyDescriptor.Confirmation(
|
||||||
NotifyDescriptor descriptor = new NotifyDescriptor.Confirmation(closeCurrentCase,
|
NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning"),
|
||||||
NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning.title"),
|
NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning.title"),
|
||||||
NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE);
|
NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE);
|
||||||
descriptor.setValue(NotifyDescriptor.NO_OPTION);
|
descriptor.setValue(NotifyDescriptor.NO_OPTION);
|
||||||
Object res = DialogDisplayer.getDefault().notify(descriptor);
|
Object res = DialogDisplayer.getDefault().notify(descriptor);
|
||||||
if (res != null && res == DialogDescriptor.YES_OPTION) {
|
if (res != null && res == DialogDescriptor.YES_OPTION) {
|
||||||
|
Case currentCase = null;
|
||||||
try {
|
try {
|
||||||
Case.getCurrentCase().closeCase();
|
currentCase = Case.getCurrentCase();
|
||||||
} catch (Exception ex) {
|
currentCase.closeCase();
|
||||||
Logger.getLogger(NewCaseWizardAction.class.getName()).log(Level.WARNING, "Error closing case", ex); //NON-NLS
|
} catch (IllegalStateException ignored) {
|
||||||
|
/*
|
||||||
|
* No current case.
|
||||||
|
*/
|
||||||
|
} catch (CaseActionException ex) {
|
||||||
|
logger.log(Level.SEVERE, String.format("Error closing case at %s while ingest was running", (null != currentCase ? currentCase.getCaseDirectory() : "?")), ex); //NON-NLS
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||||
newCaseAction();
|
runNewCaseWizard();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void newCaseAction() {
|
private void runNewCaseWizard() {
|
||||||
final WizardDescriptor wizardDescriptor = new WizardDescriptor(getPanels());
|
final WizardDescriptor wizardDescriptor = new WizardDescriptor(getNewCaseWizardPanels());
|
||||||
wizardDescriptor.setTitleFormat(new MessageFormat("{0}"));
|
wizardDescriptor.setTitleFormat(new MessageFormat("{0}"));
|
||||||
wizardDescriptor.setTitle(NbBundle.getMessage(this.getClass(), "NewCaseWizardAction.newCase.windowTitle.text"));
|
wizardDescriptor.setTitle(NbBundle.getMessage(this.getClass(), "NewCaseWizardAction.newCase.windowTitle.text"));
|
||||||
Dialog dialog = DialogDisplayer.getDefault().createDialog(wizardDescriptor);
|
Dialog dialog = DialogDisplayer.getDefault().createDialog(wizardDescriptor);
|
||||||
@ -104,21 +112,14 @@ final class NewCaseWizardAction extends CallableSystemAction {
|
|||||||
AddImageAction addImageAction = SystemAction.get(AddImageAction.class);
|
AddImageAction addImageAction = SystemAction.get(AddImageAction.class);
|
||||||
addImageAction.actionPerformed(null);
|
addImageAction.actionPerformed(null);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
logger.log(Level.SEVERE, "Error creating case", ex); //NON-NLS
|
logger.log(Level.SEVERE, String.format("Error creating case %s", wizardDescriptor.getProperty("caseName")), ex); //NON-NLS
|
||||||
SwingUtilities.invokeLater(() -> {
|
SwingUtilities.invokeLater(() -> {
|
||||||
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(), ex.getCause().getMessage() + " "
|
JOptionPane.showMessageDialog(
|
||||||
+ NbBundle.getMessage(this.getClass(), "CaseExceptionWarning.CheckMultiUserOptions"),
|
WindowManager.getDefault().getMainWindow(),
|
||||||
NbBundle.getMessage(this.getClass(), "CaseCreateAction.msgDlg.cantCreateCase.msg"),
|
(ex instanceof ExecutionException ? ex.getCause().getMessage() : ex.getMessage()),
|
||||||
JOptionPane.ERROR_MESSAGE); //NON-NLS
|
NbBundle.getMessage(this.getClass(), "CaseCreateAction.msgDlg.cantCreateCase.msg"), //NON-NLS
|
||||||
/**
|
JOptionPane.ERROR_MESSAGE);
|
||||||
* This is a bit of a hack, but close the startup
|
StartupWindowProvider.getInstance().close(); // RC: Why close and open?
|
||||||
* window, if it was the source of the action
|
|
||||||
* invocation.
|
|
||||||
*/
|
|
||||||
try {
|
|
||||||
StartupWindowProvider.getInstance().close();
|
|
||||||
} catch (Exception unused) {
|
|
||||||
}
|
|
||||||
if (!Case.isCaseOpen()) {
|
if (!Case.isCaseOpen()) {
|
||||||
StartupWindowProvider.getInstance().open();
|
StartupWindowProvider.getInstance().open();
|
||||||
}
|
}
|
||||||
@ -137,7 +138,6 @@ final class NewCaseWizardAction extends CallableSystemAction {
|
|||||||
private void doFailedCaseCleanup(WizardDescriptor wizardDescriptor) {
|
private void doFailedCaseCleanup(WizardDescriptor wizardDescriptor) {
|
||||||
String createdDirectory = (String) wizardDescriptor.getProperty("createdDirectory"); //NON-NLS
|
String createdDirectory = (String) wizardDescriptor.getProperty("createdDirectory"); //NON-NLS
|
||||||
if (createdDirectory != null) {
|
if (createdDirectory != null) {
|
||||||
logger.log(Level.INFO, "Deleting a created case directory due to an error, dir: {0}", createdDirectory); //NON-NLS
|
|
||||||
Case.deleteCaseDirectory(new File(createdDirectory));
|
Case.deleteCaseDirectory(new File(createdDirectory));
|
||||||
}
|
}
|
||||||
SwingUtilities.invokeLater(() -> {
|
SwingUtilities.invokeLater(() -> {
|
||||||
@ -146,10 +146,10 @@ final class NewCaseWizardAction extends CallableSystemAction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the new case wizard panels.
|
* Creates the new case wizard panels.
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||||
private WizardDescriptor.Panel<WizardDescriptor>[] getPanels() {
|
private WizardDescriptor.Panel<WizardDescriptor>[] getNewCaseWizardPanels() {
|
||||||
if (panels == null) {
|
if (panels == null) {
|
||||||
panels = new WizardDescriptor.Panel[]{
|
panels = new WizardDescriptor.Panel[]{
|
||||||
new NewCaseWizardPanel1(),
|
new NewCaseWizardPanel1(),
|
||||||
@ -180,21 +180,33 @@ final class NewCaseWizardAction extends CallableSystemAction {
|
|||||||
return panels;
|
return panels;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return NbBundle.getMessage(this.getClass(), "NewCaseWizardAction.getName.text");
|
return NbBundle.getMessage(this.getClass(), "NewCaseWizardAction.getName.text");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String iconResource() {
|
public String iconResource() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public HelpCtx getHelpCtx() {
|
public HelpCtx getHelpCtx() {
|
||||||
return HelpCtx.DEFAULT_HELP;
|
return HelpCtx.DEFAULT_HELP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected boolean asynchronous() {
|
protected boolean asynchronous() {
|
||||||
return false;
|
return false;
|
||||||
|
@ -170,8 +170,8 @@ class NewCaseWizardPanel2 implements WizardDescriptor.ValidatingPanel<WizardDesc
|
|||||||
@Override
|
@Override
|
||||||
public void storeSettings(WizardDescriptor settings) {
|
public void storeSettings(WizardDescriptor settings) {
|
||||||
NewCaseVisualPanel2 currentComponent = getComponent();
|
NewCaseVisualPanel2 currentComponent = getComponent();
|
||||||
settings.putProperty("caseNumber", currentComponent.getCaseNumber());
|
settings.putProperty("caseNumber", currentComponent.getCaseNumber()); //NON-NLS
|
||||||
settings.putProperty("caseExaminer", currentComponent.getExaminer());
|
settings.putProperty("caseExaminer", currentComponent.getExaminer()); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -32,26 +32,50 @@ import org.openide.windows.WindowManager;
|
|||||||
import java.awt.Cursor;
|
import java.awt.Cursor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Panel show from the splash dialog that shows recent cases and allows them to
|
* Panel used by the the open recent case option of the start window.
|
||||||
* be opened.
|
|
||||||
*/
|
*/
|
||||||
final class OpenRecentCasePanel extends javax.swing.JPanel {
|
class OpenRecentCasePanel extends javax.swing.JPanel {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
private static final Logger logger = Logger.getLogger(OpenRecentCasePanel.class.getName());
|
||||||
private static OpenRecentCasePanel instance;
|
private static OpenRecentCasePanel instance;
|
||||||
private static String[] caseNames;
|
private static String[] caseNames;
|
||||||
private static String[] casePaths;
|
private static String[] casePaths;
|
||||||
private static final Logger logger = Logger.getLogger(OpenRecentCasePanel.class.getName());
|
|
||||||
private RecentCasesTableModel model;
|
private RecentCasesTableModel model;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructs a panel used by the the open recent case option of the start
|
||||||
|
* window.
|
||||||
|
*/
|
||||||
private OpenRecentCasePanel() {
|
private OpenRecentCasePanel() {
|
||||||
initComponents();
|
initComponents();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Gets the singleton instance of the panel used by the the open recent case
|
||||||
|
* option of the start window.
|
||||||
|
*/
|
||||||
|
static OpenRecentCasePanel getInstance() {
|
||||||
|
if (instance == null) {
|
||||||
|
instance = new OpenRecentCasePanel();
|
||||||
|
}
|
||||||
|
instance.refreshRecentCasesTable();
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds an action listener to the cancel button.
|
||||||
|
*
|
||||||
|
* @param listener An action listener.
|
||||||
|
*/
|
||||||
|
void setCloseButtonActionListener(ActionListener listener) {
|
||||||
|
this.cancelButton.addActionListener(listener);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves all the recent cases and adds them to the table.
|
* Retrieves all the recent cases and adds them to the table.
|
||||||
*/
|
*/
|
||||||
private void generateRecentCases() {
|
private void refreshRecentCasesTable() {
|
||||||
caseNames = RecentCases.getInstance().getRecentCaseNames();
|
caseNames = RecentCases.getInstance().getRecentCaseNames();
|
||||||
casePaths = RecentCases.getInstance().getRecentCasePaths();
|
casePaths = RecentCases.getInstance().getRecentCasePaths();
|
||||||
model = new RecentCasesTableModel();
|
model = new RecentCasesTableModel();
|
||||||
@ -70,46 +94,35 @@ final class OpenRecentCasePanel extends javax.swing.JPanel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static OpenRecentCasePanel getInstance() {
|
/*
|
||||||
if (instance == null) {
|
* Opens the selected case.
|
||||||
instance = new OpenRecentCasePanel();
|
*/
|
||||||
}
|
|
||||||
instance.generateRecentCases(); // refresh the case list
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Open the selected case
|
|
||||||
private void openCase() {
|
private void openCase() {
|
||||||
if (casePaths.length < 1) {
|
if (casePaths.length < 1) {
|
||||||
logger.log(Level.INFO, "No Case paths exist, cannot open the case"); //NON-NLS
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final String casePath = casePaths[imagesTable.getSelectedRow()];
|
final String casePath = casePaths[imagesTable.getSelectedRow()];
|
||||||
final String caseName = caseNames[imagesTable.getSelectedRow()];
|
final String caseName = caseNames[imagesTable.getSelectedRow()];
|
||||||
if (!casePath.equals("")) {
|
if (!casePath.equals("")) {
|
||||||
// Close the startup menu
|
|
||||||
try {
|
try {
|
||||||
StartupWindowProvider.getInstance().close();
|
StartupWindowProvider.getInstance().close();
|
||||||
CueBannerPanel.closeOpenRecentCasesWindow();
|
CueBannerPanel.closeOpenRecentCasesWindow();
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
logger.log(Level.WARNING, "Error: couldn't open case: " + caseName, ex); //NON-NLS
|
logger.log(Level.SEVERE, "Error closing start up window", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
// Open the recent cases
|
|
||||||
|
/*
|
||||||
|
* Open the case.
|
||||||
|
*/
|
||||||
if (caseName.equals("") || casePath.equals("") || (!new File(casePath).exists())) {
|
if (caseName.equals("") || casePath.equals("") || (!new File(casePath).exists())) {
|
||||||
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(),
|
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(),
|
||||||
NbBundle.getMessage(this.getClass(),
|
NbBundle.getMessage(this.getClass(), "RecentItems.openRecentCase.msgDlg.text", caseName),
|
||||||
"OpenRecentCasePanel.openCase.msgDlg.caseDoesntExist.msg",
|
NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"),
|
||||||
caseName),
|
|
||||||
NbBundle.getMessage(this.getClass(),
|
|
||||||
"OpenRecentCasePanel.openCase.msgDlg.err"),
|
|
||||||
JOptionPane.ERROR_MESSAGE);
|
JOptionPane.ERROR_MESSAGE);
|
||||||
RecentCases.getInstance().removeRecentCase(caseName, casePath); // remove the recent case if it doesn't exist anymore
|
RecentCases.getInstance().removeRecentCase(caseName, casePath); // remove the recent case if it doesn't exist anymore
|
||||||
|
|
||||||
//if case is not opened, open the start window
|
|
||||||
if (Case.isCaseOpen() == false) {
|
if (Case.isCaseOpen() == false) {
|
||||||
StartupWindowProvider.getInstance().open();
|
StartupWindowProvider.getInstance().open();
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
SwingUtilities.invokeLater(() -> {
|
SwingUtilities.invokeLater(() -> {
|
||||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||||
@ -119,9 +132,13 @@ final class OpenRecentCasePanel extends javax.swing.JPanel {
|
|||||||
Case.open(casePath);
|
Case.open(casePath);
|
||||||
} catch (CaseActionException ex) {
|
} catch (CaseActionException ex) {
|
||||||
SwingUtilities.invokeLater(() -> {
|
SwingUtilities.invokeLater(() -> {
|
||||||
|
logger.log(Level.SEVERE, String.format("Error opening case with metadata file path %s", casePath), ex); //NON-NLS
|
||||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||||
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(), ex.getMessage(),
|
JOptionPane.showMessageDialog(
|
||||||
NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), JOptionPane.ERROR_MESSAGE); //NON-NLS
|
WindowManager.getDefault().getMainWindow(),
|
||||||
|
ex.getMessage(), // Should be user-friendly
|
||||||
|
NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), //NON-NLS
|
||||||
|
JOptionPane.ERROR_MESSAGE);
|
||||||
if (!Case.isCaseOpen()) {
|
if (!Case.isCaseOpen()) {
|
||||||
StartupWindowProvider.getInstance().open();
|
StartupWindowProvider.getInstance().open();
|
||||||
}
|
}
|
||||||
@ -132,15 +149,6 @@ final class OpenRecentCasePanel extends javax.swing.JPanel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the Close button action listener.
|
|
||||||
*
|
|
||||||
* @param e the action listener
|
|
||||||
*/
|
|
||||||
public void setCloseButtonActionListener(ActionListener e) {
|
|
||||||
this.cancelButton.addActionListener(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Table model to keep track of recent cases.
|
* Table model to keep track of recent cases.
|
||||||
*/
|
*/
|
||||||
@ -148,6 +156,9 @@ final class OpenRecentCasePanel extends javax.swing.JPanel {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int getRowCount() {
|
public int getRowCount() {
|
||||||
int count = 0;
|
int count = 0;
|
||||||
@ -159,11 +170,17 @@ final class OpenRecentCasePanel extends javax.swing.JPanel {
|
|||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int getColumnCount() {
|
public int getColumnCount() {
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String getColumnName(int column) {
|
public String getColumnName(int column) {
|
||||||
String colName = null;
|
String colName = null;
|
||||||
@ -180,6 +197,9 @@ final class OpenRecentCasePanel extends javax.swing.JPanel {
|
|||||||
return colName;
|
return colName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object getValueAt(int rowIndex, int columnIndex) {
|
public Object getValueAt(int rowIndex, int columnIndex) {
|
||||||
Object ret = null;
|
Object ret = null;
|
||||||
@ -197,15 +217,28 @@ final class OpenRecentCasePanel extends javax.swing.JPanel {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean isCellEditable(int rowIndex, int columnIndex) {
|
public boolean isCellEditable(int rowIndex, int columnIndex) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
|
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Shortens a path to fit the display.
|
||||||
|
*
|
||||||
|
* @param path The path to shorten.
|
||||||
|
*
|
||||||
|
* @return The shortened path.
|
||||||
|
*/
|
||||||
private String shortenPath(String path) {
|
private String shortenPath(String path) {
|
||||||
String shortenedPath = path;
|
String shortenedPath = path;
|
||||||
if (shortenedPath.length() > 50) {
|
if (shortenedPath.length() > 50) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Autopsy Forensic Browser
|
* Autopsy Forensic Browser
|
||||||
*
|
*
|
||||||
* Copyright 2011-2015 Basis Technology Corp.
|
* Copyright 2011-2016 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");
|
||||||
@ -23,7 +23,6 @@ import java.awt.event.ActionEvent;
|
|||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.openide.windows.WindowManager;
|
import org.openide.windows.WindowManager;
|
||||||
@ -36,21 +35,23 @@ import org.sleuthkit.autopsy.coreutils.Logger;
|
|||||||
import org.sleuthkit.autopsy.ingest.IngestManager;
|
import org.sleuthkit.autopsy.ingest.IngestManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class is used to add the action to the recent case menu item. When the
|
* An action listener that opens a recent case.
|
||||||
* the recent case menu is pressed, it should open that selected case.
|
|
||||||
*/
|
*/
|
||||||
class RecentItems implements ActionListener {
|
class RecentItems implements ActionListener {
|
||||||
|
|
||||||
final String caseName;
|
private static final Logger logger = Logger.getLogger(RecentItems.class.getName());
|
||||||
final String casePath;
|
private final String caseName;
|
||||||
private JPanel caller; // for error handling
|
private final String caseMetaDataFilePath;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* the constructor
|
* Constructs an action listener that opens a recent case.
|
||||||
|
*
|
||||||
|
* @param caseName The name of the case.
|
||||||
|
* @param caseMetaDataFilePath The path to the case metadata file.
|
||||||
*/
|
*/
|
||||||
public RecentItems(String caseName, String casePath) {
|
public RecentItems(String caseName, String caseMetaDataFilePath) {
|
||||||
this.caseName = caseName;
|
this.caseName = caseName;
|
||||||
this.casePath = casePath;
|
this.caseMetaDataFilePath = caseMetaDataFilePath;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -60,58 +61,65 @@ class RecentItems implements ActionListener {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
/*
|
||||||
// if ingest is ongoing, warn and get confirmaion before opening a different case
|
* If ingest is running, do a dialog to warn the user and confirm the
|
||||||
|
* intent to close the current case and leave the ingest process
|
||||||
|
* incomplete.
|
||||||
|
*/
|
||||||
if (IngestManager.getInstance().isIngestRunning()) {
|
if (IngestManager.getInstance().isIngestRunning()) {
|
||||||
// show the confirmation first to close the current case and open the "New Case" wizard panel
|
NotifyDescriptor descriptor = new NotifyDescriptor.Confirmation(
|
||||||
String closeCurrentCase = NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning");
|
NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning"),
|
||||||
NotifyDescriptor descriptor = new NotifyDescriptor.Confirmation(closeCurrentCase,
|
|
||||||
NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning.title"),
|
NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning.title"),
|
||||||
NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE);
|
NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE);
|
||||||
descriptor.setValue(NotifyDescriptor.NO_OPTION);
|
descriptor.setValue(NotifyDescriptor.NO_OPTION);
|
||||||
|
|
||||||
Object res = DialogDisplayer.getDefault().notify(descriptor);
|
Object res = DialogDisplayer.getDefault().notify(descriptor);
|
||||||
if (res != null && res == DialogDescriptor.YES_OPTION) {
|
if (res != null && res == DialogDescriptor.YES_OPTION) {
|
||||||
|
Case currentCase = null;
|
||||||
try {
|
try {
|
||||||
Case.getCurrentCase().closeCase(); // close the current case
|
currentCase = Case.getCurrentCase();
|
||||||
} catch (Exception ex) {
|
currentCase.closeCase();
|
||||||
Logger.getLogger(NewCaseWizardAction.class.getName()).log(Level.WARNING, "Error closing case.", ex); //NON-NLS
|
} catch (IllegalStateException ignored) {
|
||||||
|
/*
|
||||||
|
* No current case.
|
||||||
|
*/
|
||||||
|
} catch (CaseActionException ex) {
|
||||||
|
logger.log(Level.SEVERE, String.format("Error closing case at %s while ingest was running", (null!= currentCase ? currentCase.getCaseDirectory() : "?")),ex); //NON-NLS
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// check if the file exists
|
/*
|
||||||
if (caseName.equals("") || casePath.equals("") || (!new File(casePath).exists())) {
|
* Open the case.
|
||||||
// throw an error here
|
*/
|
||||||
JOptionPane.showMessageDialog(caller,
|
if (caseName.equals("") || caseMetaDataFilePath.equals("") || (!new File(caseMetaDataFilePath).exists())) {
|
||||||
NbBundle.getMessage(this.getClass(), "RecentItems.openRecentCase.msgDlg.text",
|
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(),
|
||||||
caseName),
|
NbBundle.getMessage(this.getClass(), "RecentItems.openRecentCase.msgDlg.text", caseName),
|
||||||
NbBundle.getMessage(this.getClass(), "RecentItems.openRecentCase.msgDlg.err"),
|
NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"),
|
||||||
JOptionPane.ERROR_MESSAGE);
|
JOptionPane.ERROR_MESSAGE);
|
||||||
RecentCases.getInstance().removeRecentCase(caseName, casePath); // remove the recent case if it doesn't exist anymore
|
RecentCases.getInstance().removeRecentCase(caseName, caseMetaDataFilePath);
|
||||||
|
|
||||||
//if case is not opened, open the start window
|
|
||||||
if (Case.isCaseOpen() == false) {
|
if (Case.isCaseOpen() == false) {
|
||||||
EventQueue.invokeLater(() -> {
|
EventQueue.invokeLater(() -> {
|
||||||
StartupWindowProvider.getInstance().open();
|
StartupWindowProvider.getInstance().open();
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
SwingUtilities.invokeLater(() -> {
|
SwingUtilities.invokeLater(() -> {
|
||||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||||
});
|
});
|
||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
// Create case.
|
|
||||||
try {
|
try {
|
||||||
Case.open(casePath);
|
Case.open(caseMetaDataFilePath);
|
||||||
} catch (CaseActionException ex) {
|
} catch (CaseActionException ex) {
|
||||||
SwingUtilities.invokeLater(() -> {
|
SwingUtilities.invokeLater(() -> {
|
||||||
|
logger.log(Level.SEVERE, String.format("Error opening case with metadata file path %s", caseMetaDataFilePath), ex); //NON-NLS
|
||||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||||
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(), ex.getMessage(),
|
JOptionPane.showMessageDialog(
|
||||||
NbBundle.getMessage(RecentItems.this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), JOptionPane.ERROR_MESSAGE); //NON-NLS
|
WindowManager.getDefault().getMainWindow(),
|
||||||
|
ex.getMessage(), // Should be user-friendly
|
||||||
|
NbBundle.getMessage(RecentItems.this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), //NON-NLS
|
||||||
|
JOptionPane.ERROR_MESSAGE);
|
||||||
if (!Case.isCaseOpen()) {
|
if (!Case.isCaseOpen()) {
|
||||||
StartupWindowProvider.getInstance().open();
|
StartupWindowProvider.getInstance().open();
|
||||||
}
|
}
|
||||||
|
@ -49,7 +49,7 @@ public class SingleUserCaseConverter {
|
|||||||
private static final String DOTAUT = ".aut"; //NON-NLS
|
private static final String DOTAUT = ".aut"; //NON-NLS
|
||||||
private static final String TIMELINE_FOLDER = "Timeline"; //NON-NLS
|
private static final String TIMELINE_FOLDER = "Timeline"; //NON-NLS
|
||||||
private static final String TIMELINE_FILE = "events.db"; //NON-NLS
|
private static final String TIMELINE_FILE = "events.db"; //NON-NLS
|
||||||
private static final String POSTGRES_DEFAULT_DB_NAME = "postgres";
|
private static final String POSTGRES_DEFAULT_DB_NAME = "postgres"; //NON-NLS
|
||||||
private static final int MAX_DB_NAME_LENGTH = 63;
|
private static final int MAX_DB_NAME_LENGTH = 63;
|
||||||
|
|
||||||
public class ImportCaseData {
|
public class ImportCaseData {
|
||||||
@ -316,7 +316,7 @@ public class SingleUserCaseConverter {
|
|||||||
Statement check = postgreSQLConnection.createStatement();
|
Statement check = postgreSQLConnection.createStatement();
|
||||||
ResultSet checkResult = check.executeQuery("SELECT * FROM blackboard_artifact_types WHERE artifact_type_id=" + value + " AND type_name LIKE '" + inputResultSet.getString(2) + "' AND display_name LIKE '" + inputResultSet.getString(3) + "'"); //NON-NLS
|
ResultSet checkResult = check.executeQuery("SELECT * FROM blackboard_artifact_types WHERE artifact_type_id=" + value + " AND type_name LIKE '" + inputResultSet.getString(2) + "' AND display_name LIKE '" + inputResultSet.getString(3) + "'"); //NON-NLS
|
||||||
if (!checkResult.isBeforeFirst()) { // only insert if it doesn't exist
|
if (!checkResult.isBeforeFirst()) { // only insert if it doesn't exist
|
||||||
String sql = "INSERT INTO blackboard_artifact_types (artifact_type_id, type_name, display_name) VALUES ("
|
String sql = "INSERT INTO blackboard_artifact_types (artifact_type_id, type_name, display_name) VALUES (" //NON-NLS
|
||||||
+ value + ", '"
|
+ value + ", '"
|
||||||
+ SleuthkitCase.escapeSingleQuotes(inputResultSet.getString(2)) + "',"
|
+ SleuthkitCase.escapeSingleQuotes(inputResultSet.getString(2)) + "',"
|
||||||
+ " ? )"; //NON-NLS
|
+ " ? )"; //NON-NLS
|
||||||
@ -347,7 +347,7 @@ public class SingleUserCaseConverter {
|
|||||||
Statement check = postgreSQLConnection.createStatement();
|
Statement check = postgreSQLConnection.createStatement();
|
||||||
ResultSet checkResult = check.executeQuery("SELECT * FROM blackboard_attribute_types WHERE attribute_type_id=" + value + " AND type_name LIKE '" + inputResultSet.getString(2) + "' AND display_name LIKE '" + inputResultSet.getString(3) + "'"); //NON-NLS
|
ResultSet checkResult = check.executeQuery("SELECT * FROM blackboard_attribute_types WHERE attribute_type_id=" + value + " AND type_name LIKE '" + inputResultSet.getString(2) + "' AND display_name LIKE '" + inputResultSet.getString(3) + "'"); //NON-NLS
|
||||||
if (!checkResult.isBeforeFirst()) { // only insert if it doesn't exist
|
if (!checkResult.isBeforeFirst()) { // only insert if it doesn't exist
|
||||||
String sql = "INSERT INTO blackboard_attribute_types (attribute_type_id, type_name, display_name) VALUES ("
|
String sql = "INSERT INTO blackboard_attribute_types (attribute_type_id, type_name, display_name) VALUES (" //NON-NLS
|
||||||
+ value + ", '"
|
+ value + ", '"
|
||||||
+ SleuthkitCase.escapeSingleQuotes(inputResultSet.getString(2)) + "',"
|
+ SleuthkitCase.escapeSingleQuotes(inputResultSet.getString(2)) + "',"
|
||||||
+ " ? )"; //NON-NLS
|
+ " ? )"; //NON-NLS
|
||||||
@ -377,7 +377,7 @@ public class SingleUserCaseConverter {
|
|||||||
if (value > biggestPK) {
|
if (value > biggestPK) {
|
||||||
biggestPK = value;
|
biggestPK = value;
|
||||||
}
|
}
|
||||||
outputStatement.executeUpdate("INSERT INTO tsk_objects (obj_id, par_obj_id, type) VALUES ("
|
outputStatement.executeUpdate("INSERT INTO tsk_objects (obj_id, par_obj_id, type) VALUES (" //NON-NLS
|
||||||
+ value + ","
|
+ value + ","
|
||||||
+ getNullableLong(inputResultSet, 2) + ","
|
+ getNullableLong(inputResultSet, 2) + ","
|
||||||
+ inputResultSet.getInt(3) + ")"); //NON-NLS
|
+ inputResultSet.getInt(3) + ")"); //NON-NLS
|
||||||
@ -397,7 +397,7 @@ public class SingleUserCaseConverter {
|
|||||||
while (inputResultSet.next()) {
|
while (inputResultSet.next()) {
|
||||||
outputStatement = postgreSQLConnection.createStatement();
|
outputStatement = postgreSQLConnection.createStatement();
|
||||||
try {
|
try {
|
||||||
outputStatement.executeUpdate("INSERT INTO tsk_image_names (obj_id, name, sequence) VALUES ("
|
outputStatement.executeUpdate("INSERT INTO tsk_image_names (obj_id, name, sequence) VALUES (" //NON-NLS
|
||||||
+ inputResultSet.getLong(1) + ",'"
|
+ inputResultSet.getLong(1) + ",'"
|
||||||
+ inputResultSet.getString(2) + "',"
|
+ inputResultSet.getString(2) + "',"
|
||||||
+ inputResultSet.getInt(3) + ")"); //NON-NLS
|
+ inputResultSet.getInt(3) + ")"); //NON-NLS
|
||||||
@ -419,7 +419,7 @@ public class SingleUserCaseConverter {
|
|||||||
if (value > biggestPK) {
|
if (value > biggestPK) {
|
||||||
biggestPK = value;
|
biggestPK = value;
|
||||||
}
|
}
|
||||||
String sql = "INSERT INTO tsk_image_info (obj_id, type, ssize, tzone, size, md5, display_name) VALUES ("
|
String sql = "INSERT INTO tsk_image_info (obj_id, type, ssize, tzone, size, md5, display_name) VALUES (" //NON-NLS
|
||||||
+ value + ","
|
+ value + ","
|
||||||
+ getNullableInt(inputResultSet, 2) + ","
|
+ getNullableInt(inputResultSet, 2) + ","
|
||||||
+ getNullableInt(inputResultSet, 3) + ","
|
+ getNullableInt(inputResultSet, 3) + ","
|
||||||
@ -454,7 +454,7 @@ public class SingleUserCaseConverter {
|
|||||||
if (value > biggestPK) {
|
if (value > biggestPK) {
|
||||||
biggestPK = value;
|
biggestPK = value;
|
||||||
}
|
}
|
||||||
String sql = "INSERT INTO tsk_fs_info (obj_id, img_offset, fs_type, block_size, block_count, root_inum, first_inum, last_inum, display_name) VALUES ("
|
String sql = "INSERT INTO tsk_fs_info (obj_id, img_offset, fs_type, block_size, block_count, root_inum, first_inum, last_inum, display_name) VALUES (" //NON-NLS
|
||||||
+ value + ","
|
+ value + ","
|
||||||
+ inputResultSet.getLong(2) + ","
|
+ inputResultSet.getLong(2) + ","
|
||||||
+ inputResultSet.getInt(3) + ","
|
+ inputResultSet.getInt(3) + ","
|
||||||
@ -490,7 +490,7 @@ public class SingleUserCaseConverter {
|
|||||||
if (value > biggestPK) {
|
if (value > biggestPK) {
|
||||||
biggestPK = value;
|
biggestPK = value;
|
||||||
}
|
}
|
||||||
outputStatement.executeUpdate("INSERT INTO tsk_files_path (obj_id, path) VALUES ("
|
outputStatement.executeUpdate("INSERT INTO tsk_files_path (obj_id, path) VALUES (" //NON-NLS
|
||||||
+ value + ", '"
|
+ value + ", '"
|
||||||
+ SleuthkitCase.escapeSingleQuotes(inputResultSet.getString(2)) + "')"); //NON-NLS
|
+ SleuthkitCase.escapeSingleQuotes(inputResultSet.getString(2)) + "')"); //NON-NLS
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
@ -513,7 +513,7 @@ public class SingleUserCaseConverter {
|
|||||||
if (value > biggestPK) {
|
if (value > biggestPK) {
|
||||||
biggestPK = value;
|
biggestPK = value;
|
||||||
}
|
}
|
||||||
String sql = "INSERT INTO tsk_files (obj_id, fs_obj_id, attr_type, attr_id, name, meta_addr, meta_seq, type, has_layout, has_path, dir_type, meta_type, dir_flags, meta_flags, size, ctime, crtime, atime, mtime, mode, uid, gid, md5, known, parent_path) VALUES ("
|
String sql = "INSERT INTO tsk_files (obj_id, fs_obj_id, attr_type, attr_id, name, meta_addr, meta_seq, type, has_layout, has_path, dir_type, meta_type, dir_flags, meta_flags, size, ctime, crtime, atime, mtime, mode, uid, gid, md5, known, parent_path) VALUES (" //NON-NLS
|
||||||
+ value + ","
|
+ value + ","
|
||||||
+ getNullableLong(inputResultSet, 2) + ","
|
+ getNullableLong(inputResultSet, 2) + ","
|
||||||
+ getNullableInt(inputResultSet, 3) + ","
|
+ getNullableInt(inputResultSet, 3) + ","
|
||||||
@ -561,7 +561,7 @@ public class SingleUserCaseConverter {
|
|||||||
while (inputResultSet.next()) {
|
while (inputResultSet.next()) {
|
||||||
outputStatement = postgreSQLConnection.createStatement();
|
outputStatement = postgreSQLConnection.createStatement();
|
||||||
try {
|
try {
|
||||||
outputStatement.executeUpdate("INSERT INTO tsk_file_layout (obj_id, byte_start, byte_len, sequence) VALUES ("
|
outputStatement.executeUpdate("INSERT INTO tsk_file_layout (obj_id, byte_start, byte_len, sequence) VALUES (" //NON-NLS
|
||||||
+ inputResultSet.getLong(1) + ","
|
+ inputResultSet.getLong(1) + ","
|
||||||
+ inputResultSet.getLong(2) + ","
|
+ inputResultSet.getLong(2) + ","
|
||||||
+ inputResultSet.getLong(3) + ","
|
+ inputResultSet.getLong(3) + ","
|
||||||
@ -583,7 +583,7 @@ public class SingleUserCaseConverter {
|
|||||||
Statement check = postgreSQLConnection.createStatement();
|
Statement check = postgreSQLConnection.createStatement();
|
||||||
ResultSet checkResult = check.executeQuery("SELECT * FROM tsk_db_info WHERE schema_ver=" + inputResultSet.getInt(1) + " AND tsk_ver=" + inputResultSet.getInt(2)); //NON-NLS
|
ResultSet checkResult = check.executeQuery("SELECT * FROM tsk_db_info WHERE schema_ver=" + inputResultSet.getInt(1) + " AND tsk_ver=" + inputResultSet.getInt(2)); //NON-NLS
|
||||||
if (!checkResult.isBeforeFirst()) { // only insert if it doesn't exist
|
if (!checkResult.isBeforeFirst()) { // only insert if it doesn't exist
|
||||||
outputStatement.executeUpdate("INSERT INTO tsk_db_info (schema_ver, tsk_ver) VALUES ("
|
outputStatement.executeUpdate("INSERT INTO tsk_db_info (schema_ver, tsk_ver) VALUES (" //NON-NLS
|
||||||
+ getNullableInt(inputResultSet, 1) + ","
|
+ getNullableInt(inputResultSet, 1) + ","
|
||||||
+ getNullableInt(inputResultSet, 2) + ")"); //NON-NLS
|
+ getNullableInt(inputResultSet, 2) + ")"); //NON-NLS
|
||||||
}
|
}
|
||||||
@ -605,7 +605,7 @@ public class SingleUserCaseConverter {
|
|||||||
if (value > biggestPK) {
|
if (value > biggestPK) {
|
||||||
biggestPK = value;
|
biggestPK = value;
|
||||||
}
|
}
|
||||||
String sql = "INSERT INTO tag_names (tag_name_id, display_name, description, color) VALUES ("
|
String sql = "INSERT INTO tag_names (tag_name_id, display_name, description, color) VALUES (" //NON-NLS
|
||||||
+ value + ","
|
+ value + ","
|
||||||
+ " ? ,'"
|
+ " ? ,'"
|
||||||
+ SleuthkitCase.escapeSingleQuotes(inputResultSet.getString(3)) + "','"
|
+ SleuthkitCase.escapeSingleQuotes(inputResultSet.getString(3)) + "','"
|
||||||
@ -636,7 +636,7 @@ public class SingleUserCaseConverter {
|
|||||||
if (value > biggestPK) {
|
if (value > biggestPK) {
|
||||||
biggestPK = value;
|
biggestPK = value;
|
||||||
}
|
}
|
||||||
outputStatement.executeUpdate("INSERT INTO reports (report_id, path, crtime, src_module_name, report_name) VALUES ("
|
outputStatement.executeUpdate("INSERT INTO reports (report_id, path, crtime, src_module_name, report_name) VALUES (" //NON-NLS
|
||||||
+ value + ", '"
|
+ value + ", '"
|
||||||
+ SleuthkitCase.escapeSingleQuotes(inputResultSet.getString(2)) + "',"
|
+ SleuthkitCase.escapeSingleQuotes(inputResultSet.getString(2)) + "',"
|
||||||
+ inputResultSet.getInt(3) + ",'"
|
+ inputResultSet.getInt(3) + ",'"
|
||||||
@ -664,7 +664,7 @@ public class SingleUserCaseConverter {
|
|||||||
if (value > biggestPK) {
|
if (value > biggestPK) {
|
||||||
biggestPK = value;
|
biggestPK = value;
|
||||||
}
|
}
|
||||||
outputStatement.executeUpdate("INSERT INTO blackboard_artifacts (artifact_id, obj_id, artifact_type_id) VALUES ("
|
outputStatement.executeUpdate("INSERT INTO blackboard_artifacts (artifact_id, obj_id, artifact_type_id) VALUES (" //NON-NLS
|
||||||
+ value + ","
|
+ value + ","
|
||||||
+ inputResultSet.getLong(2) + ","
|
+ inputResultSet.getLong(2) + ","
|
||||||
+ inputResultSet.getLong(3) + ")"); //NON-NLS
|
+ inputResultSet.getLong(3) + ")"); //NON-NLS
|
||||||
@ -684,7 +684,7 @@ public class SingleUserCaseConverter {
|
|||||||
|
|
||||||
while (inputResultSet.next()) {
|
while (inputResultSet.next()) {
|
||||||
try {
|
try {
|
||||||
String sql = "INSERT INTO blackboard_attributes (artifact_id, artifact_type_id, source, context, attribute_type_id, value_type, value_byte, value_text, value_int32, value_int64, value_double) VALUES ("
|
String sql = "INSERT INTO blackboard_attributes (artifact_id, artifact_type_id, source, context, attribute_type_id, value_type, value_byte, value_text, value_int32, value_int64, value_double) VALUES (" //NON-NLS
|
||||||
+ inputResultSet.getLong(1) + ","
|
+ inputResultSet.getLong(1) + ","
|
||||||
+ inputResultSet.getLong(2) + ","
|
+ inputResultSet.getLong(2) + ","
|
||||||
+ " ? ,"
|
+ " ? ,"
|
||||||
@ -722,7 +722,7 @@ public class SingleUserCaseConverter {
|
|||||||
if (value > biggestPK) {
|
if (value > biggestPK) {
|
||||||
biggestPK = value;
|
biggestPK = value;
|
||||||
}
|
}
|
||||||
String sql = "INSERT INTO tsk_vs_parts (obj_id, addr, start, length, descr, flags) VALUES ("
|
String sql = "INSERT INTO tsk_vs_parts (obj_id, addr, start, length, descr, flags) VALUES (" //NON-NLS
|
||||||
+ value + ","
|
+ value + ","
|
||||||
+ inputResultSet.getLong(2) + ","
|
+ inputResultSet.getLong(2) + ","
|
||||||
+ inputResultSet.getLong(3) + ","
|
+ inputResultSet.getLong(3) + ","
|
||||||
@ -754,7 +754,7 @@ public class SingleUserCaseConverter {
|
|||||||
if (value > biggestPK) {
|
if (value > biggestPK) {
|
||||||
biggestPK = value;
|
biggestPK = value;
|
||||||
}
|
}
|
||||||
outputStatement.executeUpdate("INSERT INTO tsk_vs_info (obj_id, vs_type, img_offset, block_size) VALUES ("
|
outputStatement.executeUpdate("INSERT INTO tsk_vs_info (obj_id, vs_type, img_offset, block_size) VALUES (" //NON-NLS
|
||||||
+ value + ","
|
+ value + ","
|
||||||
+ inputResultSet.getInt(2) + ","
|
+ inputResultSet.getInt(2) + ","
|
||||||
+ inputResultSet.getLong(3) + ","
|
+ inputResultSet.getLong(3) + ","
|
||||||
@ -780,7 +780,7 @@ public class SingleUserCaseConverter {
|
|||||||
if (value > biggestPK) {
|
if (value > biggestPK) {
|
||||||
biggestPK = value;
|
biggestPK = value;
|
||||||
}
|
}
|
||||||
String sql = "INSERT INTO tsk_files_derived (obj_id, derived_id, rederive) VALUES ("
|
String sql = "INSERT INTO tsk_files_derived (obj_id, derived_id, rederive) VALUES (" //NON-NLS
|
||||||
+ value + ","
|
+ value + ","
|
||||||
+ inputResultSet.getLong(2) + ","
|
+ inputResultSet.getLong(2) + ","
|
||||||
+ " ? )"; //NON-NLS
|
+ " ? )"; //NON-NLS
|
||||||
@ -808,7 +808,7 @@ public class SingleUserCaseConverter {
|
|||||||
if (value > biggestPK) {
|
if (value > biggestPK) {
|
||||||
biggestPK = value;
|
biggestPK = value;
|
||||||
}
|
}
|
||||||
String sql = "INSERT INTO tsk_files_derived_method (derived_id, tool_name, tool_version, other) VALUES ("
|
String sql = "INSERT INTO tsk_files_derived_method (derived_id, tool_name, tool_version, other) VALUES (" //NON-NLS
|
||||||
+ value + ", '"
|
+ value + ", '"
|
||||||
+ inputResultSet.getString(2) + "','"
|
+ inputResultSet.getString(2) + "','"
|
||||||
+ inputResultSet.getString(3) + "',"
|
+ inputResultSet.getString(3) + "',"
|
||||||
@ -838,7 +838,7 @@ public class SingleUserCaseConverter {
|
|||||||
if (value > biggestPK) {
|
if (value > biggestPK) {
|
||||||
biggestPK = value;
|
biggestPK = value;
|
||||||
}
|
}
|
||||||
outputStatement.executeUpdate("INSERT INTO content_tags (tag_id, obj_id, tag_name_id, comment, begin_byte_offset, end_byte_offset) VALUES ("
|
outputStatement.executeUpdate("INSERT INTO content_tags (tag_id, obj_id, tag_name_id, comment, begin_byte_offset, end_byte_offset) VALUES (" //NON-NLS
|
||||||
+ value + ","
|
+ value + ","
|
||||||
+ inputResultSet.getLong(2) + ","
|
+ inputResultSet.getLong(2) + ","
|
||||||
+ inputResultSet.getLong(3) + ",'"
|
+ inputResultSet.getLong(3) + ",'"
|
||||||
@ -867,7 +867,7 @@ public class SingleUserCaseConverter {
|
|||||||
if (value > biggestPK) {
|
if (value > biggestPK) {
|
||||||
biggestPK = value;
|
biggestPK = value;
|
||||||
}
|
}
|
||||||
outputStatement.executeUpdate("INSERT INTO blackboard_artifact_tags (tag_id, artifact_id, tag_name_id, comment) VALUES ("
|
outputStatement.executeUpdate("INSERT INTO blackboard_artifact_tags (tag_id, artifact_id, tag_name_id, comment) VALUES (" //NON-NLS
|
||||||
+ value + ","
|
+ value + ","
|
||||||
+ inputResultSet.getLong(2) + ","
|
+ inputResultSet.getLong(2) + ","
|
||||||
+ inputResultSet.getLong(3) + ",'"
|
+ inputResultSet.getLong(3) + ",'"
|
||||||
@ -1140,7 +1140,7 @@ public class SingleUserCaseConverter {
|
|||||||
* @throws SQLException if unable to open
|
* @throws SQLException if unable to open
|
||||||
*/
|
*/
|
||||||
private static Connection getPostgreSQLConnection(ImportCaseData icd, String dbName) throws SQLException {
|
private static Connection getPostgreSQLConnection(ImportCaseData icd, String dbName) throws SQLException {
|
||||||
return DriverManager.getConnection("jdbc:postgresql://"
|
return DriverManager.getConnection("jdbc:postgresql://" //NON-NLS
|
||||||
+ icd.getDb().getHost() + ":"
|
+ icd.getDb().getHost() + ":"
|
||||||
+ icd.getDb().getPort() + "/"
|
+ icd.getDb().getPort() + "/"
|
||||||
+ dbName,
|
+ dbName,
|
||||||
|
@ -81,7 +81,7 @@ public final class DataSourceAddedEvent extends AutopsyEvent implements Serializ
|
|||||||
dataSource = Case.getCurrentCase().getSleuthkitCase().getContentById(id);
|
dataSource = Case.getCurrentCase().getSleuthkitCase().getContentById(id);
|
||||||
return dataSource;
|
return dataSource;
|
||||||
} catch (IllegalStateException | TskCoreException ex) {
|
} catch (IllegalStateException | TskCoreException ex) {
|
||||||
logger.log(Level.SEVERE, "Error doing lazy load for remote event", ex);
|
logger.log(Level.SEVERE, "Error doing lazy load for remote event", ex); //NON-NLS
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -78,7 +78,7 @@ public final class ReportAddedEvent extends AutopsyEvent implements Serializable
|
|||||||
}
|
}
|
||||||
return report;
|
return report;
|
||||||
} catch (IllegalStateException | TskCoreException ex) {
|
} catch (IllegalStateException | TskCoreException ex) {
|
||||||
logger.log(Level.SEVERE, "Error doing lazy load for remote event", ex);
|
logger.log(Level.SEVERE, "Error doing lazy load for remote event", ex); //NON-NLS
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -85,7 +85,7 @@ abstract class TagAddedEvent<T extends Tag> extends AutopsyEvent implements Seri
|
|||||||
tag = getTagByID();
|
tag = getTagByID();
|
||||||
return tag;
|
return tag;
|
||||||
} catch (IllegalStateException | TskCoreException ex) {
|
} catch (IllegalStateException | TskCoreException ex) {
|
||||||
Logger.getLogger(TagAddedEvent.class.getName()).log(Level.SEVERE, "Error doing lazy load for remote event", ex);
|
Logger.getLogger(TagAddedEvent.class.getName()).log(Level.SEVERE, "Error doing lazy load for remote event", ex); //NON-NLS
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Metadata.tableRowTitle.name=\u540D\u524D
|
Metadata.tableRowTitle.name=\u540D\u524D
|
||||||
Metadata.tableRowTitle.size=\u30B5\u30A4\u30BA
|
Metadata.tableRowTitle.size=\u30B5\u30A4\u30BA
|
||||||
Metadata.tableRowTitle.fileNameAlloc=\u30D5\u30A1\u30A4\u30EB\u30A2\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3\u72B6\u614B
|
Metadata.tableRowTitle.fileNameAlloc=\u30D5\u30A1\u30A4\u30EB\u540D\u30A2\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3
|
||||||
Metadata.tableRowTitle.metadataAlloc=\u30E1\u30BF\u30C7\u30FC\u30BF\u30A2\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3\u72B6\u614B
|
Metadata.tableRowTitle.metadataAlloc=\u30E1\u30BF\u30C7\u30FC\u30BF\u30A2\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3
|
||||||
Metadata.tableRowTitle.modified=\u4FEE\u6B63\u6E08\u307F
|
Metadata.tableRowTitle.modified=\u4FEE\u6B63\u6E08\u307F
|
||||||
Metadata.tableRowTitle.accessed=\u30A2\u30AF\u30BB\u30B9\u6E08\u307F
|
Metadata.tableRowTitle.accessed=\u30A2\u30AF\u30BB\u30B9\u6E08\u307F
|
||||||
Metadata.tableRowTitle.created=\u4F5C\u6210\u6E08\u307F
|
Metadata.tableRowTitle.created=\u4F5C\u6210\u6E08\u307F
|
||||||
@ -11,9 +11,9 @@ Metadata.tableRowTitle.md5=MD5
|
|||||||
Metadata.tableRowTitle.hashLookupResults=\u30CF\u30C3\u30B7\u30E5\u30EB\u30C3\u30AF\u30A2\u30C3\u30D7\u7D50\u679C
|
Metadata.tableRowTitle.hashLookupResults=\u30CF\u30C3\u30B7\u30E5\u30EB\u30C3\u30AF\u30A2\u30C3\u30D7\u7D50\u679C
|
||||||
Metadata.tableRowTitle.internalid=\u5185\u90E8ID
|
Metadata.tableRowTitle.internalid=\u5185\u90E8ID
|
||||||
Metadata.tableRowTitle.localPath=\u30ED\u30FC\u30AB\u30EB\u30D1\u30B9
|
Metadata.tableRowTitle.localPath=\u30ED\u30FC\u30AB\u30EB\u30D1\u30B9
|
||||||
Metadata.title=\u30E1\u30BF\u30C7\u30FC\u30BF
|
Metadata.title=\u30D5\u30A1\u30A4\u30EB\u30E1\u30BF\u30C7\u30FC\u30BF
|
||||||
Metadata.toolTip=\u30D5\u30A1\u30A4\u30EB\u306E\u30E1\u30BF\u30C7\u30FC\u30BF\u3092\u8868\u793A\u3057\u307E\u3059\u3002
|
Metadata.toolTip=\u30D5\u30A1\u30A4\u30EB\u306E\u30E1\u30BF\u30C7\u30FC\u30BF\u3092\u8868\u793A\u3057\u307E\u3059\u3002
|
||||||
Metadata.nodeText.nonFilePassedIn=\u51E6\u7406\u4E2D\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306F\u30D5\u30A1\u30A4\u30EB\u3067\u306F\u3042\u308A\u307E\u305B\u3093
|
|
||||||
Metadata.tableRowTitle.type=\u30BF\u30A4\u30D7
|
Metadata.tableRowTitle.type=\u30BF\u30A4\u30D7
|
||||||
Metadata.nodeText.exceptionNotice.text=\u30D5\u30A1\u30A4\u30EB\u30E1\u30BF\u30C7\u30FC\u30BF\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A
|
Metadata.nodeText.exceptionNotice.text=\u30D5\u30A1\u30A4\u30EB\u30E1\u30BF\u30C7\u30FC\u30BF\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A
|
||||||
Metadata.nodeText.text=Sleuth Kit istat\u30C4\u30FC\u30EB\u304B\u3089\uFF1A
|
Metadata.nodeText.text=Sleuth Kit istat\u30C4\u30FC\u30EB\u304B\u3089\uFF1A
|
||||||
|
Metadata.nodeText.nonFilePassedIn=\u5165\u529B\u3055\u308C\u305F\u3082\u306E\u306F\u30D5\u30A1\u30A4\u30EB\u3067\u306F\u3042\u308A\u307E\u305B\u3093
|
@ -1,14 +1,31 @@
|
|||||||
OpenIDE-Module-Display-Category=\u57FA\u76E4
|
OpenIDE-Module-Display-Category=\u30A4\u30F3\u30D5\u30E9\u30B9\u30C8\u30E9\u30AF\u30C1\u30E3\u30FC
|
||||||
OpenIDE-Module-Long-Description=\
|
OpenIDE-Module-Long-Description=\
|
||||||
Autopsy\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30B3\u30A2\u3067\u3059\u3002\n\n\
|
\u3053\u308C\u304CAutopsy\u306E\u30B3\u30A2\u30E2\u30B8\u30E5\u30FC\u30EB\u3067\u3059\u3002\n\n\
|
||||||
\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u307F\u3067\u5B9F\u884C\u3059\u308B\u306E\u306B\u5FC5\u8981\u306A\u4E3B\u8981\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\uFF1ARCP\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u3001\u30A6\u30A3\u30F3\u30C9\u30A6\u30A4\u30F3\u30B0GUI\u3001Sleuth Kit\u30D0\u30A4\u30F3\u30C7\u30A3\u30F3\u30B0\u3001\u30C7\u30FC\u30BF\u30E2\u30C7\u30EB\uFF0F\u30B9\u30C8\u30EC\u30FC\u30B8\u3001\u30A8\u30AF\u30B9\u30D7\u30ED\u30FC\u30E9\u3001\u7D50\u679C\u30D3\u30E5\u30FC\u30A2\u3001\u30B3\u30F3\u30C6\u30F3\u30C4\u30D3\u30E5\u30FC\u30A2\u3001\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u7528\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF\u3001\u30EC\u30DD\u30FC\u30C8\u751F\u6210\u3001\u30D5\u30A1\u30A4\u30EB\u691C\u7D22\u7B49\u306E\u4E3B\u8981\u30C4\u30FC\u30EB\u3002\n\n\
|
\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u307F\u3067\u5B9F\u884C\u3059\u308B\u306E\u306B\u5FC5\u8981\u306A\u4E3B\u8981\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\uFF1ARCP\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u3001\u30A6\u30A3\u30F3\u30C9\u30A6\u30A4\u30F3\u30B0GUI\u3001Sleuth Kit\u30D0\u30A4\u30F3\u30C7\u30A3\u30F3\u30B0\u3001\u30C7\u30FC\u30BF\u30E2\u30C7\u30EB\uFF0F\u30B9\u30C8\u30EC\u30FC\u30B8\u3001\u30A8\u30AF\u30B9\u30D7\u30ED\u30FC\u30E9\u3001\u7D50\u679C\u30D3\u30E5\u30FC\u30A2\u3001\u30B3\u30F3\u30C6\u30F3\u30C4\u30D3\u30E5\u30FC\u30A2\u3001\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u7528\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF\u3001\u30EC\u30DD\u30FC\u30C8\u751F\u6210\u3001\u30D5\u30A1\u30A4\u30EB\u691C\u7D22\u7B49\u306E\u4E3B\u8981\u30C4\u30FC\u30EB\u3002\n\n\
|
||||||
\u30E2\u30B8\u30E5\u30FC\u30EB\u5185\u306E\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF\u306B\u306F\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3001\u30D3\u30E5\u30FC\u30A2\u3001\u30EC\u30DD\u30FC\u30C8\u751F\u6210\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u958B\u767A\u7528\u306EAPI\u304C\u542B\u307E\u308C\u307E\u3059\u3002\
|
\u30E2\u30B8\u30E5\u30FC\u30EB\u5185\u306E\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF\u306B\u306F\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3001\u30D3\u30E5\u30FC\u30A2\u3001\u30EC\u30DD\u30FC\u30C8\u751F\u6210\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u958B\u767A\u7528\u306EAPI\u304C\u542B\u307E\u308C\u307E\u3059\u3002\
|
||||||
\u30E2\u30B8\u30E5\u30FC\u30EB\u306FAutopsy\u30D7\u30E9\u30B0\u30A4\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30E9\u30FC\u3092\u4F7F\u7528\u3057\u3001\u30D7\u30E9\u30B0\u30A4\u30F3\u3068\u3057\u3066\u5B9F\u88C5\u3067\u304D\u307E\u3059\u3002\n\
|
\u30E2\u30B8\u30E5\u30FC\u30EB\u306FAutopsy\u30D7\u30E9\u30B0\u30A4\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30E9\u30FC\u3092\u4F7F\u7528\u3057\u3001\u30D7\u30E9\u30B0\u30A4\u30F3\u3068\u3057\u3066\u5B9F\u88C5\u3067\u304D\u307E\u3059\u3002\n\
|
||||||
\u3053\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306F\u30A2\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u306F\u3044\u3051\u307E\u305B\u3093\u3002\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u306A\u3051\u308C\u3070\u3001Autopsy\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\n\n\
|
\u3053\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306F\u30A2\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u306A\u3051\u308C\u3070\u3001Autopsy\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\n\n\
|
||||||
\u8A73\u7D30\u306F\u4E0B\u8A18\u3092\u3054\u89A7\u4E0B\u3055\u3044\u3002http\://www.sleuthkit.org/autopsy/
|
\u8A73\u7D30\u306F\u3053\u3061\u3089\u3067\u3054\u78BA\u8A8D\u304F\u3060\u3055\u3044\u3002http\://www.sleuthkit.org/autopsy/
|
||||||
OpenIDE-Module-Name=Autopsy-\u30B3\u30A2
|
OpenIDE-Module-Name=Autopsy-\u30B3\u30A2
|
||||||
OpenIDE-Module-Short-Description=Autopsy\u30B3\u30A2\u30E2\u30B8\u30E5\u30FC\u30EB
|
OpenIDE-Module-Short-Description=Autopsy\u30B3\u30A2\u30E2\u30B8\u30E5\u30FC\u30EB
|
||||||
org_sleuthkit_autopsy_core_update_center=http\://sleuthkit.org/autopsy/updates_ja.xml
|
org_sleuthkit_autopsy_core_update_center=http\://sleuthkit.org/autopsy/updates_ja.xml
|
||||||
Services/AutoupdateType/org_sleuthkit_autopsy_core_update_center.settings=Autopsy\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u30BB\u30F3\u30BF\u30FC
|
Services/AutoupdateType/org_sleuthkit_autopsy_core_update_center.settings=Autopsy\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u30BB\u30F3\u30BF\u30FC
|
||||||
Installer.errorInitJavafx.msg=JavaFX\u521D\u671F\u5316\u30A8\u30E9\u30FC
|
Installer.errorInitJavafx.msg=JavaFX\u521D\u671F\u5316\u30A8\u30E9\u30FC
|
||||||
Installer.errorInitJavafx.details=\u4E00\u90E8\u306E\u6A5F\u80FD\u304C\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u6B63\u3057\u3044JRE\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u308B\u306E\u3092\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002\uFF08Oracle JRE > 1.7.10\uFF09
|
Installer.errorInitJavafx.details=\u4E00\u90E8\u306E\u6A5F\u80FD\u304C\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u6B63\u3057\u3044JRE\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u308B\u304B\u3092\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002\uFF08Oracle JRE > 1.7.10\uFF09
|
||||||
|
ServicesMonitor.failedService.notify.title=\u30B5\u30FC\u30D3\u30B9\u304C\u505C\u6B62\u3057\u3066\u3044\u307E\u3059
|
||||||
|
ServicesMonitor.failedService.notify.msg={0}\u3078\u306E\u63A5\u7D9A\u304C\u30C0\u30A6\u30F3\u3057\u3066\u3044\u307E\u3059
|
||||||
|
ServicesMonitor.restoredService.notify.title=\u30B5\u30FC\u30D3\u30B9\u304C\u7A3C\u50CD\u4E2D\u3067\u3059
|
||||||
|
ServicesMonitor.restoredService.notify.msg={0}\u3078\u306E\u63A5\u7D9A\u304C\u5229\u7528\u3067\u304D\u307E\u3059
|
||||||
|
ServicesMonitor.statusChange.notify.title=\u30B5\u30FC\u30D3\u30B9\u30B9\u30C6\u30FC\u30BF\u30B9\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
|
||||||
|
ServicesMonitor.statusChange.notify.msg={0}\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u306F{1}
|
||||||
|
ServicesMonitor.nullServiceName.excepton.txt=\u30EA\u30AF\u30A8\u30B9\u30C8\u3055\u308C\u305F\u30B5\u30FC\u30D3\u30B9\u306F\u30CC\u30EB\u3067\u3059
|
||||||
|
ServicesMonitor.unknownServiceName.excepton.txt=\u30EA\u30AF\u30A8\u30B9\u30C8\u3055\u308C\u305F\u30B5\u30FC\u30D3\u30B9{0}\u306F\u4E0D\u660E\u3067\u3059
|
||||||
|
TextConverter.convert.exception.txt=\u30C6\u30AD\u30B9\u30C8{0}\u3092hex\u30C6\u30AD\u30B9\u30C8\u306B\u5909\u63DB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
|
||||||
|
TextConverter.convertFromHex.exception.txt=hex\u30C6\u30AD\u30B9\u30C8\u3092\u30C6\u30AD\u30B9\u30C8\u306B\u5909\u63DB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
|
||||||
|
ServicesMonitor.KeywordSearchNull=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\u30B5\u30FC\u30D3\u30B9\u3092\u898B\u3064\u3051\u308C\u307E\u305B\u3093\u3067\u3057\u305F
|
||||||
|
ServicesMonitor.InvalidPortNumber=\u7121\u52B9\u306A\u30DD\u30FC\u30C8\u756A\u53F7
|
||||||
|
ServicesMonitor.remoteCaseDatabase.displayName.text=\u8907\u6570\u306E\u30E6\u30FC\u30B6\u30FC\u306E\u30B1\u30FC\u30B9\u306E\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30B5\u30FC\u30D3\u30B9
|
||||||
|
ServicesMonitor.remoteKeywordSearch.displayName.text=\u8907\u6570\u306E\u30E6\u30FC\u30B6\u30FC\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\u30B5\u30FC\u30D3\u30B9
|
||||||
|
ServicesMonitor.messaging.displayName.text=\u30E1\u30C3\u30BB\u30FC\u30B8\u30B5\u30FC\u30D3\u30B9
|
||||||
|
ServicesMonitor.databaseConnectionInfo.error.msg=\u30B1\u30FC\u30B9\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u63A5\u7D9A\u60C5\u5831\u3092\u5165\u624B\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
||||||
|
ServicesMonitor.messagingService.connErr.text=\u30E1\u30C3\u30BB\u30FC\u30B8\u30B5\u30FC\u30D3\u30B9\u306E\u63A5\u7D9A\u60C5\u5831\u3092\u5165\u624B\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
@ -68,7 +68,7 @@ AdvancedConfigurationDialog.cancelButton.text=Cancel
|
|||||||
DataResultPanel.directoryTablePath.text=directoryPath
|
DataResultPanel.directoryTablePath.text=directoryPath
|
||||||
DataResultPanel.numberMatchLabel.text=0
|
DataResultPanel.numberMatchLabel.text=0
|
||||||
DataResultPanel.matchLabel.text=Results
|
DataResultPanel.matchLabel.text=Results
|
||||||
MediaViewVideoPanel.pauseButton.text=\u25ba
|
MediaViewVideoPanel.pauseButton.text=\u25BA
|
||||||
MediaViewVideoPanel.progressLabel.text=00:00
|
MediaViewVideoPanel.progressLabel.text=00:00
|
||||||
DataContentViewerMedia.AccessibleContext.accessibleDescription=
|
DataContentViewerMedia.AccessibleContext.accessibleDescription=
|
||||||
MediaViewVideoPanel.infoLabel.text=info
|
MediaViewVideoPanel.infoLabel.text=info
|
||||||
@ -161,10 +161,10 @@ MultiUserSettingsPanel.validationErrMsg.invalidMessgeServiceURI=Message service
|
|||||||
AutopsyOptionsPanel.jCheckBoxEnableProcTimeout.text=
|
AutopsyOptionsPanel.jCheckBoxEnableProcTimeout.text=
|
||||||
AutopsyOptionsPanel.jFormattedTextFieldProcTimeOutHrs.text=60
|
AutopsyOptionsPanel.jFormattedTextFieldProcTimeOutHrs.text=60
|
||||||
AutopsyOptionsPanel.jLabelProcessTimeOutUnits.text=hour(s)
|
AutopsyOptionsPanel.jLabelProcessTimeOutUnits.text=hour(s)
|
||||||
AutopsyOptionsPanel.jLabelSetProcessTimeOut.text=Enable timeout to allow modules to automatically terminate after a set amount of time:
|
AutopsyOptionsPanel.jLabelSetProcessTimeOut.text=Enable timeout to allow modules to automatically terminate after a set amount of time\:
|
||||||
DataContentViewerHex.goToOffsetLabel.text=Jump to Offset
|
DataContentViewerHex.goToOffsetLabel.text=Jump to Offset
|
||||||
DataContentViewerHex.goToOffsetTextField.text=
|
DataContentViewerHex.goToOffsetTextField.text=
|
||||||
DataContentViewerHex.goToOffsetTextField.msgDlg=Invalid Offset: {0}
|
DataContentViewerHex.goToOffsetTextField.msgDlg=Invalid Offset\: {0}
|
||||||
DataContentViewerHex.setDataView.invalidOffset.negativeOffsetValue=Cannot jump to the resultant offset
|
DataContentViewerHex.setDataView.invalidOffset.negativeOffsetValue=Cannot jump to the resultant offset
|
||||||
MultiUserSettingsPanel.tbOops.text=
|
MultiUserSettingsPanel.tbOops.text=
|
||||||
MultiUserSettingsPanel.lbTestDatabase.text=
|
MultiUserSettingsPanel.lbTestDatabase.text=
|
||||||
|
@ -15,7 +15,6 @@ DataContentViewerString.totalPageLabel.text_1=100
|
|||||||
DataContentViewerHex.pageLabel2.text=\u30DA\u30FC\u30B8
|
DataContentViewerHex.pageLabel2.text=\u30DA\u30FC\u30B8
|
||||||
DataContentViewerString.pageLabel2.text=\u30DA\u30FC\u30B8
|
DataContentViewerString.pageLabel2.text=\u30DA\u30FC\u30B8
|
||||||
Format_OperatingSystem_Value={0} \u30D0\u30FC\u30B8\u30E7\u30F3 {1} \u30A2\u30FC\u30AD\u30C6\u30AF\u30C1\u30E3 {2}
|
Format_OperatingSystem_Value={0} \u30D0\u30FC\u30B8\u30E7\u30F3 {1} \u30A2\u30FC\u30AD\u30C6\u30AF\u30C1\u30E3 {2}
|
||||||
URL_ON_IMG=http\://www.sleuthkit.org/
|
|
||||||
LBL_Close=\u9589\u3058\u308B
|
LBL_Close=\u9589\u3058\u308B
|
||||||
DataContentViewerString.copyMenuItem.text=\u30B3\u30D4\u30FC
|
DataContentViewerString.copyMenuItem.text=\u30B3\u30D4\u30FC
|
||||||
DataContentViewerHex.copyMenuItem.text=\u30B3\u30D4\u30FC
|
DataContentViewerHex.copyMenuItem.text=\u30B3\u30D4\u30FC
|
||||||
@ -28,8 +27,8 @@ DataContentViewerArtifact.copyMenuItem.text=\u30B3\u30D4\u30FC
|
|||||||
DataContentViewerArtifact.selectAllMenuItem.text=\u3059\u3079\u3066\u9078\u629E
|
DataContentViewerArtifact.selectAllMenuItem.text=\u3059\u3079\u3066\u9078\u629E
|
||||||
DataContentViewerArtifact.pageLabel.text=\u7D50\u679C\uFF1A
|
DataContentViewerArtifact.pageLabel.text=\u7D50\u679C\uFF1A
|
||||||
AdvancedConfigurationDialog.applyButton.text=OK
|
AdvancedConfigurationDialog.applyButton.text=OK
|
||||||
DataContentViewerString.goToPageLabel.text=\u4E0B\u8A18\u306E\u30DA\u30FC\u30B8\u3078\u79FB\u52D5\uFF1A
|
DataContentViewerString.goToPageLabel.text=\u6B21\u306E\u30DA\u30FC\u30B8\u3078\u79FB\u52D5\uFF1A
|
||||||
DataContentViewerHex.goToPageLabel.text=\u4E0B\u8A18\u306E\u30DA\u30FC\u30B8\u3078\u79FB\u52D5\uFF1A
|
DataContentViewerHex.goToPageLabel.text=\u6B21\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\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
|
||||||
@ -37,7 +36,7 @@ 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=\u6B21\u306E\u30DA\u30FC\u30B8\u306B\u79FB\u52D5\uFF1A
|
||||||
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 +45,7 @@ MediaViewVideoPanel.pauseButton.text=\u25BA
|
|||||||
MediaViewVideoPanel.progressLabel.text=00\:00
|
MediaViewVideoPanel.progressLabel.text=00\:00
|
||||||
MediaViewVideoPanel.infoLabel.text=\u60C5\u5831
|
MediaViewVideoPanel.infoLabel.text=\u60C5\u5831
|
||||||
DataContentViewerArtifact.waitText=\u30C7\u30FC\u30BF\u3092\u53D6\u8FBC\u307F\u304A\u3088\u3073\u6E96\u5099\u4E2D\u3002\u3057\u3070\u3089\u304F\u304A\u5F85\u3061\u4E0B\u3055\u3044\u2026
|
DataContentViewerArtifact.waitText=\u30C7\u30FC\u30BF\u3092\u53D6\u8FBC\u307F\u304A\u3088\u3073\u6E96\u5099\u4E2D\u3002\u3057\u3070\u3089\u304F\u304A\u5F85\u3061\u4E0B\u3055\u3044\u2026
|
||||||
DataContentViewerArtifact.errorText=\u7D50\u679C\u306E\u53D6\u8FBC\u307F\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
DataContentViewerArtifact.errorText=\u7D50\u679C\u3092\u53D6\u8FBC\u307F\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
||||||
DataContentViewerArtifact.title=\u7D50\u679C
|
DataContentViewerArtifact.title=\u7D50\u679C
|
||||||
DataContentViewerArtifact.toolTip=\u30D5\u30A1\u30A4\u30EB\u306B\u95A2\u9023\u3059\u308B\u7D50\u679C\u3092\u8868\u793A\u3057\u307E\u3059
|
DataContentViewerArtifact.toolTip=\u30D5\u30A1\u30A4\u30EB\u306B\u95A2\u9023\u3059\u308B\u7D50\u679C\u3092\u8868\u793A\u3057\u307E\u3059
|
||||||
DataContentViewerHex.goToPageTextField.msgDlg=\uFF11\u304B\u3089 {0}\u306E\u9593\u306E\u6709\u52B9\u306A\u30DA\u30FC\u30B8\u6570\u3092\u5165\u529B\u3057\u3066\u4E0B\u3055\u3044
|
DataContentViewerHex.goToPageTextField.msgDlg=\uFF11\u304B\u3089 {0}\u306E\u9593\u306E\u6709\u52B9\u306A\u30DA\u30FC\u30B8\u6570\u3092\u5165\u529B\u3057\u3066\u4E0B\u3055\u3044
|
||||||
@ -77,12 +76,12 @@ FXVideoPanel.progress.bufferingFile={0}\u3092\u30D0\u30C3\u30D5\u30A1\u30EA\u30F
|
|||||||
FXVideoPanel.progressLabel.buffering=\u30D0\u30C3\u30D5\u30A1\u30EA\u30F3\u30B0\u4E2D\u2026
|
FXVideoPanel.progressLabel.buffering=\u30D0\u30C3\u30D5\u30A1\u30EA\u30F3\u30B0\u4E2D\u2026
|
||||||
FXVideoPanel.media.unsupportedFormat=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3067\u3059\u3002
|
FXVideoPanel.media.unsupportedFormat=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3067\u3059\u3002
|
||||||
GeneralOptionsPanelController.moduleErr=\u30E2\u30B8\u30E5\u30FC\u30EB\u30A8\u30E9\u30FC
|
GeneralOptionsPanelController.moduleErr=\u30E2\u30B8\u30E5\u30FC\u30EB\u30A8\u30E9\u30FC
|
||||||
GeneralOptionsPanelController.moduleErr.msg=GeneralOptionsPanelController\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3092\u78BA\u8A8D\u4E2D\u306B\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u30A8\u30E9\u30FC\u3092\u8D77\u3053\u3057\u307E\u3057\u305F\u3002\u3069\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u304B\u30ED\u30B0\u3067\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002\u4E00\u90E8\u306E\u30C7\u30FC\u30BF\u304C\u4E0D\u5B8C\u5168\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002
|
GeneralOptionsPanelController.moduleErr.msg=GeneralOptionsPanelController\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3092\u78BA\u8A8D\u4E2D\u306B\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u30A8\u30E9\u30FC\u3092\u8D77\u3053\u3057\u307E\u3057\u305F\u3002\u3069\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u304B\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002\u4E00\u90E8\u306E\u30C7\u30FC\u30BF\u304C\u4E0D\u5B8C\u5168\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002
|
||||||
GstVideoPanel.cannotProcFile.err=\u30E1\u30C7\u30A4\u30A2\u30D7\u30EC\u30FC\u30E4\u30FC\u304C\u3053\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u51E6\u7406\u3067\u304D\u307E\u305B\u3093\u3002
|
GstVideoPanel.cannotProcFile.err=\u30E1\u30C7\u30A4\u30A2\u30D7\u30EC\u30FC\u30E4\u30FC\u3067\u306F\u3053\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u51E6\u7406\u3067\u304D\u307E\u305B\u3093\u3002
|
||||||
GstVideoPanel.initGst.gstException.msg=\u30AA\u30FC\u30C7\u30A3\u30AA\uFF0F\u30D3\u30C7\u30AA\u306E\u518D\u751F\u304A\u3088\u3073\u30D5\u30EC\u30FC\u30E0\u306E\u62BD\u51FA\u306B\u4F7F\u7528\u3059\u308BGStreamer\u306E\u521D\u671F\u5316\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u30D3\u30C7\u30AA\u304A\u3088\u3073\u30AA\u30FC\u30C7\u30A3\u30AA\u518D\u751F\u304C\u7121\u52B9\u5316\u3055\u308C\u307E\u3059\u3002
|
GstVideoPanel.initGst.gstException.msg=\u30AA\u30FC\u30C7\u30A3\u30AA\uFF0F\u30D3\u30C7\u30AA\u306E\u518D\u751F\u304A\u3088\u3073\u30D5\u30EC\u30FC\u30E0\u306E\u62BD\u51FA\u306B\u4F7F\u7528\u3059\u308BGStreamer\u306E\u521D\u671F\u5316\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u30D3\u30C7\u30AA\u304A\u3088\u3073\u30AA\u30FC\u30C7\u30A3\u30AA\u518D\u751F\u304C\u7121\u52B9\u5316\u3055\u308C\u307E\u3059\u3002
|
||||||
GstVideoPanel.initGst.otherException.msg=\u30AA\u30FC\u30C7\u30A3\u30AA\uFF0F\u30D3\u30C7\u30AA\u306E\u518D\u751F\u304A\u3088\u3073\u30D5\u30EC\u30FC\u30E0\u306E\u62BD\u51FA\u306B\u4F7F\u7528\u3059\u308BGStreamer\u306E\u521D\u671F\u5316\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u30D3\u30C7\u30AA\u304A\u3088\u3073\u30AA\u30FC\u30C7\u30A3\u30AA\u518D\u751F\u304C\u7121\u52B9\u5316\u3055\u308C\u307E\u3059\u3002
|
GstVideoPanel.initGst.otherException.msg=\u30AA\u30FC\u30C7\u30A3\u30AA\uFF0F\u30D3\u30C7\u30AA\u306E\u518D\u751F\u304A\u3088\u3073\u30D5\u30EC\u30FC\u30E0\u306E\u62BD\u51FA\u306B\u4F7F\u7528\u3059\u308BGStreamer\u306E\u521D\u671F\u5316\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u30D3\u30C7\u30AA\u304A\u3088\u3073\u30AA\u30FC\u30C7\u30A3\u30AA\u518D\u751F\u304C\u7121\u52B9\u5316\u3055\u308C\u307E\u3059\u3002
|
||||||
GstVideoPanel.setupVideo.infoLabel.text=\u524A\u9664\u3055\u308C\u305F\u30D3\u30C7\u30AA\u306E\u518D\u751F\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u5916\u90E8\u30D7\u30EC\u30FC\u30E4\u30FC\u3092\u4F7F\u7528\u3057\u3066\u4E0B\u3055\u3044\u3002
|
GstVideoPanel.setupVideo.infoLabel.text=\u524A\u9664\u3055\u308C\u305F\u30D3\u30C7\u30AA\u306E\u518D\u751F\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u5916\u90E8\u30D7\u30EC\u30FC\u30E4\u30FC\u3092\u4F7F\u7528\u3057\u3066\u4E0B\u3055\u3044\u3002
|
||||||
GstVideoPanel.exception.problemFile.msg=\u30D5\u30A1\u30A4\u30EB({0})\u304B\u3089\u306F\u30D5\u30EC\u30FC\u30E0\u3092\u62BD\u51FA\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
GstVideoPanel.exception.problemFile.msg=\u30D5\u30A1\u30A4\u30EB({0})\u304B\u3089\u30D5\u30EC\u30FC\u30E0\u3092\u62BD\u51FA\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
||||||
GstVideoPanel.exception.problemPlay.msg=\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u9577\u3055\u3092\u78BA\u8A8D\u4E2D\u306B\u518D\u751F\u3092\u3057\u3088\u3046\u3068\u3057\u305F\u969B\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
GstVideoPanel.exception.problemPlay.msg=\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u9577\u3055\u3092\u78BA\u8A8D\u4E2D\u306B\u518D\u751F\u3092\u3057\u3088\u3046\u3068\u3057\u305F\u969B\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||||
LBL_Description=<div style\="font-size\: 12pt; font-family\: Verdana, 'Verdana CE', Arial, 'Arial CE', 'Lucida Grande CE', lucida, 'Helvetica CE', sans-serif;">\n <b>\u88FD\u54C1\u30D0\u30FC\u30B8\u30E7\u30F3\uFF1A</b> {0} ({9}) <br><b>Sleuth Kit\u30D0\u30FC\u30B8\u30E7\u30F3\uFF1A</b> {7} <br><b>Netbeans RCP\u30D3\u30EB\u30C9\:</b> {8} <br> <b>Java\:</b> {1}; {2}<br> <b>\u30B7\u30B9\u30C6\u30E0\uFF1A</b> {3}; {4}; {5}<br><b>\u30E6\u30FC\u30B6\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u540D</b> {6}</div>
|
LBL_Description=<div style\="font-size\: 12pt; font-family\: Verdana, 'Verdana CE', Arial, 'Arial CE', 'Lucida Grande CE', lucida, 'Helvetica CE', sans-serif;">\n <b>\u88FD\u54C1\u30D0\u30FC\u30B8\u30E7\u30F3\uFF1A</b> {0} ({9}) <br><b>Sleuth Kit\u30D0\u30FC\u30B8\u30E7\u30F3\uFF1A</b> {7} <br><b>Netbeans RCP\u30D3\u30EB\u30C9\:</b> {8} <br> <b>Java\:</b> {1}; {2}<br> <b>\u30B7\u30B9\u30C6\u30E0\uFF1A</b> {3}; {4}; {5}<br><b>\u30E6\u30FC\u30B6\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u540D</b> {6}</div>
|
||||||
LBL_Copyright=<div style\="font-size\: 12pt; font-family\: Verdana, 'Verdana CE', Arial, 'Arial CE', 'Lucida Grande CE', lucida, 'Helvetica CE', sans-serif; ">Autopsy™\u306FSleuth Kit™\u3084\u305D\u306E\u4ED6\u30C4\u30FC\u30EB\u3092\u57FA\u306B\u3057\u305F\u30C7\u30B8\u30BF\u30EB\u30FB\u30D5\u30A9\u30EC\u30F3\u30B8\u30C3\u30AF\u30FB\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u3067\u3059\u3002<br> <br>Copyright © 2003-2013. \u8A73\u7D30\u306F\u4E0B\u8A18\u3092\u3054\u89A7\u4E0B\u3055\u3044\u3002 <a style\="color\: \#1E2A60;" href\="http\://www.sleuthkit.org">http\://www.sleuthkit.org</a>. </div>
|
LBL_Copyright=<div style\="font-size\: 12pt; font-family\: Verdana, 'Verdana CE', Arial, 'Arial CE', 'Lucida Grande CE', lucida, 'Helvetica CE', sans-serif; ">Autopsy™\u306FSleuth Kit™\u3084\u305D\u306E\u4ED6\u30C4\u30FC\u30EB\u3092\u57FA\u306B\u3057\u305F\u30C7\u30B8\u30BF\u30EB\u30FB\u30D5\u30A9\u30EC\u30F3\u30B8\u30C3\u30AF\u30FB\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u3067\u3059\u3002<br> <br>Copyright © 2003-2013. \u8A73\u7D30\u306F\u4E0B\u8A18\u3092\u3054\u89A7\u4E0B\u3055\u3044\u3002 <a style\="color\: \#1E2A60;" href\="http\://www.sleuthkit.org">http\://www.sleuthkit.org</a>. </div>
|
||||||
@ -117,12 +116,43 @@ AutopsyOptionsPanel.useGMTTimeRB.text=GMT\u3092\u4F7F\u7528
|
|||||||
AutopsyOptionsPanel.useLocalTimeRB.text=\u30ED\u30FC\u30AB\u30EB\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3\u3092\u4F7F\u7528
|
AutopsyOptionsPanel.useLocalTimeRB.text=\u30ED\u30FC\u30AB\u30EB\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3\u3092\u4F7F\u7528
|
||||||
AutopsyOptionsPanel.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
|
AutopsyOptionsPanel.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
|
||||||
AutopsyOptionsPanel.keepCurrentViewerRB.text=\u305D\u306E\u307E\u307E\u540C\u3058\u30D5\u30A1\u30A4\u30EB\u30D3\u30E5\u30FC\u30A2\u3092\u4F7F\u7528
|
AutopsyOptionsPanel.keepCurrentViewerRB.text=\u305D\u306E\u307E\u307E\u540C\u3058\u30D5\u30A1\u30A4\u30EB\u30D3\u30E5\u30FC\u30A2\u3092\u4F7F\u7528
|
||||||
AutopsyOptionsPanel.restartRequiredLabel.text=\u3053\u306E\u30B3\u30F3\u30D4\u30E5\u30FC\u30BF\u30FC\u3067\u306F\u6700\u5927{0}\u306E\u30D5\u30A1\u30A4\u30EB\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30B9\u30EC\u30C3\u30C9\u3092\u4F7F\u7528\u3059\u3079\u304D\u3067\u3059\u3002\u6709\u52B9\u306B\u3059\u308B\u306B\u306F\u518D\u8D77\u52D5\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
|
AutopsyOptionsPanel.restartRequiredLabel.text=\u3053\u306E\u30B3\u30F3\u30D4\u30E5\u30FC\u30BF\u30FC\u3067\u306F\u6700\u5927{0}\u306E\u30D5\u30A1\u30A4\u30EB\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30B9\u30EC\u30C3\u30C9\u3092\u4F7F\u7528\u3059\u3079\u304D\u3067\u3059\u3002\u6709\u52B9\u306B\u3059\u308B\u306B\u306F\u518D\u8D77\u52D5\u304C\u5FC5\u8981\u3067\u3059\u3002
|
||||||
AutopsyOptionsPanel.jLabelSelectFile.text=\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E\u3059\u308B\u5834\u5408\uFF1A
|
AutopsyOptionsPanel.jLabelSelectFile.text=\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E\u3059\u308B\u5834\u5408\uFF1A
|
||||||
AutopsyOptionsPanel.jLabelHideKnownFiles.text=\u65E2\u77E5\u30D5\u30A1\u30A4\u30EB\uFF08NIST NSRL\u5185\u306E\uFF09\u3092\u4E0B\u8A18\u306B\u96A0\u3059\uFF1A
|
AutopsyOptionsPanel.jLabelHideKnownFiles.text=\u65E2\u77E5\u30D5\u30A1\u30A4\u30EB\uFF08NIST NSRL\u5185\u306E\uFF09\u3092\u6B21\u306B\u96A0\u3059\uFF1A
|
||||||
AutopsyOptionsPanel.jLabelTimeDisplay.text=\u30A2\u30A4\u30C6\u30E0\u3092\u8868\u793A\u3059\u308B\u5834\u5408\uFF1A
|
AutopsyOptionsPanel.jLabelTimeDisplay.text=\u30A2\u30A4\u30C6\u30E0\u3092\u8868\u793A\u3059\u308B\u5834\u5408\uFF1A
|
||||||
AutopsyOptionsPanel.jLabelNumThreads.text=\u30D5\u30A1\u30A4\u30EB\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u306B\u4F7F\u7528\u3059\u308B\u30B9\u30EC\u30C3\u30C9\u6570\uFF1A
|
AutopsyOptionsPanel.jLabelNumThreads.text=\u30D5\u30A1\u30A4\u30EB\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u306B\u4F7F\u7528\u3059\u308B\u30B9\u30EC\u30C3\u30C9\u6570\uFF1A
|
||||||
FXVideoPanel.progress.bufferingCancelled=\u30E1\u30C7\u30A3\u30A2\u306E\u30D0\u30C3\u30D5\u30A1\u30EA\u30F3\u30B0\u304C\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3057\u305F
|
FXVideoPanel.progress.bufferingCancelled=\u30E1\u30C7\u30A3\u30A2\u306E\u30D0\u30C3\u30D5\u30A1\u30EA\u30F3\u30B0\u304C\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3057\u305F
|
||||||
FXVideoPanel.progress.bufferingInterrupted=\u30E1\u30C7\u30A3\u30A2\u306E\u30D0\u30C3\u30D5\u30A1\u30EA\u30F3\u30B0\u304C\u4E2D\u65AD\u3055\u308C\u307E\u3057\u305F
|
FXVideoPanel.progress.bufferingInterrupted=\u30E1\u30C7\u30A3\u30A2\u306E\u30D0\u30C3\u30D5\u30A1\u30EA\u30F3\u30B0\u304C\u4E2D\u65AD\u3055\u308C\u307E\u3057\u305F
|
||||||
FXVideoPanel.progress.errorWritingVideoToDisk=\u30D3\u30C7\u30AA\u3092\u30C7\u30A3\u30B9\u30AF\u3078\u66F8\u304D\u8FBC\u307F\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
FXVideoPanel.progress.errorWritingVideoToDisk=\u30D3\u30C7\u30AA\u3092\u30C7\u30A3\u30B9\u30AF\u3078\u66F8\u304D\u8FBC\u307F\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
||||||
URL_ON_HELP=http\://sleuthkit.org/autopsy/docs/user-docs/3.1/
|
OptionsCategory_Name_Multi_User_Settings=\u8907\u6570\u306E\u30E6\u30FC\u30B6\u30FC
|
||||||
|
OptionsCategory_Keywords_Multi_User_Options=\u8907\u6570\u306E\u30E6\u30FC\u30B6\u30FC\u30AA\u30D7\u30B7\u30E7\u30F3
|
||||||
|
MultiUserSettingsPanel.lbSolrSettings.text=Solr\u8A2D\u5B9A
|
||||||
|
MultiUserSettingsPanel.cbEnableMultiUser.text=\u8907\u6570\u306E\u30E6\u30FC\u30B6\u30FC\u30B1\u30FC\u30B9\u3092\u6709\u52B9\u5316
|
||||||
|
MultiUserSettingsPanel.lbDatabaseSettings.text=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u8A2D\u5B9A
|
||||||
|
MultiUserSettingsPanel.validationErrMsg.incomplete=\u5168\u3066\u306E\u30D0\u30EA\u30E5\u30FC\u3092\u5165\u529B
|
||||||
|
MultiUserSettingsPanel.nonWindowsOs.msg=Windows\u3067\u3057\u304B\u8907\u6570\u306E\u30E6\u30FC\u30B6\u30FC\u7248\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
|
||||||
|
MultiUserSettingsPanel.validationErrMsg.invalidDatabasePort=\u7121\u52B9\u306A\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30DD\u30FC\u30C8\u756A\u53F7
|
||||||
|
MultiUserSettingsPanel.validationErrMsg.invalidMessageServicePort=\u7121\u52B9\u306A\u30E1\u30C3\u30BB\u30FC\u30B8\u30B5\u30FC\u30D3\u30B9\u30DD\u30FC\u30C8\u756A\u53F7
|
||||||
|
MultiUserSettingsPanel.validationErrMsg.invalidIndexingServerPort=\u7121\u52B9\u306ASolr\u30B5\u30FC\u30D0\u30FC\u30DD\u30FC\u30C8\u756A\u53F7
|
||||||
|
MultiUserSettingsPanel.validationErrMsg.invalidMessgeServiceURI=\u7121\u52B9\u306A\u30E1\u30C3\u30BB\u30FC\u30B8\u30B5\u30FC\u30D3\u30B9\u30DB\u30B9\u30C8\u3084\u30DD\u30FC\u30C8\u756A\u53F7
|
||||||
|
AutopsyOptionsPanel.jLabelProcessTimeOutUnits.text=\u6642\u9593
|
||||||
|
AutopsyOptionsPanel.jLabelSetProcessTimeOut.text=\u4E00\u5B9A\u306E\u6642\u9593\u304C\u904E\u304E\u305F\u5F8C\u306B\u81EA\u52D5\u7684\u306B\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u505C\u6B62\u3067\u304D\u308B\u3088\u3046\u306B\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\u3092\u6709\u52B9\u5316\uFF1A
|
||||||
|
DataContentViewerHex.goToOffsetLabel.text=\u30AA\u30D5\u30BB\u30C3\u30C8\u306B\u30B8\u30E3\u30F3\u30D7
|
||||||
|
DataContentViewerHex.goToOffsetTextField.msgDlg=\u7121\u52B9\u306A\u30AA\u30D5\u30BB\u30C3\u30C8\uFF1A{0}
|
||||||
|
DataContentViewerHex.setDataView.invalidOffset.negativeOffsetValue=\u8A08\u7B97\u3055\u308C\u305F\u30AA\u30D5\u30BB\u30C3\u30C8\u306B\u30B8\u30E3\u30F3\u30D7\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
|
||||||
|
MultiUserSettingsPanel.bnTestDatabase.text=\u30C6\u30B9\u30C8
|
||||||
|
MultiUserSettingsPanel.tbDbHostname.toolTipText=\u30DB\u30B9\u30C8\u540D\u307E\u305F\u306FIP\u30A2\u30C9\u30EC\u30B9
|
||||||
|
MultiUserSettingsPanel.tbDbPort.toolTipText=\u30DD\u30FC\u30C8\u756A\u53F7
|
||||||
|
MultiUserSettingsPanel.tbDbUsername.toolTipText=\u30E6\u30FC\u30B6\u30FC\u540D
|
||||||
|
MultiUserSettingsPanel.tbDbPassword.toolTipText=\u30D1\u30B9\u30EF\u30FC\u30C9
|
||||||
|
MultiUserSettingsPanel.bnTestSolr.text=\u30C6\u30B9\u30C8
|
||||||
|
MultiUserSettingsPanel.tbSolrHostname.toolTipText=\u30DB\u30B9\u30C8\u540D\u307E\u305F\u306FIP\u30A2\u30C9\u30EC\u30B9
|
||||||
|
MultiUserSettingsPanel.tbSolrPort.toolTipText=\u30DD\u30FC\u30C8\u756A\u53F7
|
||||||
|
MultiUserSettingsPanel.bnTestMessageService.text=\u30C6\u30B9\u30C8
|
||||||
|
MultiUserSettingsPanel.lbMessageServiceSettings.text=ActiveMQ\u30E1\u30C3\u30BB\u30FC\u30B8\u30B5\u30FC\u30D3\u30B9\u8A2D\u5B9A
|
||||||
|
MultiUserSettingsPanel.tbMsgPort.toolTipText=\u30DD\u30FC\u30C8\u756A\u53F7
|
||||||
|
MultiUserSettingsPanel.tbMsgUsername.toolTipText=\u30E6\u30FC\u30B6\u30FC\u540D\uFF08\u30AA\u30D7\u30B7\u30E7\u30CA\u30EB\uFF09
|
||||||
|
MultiUserSettingsPanel.tbMsgPassword.toolTipText=\u30D1\u30B9\u30EF\u30FC\u30C9\uFF08\u30AA\u30D7\u30B7\u30E7\u30CA\u30EB\uFF09
|
||||||
|
MultiUserSettingsPanel.tbMsgHostname.toolTipText=\u30DB\u30B9\u30C8\u540D\u307E\u305F\u306FIP\u30A2\u30C9\u30EC\u30B9
|
||||||
|
MultiUserSettingsPanel.KeywordSearchNull=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\u30B5\u30FC\u30D3\u30B9\u3092\u898B\u3064\u3051\u308C\u3089\u308C\u307E\u305B\u3093
|
||||||
|
MultiUserSettingsPanel.InvalidPortNumber=\u7121\u52B9\u306A\u30DD\u30FC\u30C8\u756A\u53F7
|
||||||
|
@ -30,15 +30,10 @@ import java.util.ArrayList;
|
|||||||
import java.util.LinkedHashSet;
|
import java.util.LinkedHashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.logging.Level;
|
|
||||||
import javax.swing.Action;
|
import javax.swing.Action;
|
||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
import javax.swing.ListSelectionModel;
|
import javax.swing.ListSelectionModel;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
import javax.swing.event.ChangeEvent;
|
|
||||||
import javax.swing.event.ListSelectionEvent;
|
|
||||||
import javax.swing.event.TableColumnModelEvent;
|
|
||||||
import javax.swing.event.TableColumnModelListener;
|
|
||||||
import org.netbeans.swing.outline.DefaultOutlineModel;
|
import org.netbeans.swing.outline.DefaultOutlineModel;
|
||||||
import org.openide.explorer.ExplorerManager;
|
import org.openide.explorer.ExplorerManager;
|
||||||
import org.openide.explorer.view.OutlineView;
|
import org.openide.explorer.view.OutlineView;
|
||||||
@ -53,10 +48,7 @@ import org.openide.nodes.NodeMemberEvent;
|
|||||||
import org.openide.nodes.NodeReorderEvent;
|
import org.openide.nodes.NodeReorderEvent;
|
||||||
import org.openide.nodes.Sheet;
|
import org.openide.nodes.Sheet;
|
||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.openide.util.NbPreferences;
|
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
|
||||||
import org.sleuthkit.autopsy.corecomponentinterfaces.DataResultViewer;
|
import org.sleuthkit.autopsy.corecomponentinterfaces.DataResultViewer;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DataResult sortable table viewer
|
* DataResult sortable table viewer
|
||||||
@ -101,52 +93,66 @@ public class DataResultViewerTable extends AbstractDataResultViewer {
|
|||||||
// don't show the root node
|
// don't show the root node
|
||||||
ov.getOutline().setRootVisible(false);
|
ov.getOutline().setRootVisible(false);
|
||||||
ov.getOutline().setDragEnabled(false);
|
ov.getOutline().setDragEnabled(false);
|
||||||
|
|
||||||
ov.getOutline().getColumnModel().addColumnModelListener(new TableColumnModelListener() {
|
|
||||||
@Override
|
|
||||||
public void columnAdded(TableColumnModelEvent e) {}
|
|
||||||
@Override
|
|
||||||
public void columnRemoved(TableColumnModelEvent e) {}
|
|
||||||
@Override
|
|
||||||
public void columnMarginChanged(ChangeEvent e) {}
|
|
||||||
@Override
|
|
||||||
public void columnSelectionChanged(ListSelectionEvent e) {}
|
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public void columnMoved(TableColumnModelEvent e) {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
// change the order of the column in the array/hashset
|
*
|
||||||
List<Node.Property<?>> props = new ArrayList<>(propertiesAcc);
|
* The following lines of code were added for this feature.
|
||||||
Node.Property<?> prop = props.remove(e.getFromIndex());
|
*/
|
||||||
props.add(e.getToIndex(), prop);
|
// ov.getOutline().getColumnModel().addColumnModelListener(new TableColumnModelListener() {
|
||||||
|
// @Override
|
||||||
propertiesAcc.clear();
|
// public void columnAdded(TableColumnModelEvent e) {}
|
||||||
for (int j = 0; j < props.size(); ++j) {
|
// @Override
|
||||||
propertiesAcc.add(props.get(j));
|
// public void columnRemoved(TableColumnModelEvent e) {}
|
||||||
}
|
// @Override
|
||||||
}
|
// public void columnMarginChanged(ChangeEvent e) {}
|
||||||
});
|
// @Override
|
||||||
|
// public void columnSelectionChanged(ListSelectionEvent e) {}
|
||||||
|
//
|
||||||
|
// @Override
|
||||||
|
// public void columnMoved(TableColumnModelEvent e) {
|
||||||
|
// // change the order of the column in the array/hashset
|
||||||
|
// List<Node.Property<?>> props = new ArrayList<>(propertiesAcc);
|
||||||
|
// Node.Property<?> prop = props.remove(e.getFromIndex());
|
||||||
|
// props.add(e.getToIndex(), prop);
|
||||||
|
//
|
||||||
|
// propertiesAcc.clear();
|
||||||
|
// for (int j = 0; j < props.size(); ++j) {
|
||||||
|
// propertiesAcc.add(props.get(j));
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// });
|
||||||
/**
|
/**
|
||||||
* Add mouse listener to perform action on double-click
|
* Add mouse listener to perform action on double-click A somewhat hacky
|
||||||
* A somewhat hacky way to perform action even if the column clicked
|
* way to perform action even if the column clicked is not the first
|
||||||
* is not the first one.
|
* one.
|
||||||
*/
|
*/
|
||||||
ov.getOutline().addMouseListener(new MouseListener() {
|
ov.getOutline().addMouseListener(new MouseListener() {
|
||||||
@Override
|
@Override
|
||||||
public void mousePressed(MouseEvent e) {}
|
public void mousePressed(MouseEvent e) {
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseReleased(MouseEvent e) {}
|
public void mouseReleased(MouseEvent e) {
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseEntered(MouseEvent e) {}
|
public void mouseEntered(MouseEvent e) {
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseExited(MouseEvent e) {}
|
public void mouseExited(MouseEvent e) {
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseClicked(MouseEvent e) {
|
public void mouseClicked(MouseEvent e) {
|
||||||
if(e.getClickCount() == 2) {
|
if (e.getClickCount() == 2) {
|
||||||
Node[] nodes = DataResultViewerTable.this.em.getSelectedNodes();
|
Node[] nodes = DataResultViewerTable.this.em.getSelectedNodes();
|
||||||
for(Node node : nodes) {
|
for (Node node : nodes) {
|
||||||
Action action = node.getPreferredAction();
|
Action action = node.getPreferredAction();
|
||||||
if(action != null)
|
if (action != null) {
|
||||||
action.actionPerformed(null);
|
action.actionPerformed(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -354,12 +360,20 @@ public class DataResultViewerTable extends AbstractDataResultViewer {
|
|||||||
if (ov == null) {
|
if (ov == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
storeState();
|
/*
|
||||||
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
|
*
|
||||||
|
* The next three lines of code replaced the three lines of code that
|
||||||
|
* follow
|
||||||
|
*/
|
||||||
|
// storeState();
|
||||||
// set the new root as current
|
// set the new root as current
|
||||||
currentRoot = root;
|
// currentRoot = root;
|
||||||
List<Node.Property<?>> props = loadState();
|
// List<Node.Property<?>> props = loadState();
|
||||||
|
propertiesAcc.clear();
|
||||||
|
DataResultViewerTable.this.getAllChildPropertyHeadersRec(root, 100);
|
||||||
|
List<Node.Property<?>> props = new ArrayList<>(propertiesAcc);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* OutlineView makes the first column be the result of
|
* OutlineView makes the first column be the result of
|
||||||
@ -423,7 +437,7 @@ public class DataResultViewerTable extends AbstractDataResultViewer {
|
|||||||
ov.getOutline().getColumnModel().getColumn(colIndex).setPreferredWidth(colWidth);
|
ov.getOutline().getColumnModel().getColumn(colIndex).setPreferredWidth(colWidth);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if there's no content just auto resize all columns
|
// if there's no content just auto resize all columns
|
||||||
if (content.length <= 0) {
|
if (content.length <= 0) {
|
||||||
// turn on the auto resize
|
// turn on the auto resize
|
||||||
@ -431,65 +445,70 @@ public class DataResultViewerTable extends AbstractDataResultViewer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
|
*
|
||||||
|
* The following three methods were added for this feature
|
||||||
|
*/
|
||||||
// Store the state of current root Node.
|
// Store the state of current root Node.
|
||||||
private void storeState() {
|
// private void storeState() {
|
||||||
if(currentRoot == null || propertiesAcc.isEmpty())
|
// if(currentRoot == null || propertiesAcc.isEmpty())
|
||||||
return;
|
// return;
|
||||||
|
//
|
||||||
TableFilterNode tfn;
|
// TableFilterNode tfn;
|
||||||
if(currentRoot instanceof TableFilterNode)
|
// if(currentRoot instanceof TableFilterNode)
|
||||||
tfn = (TableFilterNode) currentRoot;
|
// tfn = (TableFilterNode) currentRoot;
|
||||||
else
|
// else
|
||||||
return;
|
// return;
|
||||||
|
//
|
||||||
List<Node.Property<?>> props = new ArrayList<>(propertiesAcc);
|
// List<Node.Property<?>> props = new ArrayList<>(propertiesAcc);
|
||||||
for (int i = 0; i < props.size(); i++) {
|
// for (int i = 0; i < props.size(); i++) {
|
||||||
Property<?> prop = props.get(i);
|
// Property<?> prop = props.get(i);
|
||||||
NbPreferences.forModule(this.getClass()).put(getUniqueColName(prop, tfn.getItemType()), String.valueOf(i));
|
// NbPreferences.forModule(this.getClass()).put(getUniqueColName(prop, tfn.getItemType()), String.valueOf(i));
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
// Load the state of current root Node if exists.
|
// Load the state of current root Node if exists.
|
||||||
private List<Node.Property<?>> loadState() {
|
// private List<Node.Property<?>> loadState() {
|
||||||
propertiesAcc.clear();
|
// propertiesAcc.clear();
|
||||||
this.getAllChildPropertyHeadersRec(currentRoot, 100);
|
// this.getAllChildPropertyHeadersRec(currentRoot, 100);
|
||||||
List<Node.Property<?>> props = new ArrayList<>(propertiesAcc);
|
// List<Node.Property<?>> props = new ArrayList<>(propertiesAcc);
|
||||||
|
//
|
||||||
// If node is not table filter node, use default order for columns
|
// // If node is not table filter node, use default order for columns
|
||||||
TableFilterNode tfn;
|
// TableFilterNode tfn;
|
||||||
if(currentRoot instanceof TableFilterNode) {
|
// if (currentRoot instanceof TableFilterNode) {
|
||||||
tfn = (TableFilterNode) currentRoot;
|
// tfn = (TableFilterNode) currentRoot;
|
||||||
}
|
// } else {
|
||||||
else {
|
// Logger.getLogger(DataResultViewerTable.class.getName()).log(Level.INFO,
|
||||||
Logger.getLogger(DataResultViewerTable.class.getName()).log(Level.INFO,
|
// "Node {0} is not TableFilterNode, columns are going to be in default order", currentRoot.getName());
|
||||||
"Node {0} is not TableFilterNode, columns are going to be in default order", currentRoot.getName());
|
// return props;
|
||||||
return props;
|
// }
|
||||||
}
|
//
|
||||||
|
// List<Node.Property<?>> orderedProps = new ArrayList<>(propertiesAcc);
|
||||||
List<Node.Property<?>> orderedProps = new ArrayList<>(propertiesAcc);
|
// for (Property<?> prop : props) {
|
||||||
for (Property<?> prop : props) {
|
// Integer value = Integer.valueOf(NbPreferences.forModule(this.getClass()).get(getUniqueColName(prop, tfn.getItemType()), "-1"));
|
||||||
Integer value = Integer.valueOf(NbPreferences.forModule(this.getClass()).get(getUniqueColName(prop, tfn.getItemType()), "-1"));
|
// if (value >= 0) {
|
||||||
if (value >= 0) {
|
// /**
|
||||||
/**
|
// * The original contents of orderedProps do not matter when
|
||||||
* The original contents of orderedProps do not matter when setting the new ordered values. The reason
|
// * setting the new ordered values. The reason we copy
|
||||||
* we copy propertiesAcc into it first is to give it the currect size so we can set() in any index.
|
// * propertiesAcc into it first is to give it the currect size so
|
||||||
*/
|
// * we can set() in any index.
|
||||||
orderedProps.set(value, prop);
|
// */
|
||||||
}
|
// orderedProps.set(value, prop);
|
||||||
}
|
// }
|
||||||
propertiesAcc.clear();
|
// }
|
||||||
for (Property<?> prop : orderedProps) {
|
// propertiesAcc.clear();
|
||||||
propertiesAcc.add(prop);
|
// for (Property<?> prop : orderedProps) {
|
||||||
}
|
// propertiesAcc.add(prop);
|
||||||
return orderedProps;
|
// }
|
||||||
}
|
// return orderedProps;
|
||||||
|
// }
|
||||||
// Get unique name for node and it's property.
|
//
|
||||||
private String getUniqueColName(Property<?> prop, String type) {
|
// // Get unique name for node and it's property.
|
||||||
return Case.getCurrentCase().getName() + "." + type + "."
|
// private String getUniqueColName(Property<?> prop, String type) {
|
||||||
+ prop.getName().replaceAll("[^a-zA-Z0-9_]", "") + ".columnOrder";
|
// return Case.getCurrentCase().getName() + "." + type + "."
|
||||||
}
|
// + prop.getName().replaceAll("[^a-zA-Z0-9_]", "") + ".columnOrder";
|
||||||
|
// }
|
||||||
|
|
||||||
// Populate a two-dimensional array with rows of property values for up
|
// Populate a two-dimensional array with rows of property values for up
|
||||||
// to maxRows children of the node passed in.
|
// to maxRows children of the node passed in.
|
||||||
|
@ -83,14 +83,14 @@ public class Installer extends ModuleInstall {
|
|||||||
try {
|
try {
|
||||||
Case.open(caseFile);
|
Case.open(caseFile);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
logger.log(Level.SEVERE, "Error opening case", ex); //NON-NLS
|
logger.log(Level.SEVERE, String.format("Error opening case with metadata file path %s", caseFile), ex); //NON-NLS
|
||||||
}
|
}
|
||||||
}).start();
|
}).start();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Case.invokeStartupDialog(); // bring up the startup dialog
|
Case.invokeStartupDialog();
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -103,12 +103,19 @@ public class Installer extends ModuleInstall {
|
|||||||
@Override
|
@Override
|
||||||
public void close() {
|
public void close() {
|
||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
|
String caseDirName = null;
|
||||||
try {
|
try {
|
||||||
if (Case.isCaseOpen()) {
|
if (Case.isCaseOpen()) {
|
||||||
Case.getCurrentCase().closeCase();
|
Case currentCase = Case.getCurrentCase();
|
||||||
|
caseDirName = currentCase.getCaseDirectory();
|
||||||
|
currentCase.closeCase();
|
||||||
}
|
}
|
||||||
} catch (CaseActionException | IllegalStateException ex) {
|
} catch (CaseActionException ex) {
|
||||||
logger.log(Level.SEVERE, "Error closing case", ex); //NON-NLS
|
logger.log(Level.SEVERE, String.format("Error closing case with case directory %s", (null != caseDirName ? caseDirName : "?")), ex); //NON-NLS
|
||||||
|
} catch (IllegalStateException ignored) {
|
||||||
|
/*
|
||||||
|
* No current case. Case.isCaseOpen is not reliable.
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}).start();
|
}).start();
|
||||||
}
|
}
|
||||||
@ -128,7 +135,7 @@ public class Installer extends ModuleInstall {
|
|||||||
try {
|
try {
|
||||||
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
|
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
|
||||||
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
|
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
|
||||||
logger.log(Level.WARNING, "Unable to set theme. ", ex); //NON-NLS
|
logger.log(Level.WARNING, "Error setting OS-X look-and-feel", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
// Store the keys that deal with menu items
|
// Store the keys that deal with menu items
|
||||||
@ -138,20 +145,19 @@ public class Installer extends ModuleInstall {
|
|||||||
uiEntries.put(key, UIManager.get(key));
|
uiEntries.put(key, UIManager.get(key));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Use Metal if available
|
// Use Metal if available.
|
||||||
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
|
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
|
||||||
if ("Nimbus".equals(info.getName())) { //NON-NLS
|
if ("Nimbus".equals(info.getName())) { //NON-NLS
|
||||||
try {
|
try {
|
||||||
UIManager.setLookAndFeel(info.getClassName());
|
UIManager.setLookAndFeel(info.getClassName());
|
||||||
} catch (ClassNotFoundException | InstantiationException |
|
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
|
||||||
IllegalAccessException | UnsupportedLookAndFeelException ex) {
|
logger.log(Level.WARNING, "Error setting OS-X look-and-feel", ex); //NON-NLS
|
||||||
logger.log(Level.WARNING, "Unable to set theme. ", ex); //NON-NLS
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Overwrite the Metal menu item keys to use the Aqua versions
|
// Overwrite the Metal menu item keys to use the Aqua versions.
|
||||||
uiEntries.entrySet().stream().forEach((entry) -> {
|
uiEntries.entrySet().stream().forEach((entry) -> {
|
||||||
UIManager.put(entry.getKey(), entry.getValue());
|
UIManager.put(entry.getKey(), entry.getValue());
|
||||||
});
|
});
|
||||||
|
@ -23,5 +23,5 @@ Process Virtual Memory\: {2}
|
|||||||
StringExtract.illegalStateException.cannotInit.msg=Unicode table not properly initialized, cannot instantiate StringExtract
|
StringExtract.illegalStateException.cannotInit.msg=Unicode table not properly initialized, cannot instantiate StringExtract
|
||||||
ImageUtils.GetOrGenerateThumbnailTask.loadingThumbnailFor=Loading thumbnail for {0}
|
ImageUtils.GetOrGenerateThumbnailTask.loadingThumbnailFor=Loading thumbnail for {0}
|
||||||
ImageUtils.GetOrGenerateThumbnailTask.generatingPreviewFor=Generating preview for {0}
|
ImageUtils.GetOrGenerateThumbnailTask.generatingPreviewFor=Generating preview for {0}
|
||||||
ImageUtils.ReadImageTask.mesage.text=Reading image: {0}
|
ImageUtils.ReadImageTask.mesage.text=Reading image\: {0}
|
||||||
VideoUtils.genVideoThumb.progress.text=extracting temporary file {0}
|
VideoUtils.genVideoThumb.progress.text=extracting temporary file {0}
|
||||||
|
@ -3,7 +3,7 @@ JLNK.noPrefPath.text=\u512A\u5148\u7684\u306B\u4F7F\u7528\u3059\u308B\u30D1\u30B
|
|||||||
PlatformUtil.nameUnknown=\u4E0D\u660E
|
PlatformUtil.nameUnknown=\u4E0D\u660E
|
||||||
PlatformUtil.verUnknown=\u4E0D\u660E
|
PlatformUtil.verUnknown=\u4E0D\u660E
|
||||||
PlatformUtil.archUnknown=\u4E0D\u660E
|
PlatformUtil.archUnknown=\u4E0D\u660E
|
||||||
PlatformUtil.jrePath.jreDir.msg=\u57CB\u3081\u8FBC\u307E\u308C\u305FJRE\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304C\u4E0B\u8A18\u3067\u767A\u898B\u3055\u308C\u307E\u3057\u305F\uFF1A{0}
|
PlatformUtil.jrePath.jreDir.msg=\u57CB\u3081\u8FBC\u307E\u308C\u305FJRE\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304C\u767A\u898B\u3055\u308C\u307E\u3057\u305F\uFF1A{0}
|
||||||
PlatformUtil.jrePath.usingJavaPath.msg=JAVA\u30D0\u30A4\u30CA\u30EA\u30D1\u30B9\u3092\u4F7F\u7528\uFF1A{0}
|
PlatformUtil.jrePath.usingJavaPath.msg=JAVA\u30D0\u30A4\u30CA\u30EA\u30D1\u30B9\u3092\u4F7F\u7528\uFF1A{0}
|
||||||
PlatformUtil.getPID.sigarNotInit.msg=PID\u3092\u5165\u624B\u3067\u304D\u307E\u305B\u3093\u3001Sigar\u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093
|
PlatformUtil.getPID.sigarNotInit.msg=PID\u3092\u5165\u624B\u3067\u304D\u307E\u305B\u3093\u3001Sigar\u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093
|
||||||
PlatformUtil.getPID.gen.msg=PID\u3092\u5165\u624B\u3067\u304D\u307E\u305B\u3093\u3001{0}
|
PlatformUtil.getPID.gen.msg=PID\u3092\u5165\u624B\u3067\u304D\u307E\u305B\u3093\u3001{0}
|
||||||
@ -11,8 +11,8 @@ PlatformUtil.getJavaPID.sigarNotInit.msg=JAVA\u30D7\u30ED\u30BB\u30B9\u306EPID\u
|
|||||||
PlatformUtil.getJavaPID.gen.msg=\u30AF\u30A8\u30EA\u30FC\u306EPID\u304C\u5165\u624B\u3067\u304D\u307E\u305B\u3093\uFF1A{0}, {1}
|
PlatformUtil.getJavaPID.gen.msg=\u30AF\u30A8\u30EA\u30FC\u306EPID\u304C\u5165\u624B\u3067\u304D\u307E\u305B\u3093\uFF1A{0}, {1}
|
||||||
PlatformUtil.getJavaPIDs.sigarNotInit=JAVA\u30D7\u30ED\u30BB\u30B9\u306EPID\u304C\u5165\u624B\u3067\u304D\u307E\u305B\u3093\u3001Sigar\u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093
|
PlatformUtil.getJavaPIDs.sigarNotInit=JAVA\u30D7\u30ED\u30BB\u30B9\u306EPID\u304C\u5165\u624B\u3067\u304D\u307E\u305B\u3093\u3001Sigar\u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093
|
||||||
PlatformUtil.getJavaPIDs.gen.msg=\u30AF\u30A8\u30EA\u30FC\u306EPID\u304C\u5165\u624B\u3067\u304D\u307E\u305B\u3093\uFF1A{0}, {1}
|
PlatformUtil.getJavaPIDs.gen.msg=\u30AF\u30A8\u30EA\u30FC\u306EPID\u304C\u5165\u624B\u3067\u304D\u307E\u305B\u3093\uFF1A{0}, {1}
|
||||||
PlatformUtil.killProcess.sigarNotInit.msg=PID\u3092\u4F7F\u7528\u3057\u3066\u30D7\u30ED\u30BB\u30B9\u3092\u5F37\u5236\u4FEE\u4E86\u3067\u304D\u307E\u305B\u3093\u3001Sigar\u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
|
PlatformUtil.killProcess.sigarNotInit.msg=PID\u3092\u4F7F\u7528\u3057\u3066\u30D7\u30ED\u30BB\u30B9\u3092\u5F37\u5236\u7D42\u4E86\u3067\u304D\u307E\u305B\u3093\u3001Sigar\u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
|
||||||
PlatformUtil.killProcess.gen.msg=\u30D7\u30ED\u30BB\u30B9\u3092\u5F37\u5236\u4FEE\u4E86\u3067\u304D\u307E\u305B\u3093\uFF1A {0}, {1}
|
PlatformUtil.killProcess.gen.msg=\u30D7\u30ED\u30BB\u30B9\u3092\u5F37\u5236\u7D42\u4E86\u3067\u304D\u307E\u305B\u3093\uFF1A {0}, {1}
|
||||||
PlatformUtil.getProcVmUsed.sigarNotInit.msg=\u4F7F\u7528\u4E2D\u306E\u4EEE\u60F3\u30E1\u30E2\u30EA\u91CF\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3001Sigar\u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
|
PlatformUtil.getProcVmUsed.sigarNotInit.msg=\u4F7F\u7528\u4E2D\u306E\u4EEE\u60F3\u30E1\u30E2\u30EA\u91CF\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3001Sigar\u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
|
||||||
PlatformUtil.getProcVmUsed.gen.msg=\u4F7F\u7528\u4E2D\u306E\u4EEE\u60F3\u30E1\u30E2\u30EA\u91CF\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3001{0}
|
PlatformUtil.getProcVmUsed.gen.msg=\u4F7F\u7528\u4E2D\u306E\u4EEE\u60F3\u30E1\u30E2\u30EA\u91CF\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3001{0}
|
||||||
PlatformUtil.getJvmMemInfo.usageText=JVM\u30D2\u30FC\u30D7\u4F7F\u7528\u72B6\u6CC1\uFF1A{0}\u3001JVM\u975E\u30D2\u30FC\u30D7\u4F7F\u7528\u72B6\u6CC1\uFF1A{1}
|
PlatformUtil.getJvmMemInfo.usageText=JVM\u30D2\u30FC\u30D7\u4F7F\u7528\u72B6\u6CC1\uFF1A{0}\u3001JVM\u975E\u30D2\u30FC\u30D7\u4F7F\u7528\u72B6\u6CC1\uFF1A{1}
|
||||||
@ -20,4 +20,8 @@ PlatformUtil.getPhysicalMemInfo.usageText=\u7269\u7406\u30E1\u30E2\u30EA\u4F7F\u
|
|||||||
PlatformUtil.getAllMemUsageInfo.usageText={0}\n\
|
PlatformUtil.getAllMemUsageInfo.usageText={0}\n\
|
||||||
{1}\n\
|
{1}\n\
|
||||||
\u30D7\u30ED\u30BB\u30B9\u4EEE\u60F3\u30E1\u30E2\u30EA\uFF1A{2}
|
\u30D7\u30ED\u30BB\u30B9\u4EEE\u60F3\u30E1\u30E2\u30EA\uFF1A{2}
|
||||||
StringExtract.illegalStateException.cannotInit.msg=\u30E6\u30CB\u30B3\u30FC\u30C9\u30C6\u30FC\u30D6\u30EB\u304C\u6B63\u3057\u304F\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3001StringExtract\u3092\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093
|
StringExtract.illegalStateException.cannotInit.msg=\u30E6\u30CB\u30B3\u30FC\u30C9\u30C6\u30FC\u30D6\u30EB\u304C\u6B63\u3057\u304F\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3001StringExtract\u3092\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093
|
||||||
|
ImageUtils.GetOrGenerateThumbnailTask.loadingThumbnailFor={0}\u306E\u30B5\u30E0\u30CD\u30FC\u30EB\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D
|
||||||
|
ImageUtils.GetOrGenerateThumbnailTask.generatingPreviewFor={0}\u306E\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u4F5C\u6210\u4E2D
|
||||||
|
ImageUtils.ReadImageTask.mesage.text={0}\u3092\u8AAD\u307F\u53D6\u308A\u4E2D
|
||||||
|
VideoUtils.genVideoThumb.progress.text=\u4E00\u6642\u30D5\u30A1\u30A4\u30EB{0}\u3092\u62BD\u51FA\u4E2D
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Autopsy Forensic Browser
|
* Autopsy Forensic Browser
|
||||||
*
|
*
|
||||||
* Copyright 2012-2015 Basis Technology Corp.
|
* Copyright 2012-2016 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");
|
||||||
@ -31,7 +31,8 @@ import java.nio.file.Path;
|
|||||||
public class FileUtil {
|
public class FileUtil {
|
||||||
|
|
||||||
private static final Logger logger = Logger.getLogger(FileUtil.class.getName());
|
private static final Logger logger = Logger.getLogger(FileUtil.class.getName());
|
||||||
private static String TEMP_FILE_PREFIX = "Autopsy"; //NON-NLS
|
private static final String TEMP_FILE_NAME = "Autopsy"; //NON-NLS
|
||||||
|
private static final String TEMP_FILE_EXT = null; //NON-NLS
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Recursively delete all of the files and sub-directories in a directory.
|
* Recursively delete all of the files and sub-directories in a directory.
|
||||||
@ -172,16 +173,17 @@ public class FileUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test if the current user has read and write access to the path.
|
* Test if the current user has read and write access to the dirPath.
|
||||||
*
|
*
|
||||||
* @param path The path to test for read and write access.
|
* @param dirPath The path to the directory to test for read and write
|
||||||
|
* access.
|
||||||
*
|
*
|
||||||
* @return True if we have both read and write access, false otherwise.
|
* @return True if we have both read and write access, false otherwise.
|
||||||
*/
|
*/
|
||||||
public static boolean hasReadWriteAccess(Path path) {
|
public static boolean hasReadWriteAccess(Path dirPath) {
|
||||||
Path p = null;
|
Path p = null;
|
||||||
try {
|
try {
|
||||||
p = Files.createTempFile(path, TEMP_FILE_PREFIX, null);
|
p = Files.createTempFile(dirPath, TEMP_FILE_NAME, TEMP_FILE_EXT);
|
||||||
return (p.toFile().canRead() && p.toFile().canWrite());
|
return (p.toFile().canRead() && p.toFile().canWrite());
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
return false;
|
return false;
|
||||||
@ -194,4 +196,10 @@ public class FileUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prevents instantiation of this utility class.
|
||||||
|
*/
|
||||||
|
private FileUtil() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -414,8 +414,13 @@ public class BlackboardArtifactNode extends DisplayableItemNode {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "BlackboardArtifact"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "BlackboardArtifact"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -108,8 +108,13 @@ public class BlackboardArtifactTagNode extends DisplayableItemNode {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "BlackboardArtifactTag"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "BlackboardArtifactTag"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@ AbstractAbstractFileNode.knownColLbl=\u65E2\u77E5
|
|||||||
AbstractAbstractFileNode.inHashsetsColLbl=HashSet\u306B\u5B58\u5728
|
AbstractAbstractFileNode.inHashsetsColLbl=HashSet\u306B\u5B58\u5728
|
||||||
AbstractAbstractFileNode.md5HashColLbl=MD5\u30CF\u30C3\u30B7\u30E5
|
AbstractAbstractFileNode.md5HashColLbl=MD5\u30CF\u30C3\u30B7\u30E5
|
||||||
AbstractContentChildren.CreateTSKNodeVisitor.exception.noNodeMsg=\u6307\u5B9A\u3055\u308C\u305FSleuthkitItem\u306E\u30CE\u30FC\u30C9\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093
|
AbstractContentChildren.CreateTSKNodeVisitor.exception.noNodeMsg=\u6307\u5B9A\u3055\u308C\u305FSleuthkitItem\u306E\u30CE\u30FC\u30C9\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093
|
||||||
AbstractContentChildren.createAutopsyNodeVisitor.exception.noNodeMsg=\u6307\u5B9A\u3055\u308C\u305F\u8868\u793A\u53EF\u80FD\u306A\u30A2\u30A4\u30C6\u30E0\u306E\u30CE\u30FC\u30C9\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093
|
AbstractContentChildren.createAutopsyNodeVisitor.exception.noNodeMsg=\u6307\u5B9A\u3055\u308C\u305F\u8868\u793A\u53EF\u80FD\u306A\u30A2\u30A4\u30C6\u30E0(DisplayableItem)\u306E\u30CE\u30FC\u30C9\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093
|
||||||
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
|
||||||
@ -68,8 +68,8 @@ DeletedContent.deletedContentsNode.name=\u524A\u9664\u3055\u308C\u305F\u30D5\u30
|
|||||||
DeletedContent.createSheet.name.name=\u540D\u524D
|
DeletedContent.createSheet.name.name=\u540D\u524D
|
||||||
DeletedContent.createSheet.name.displayName=\u540D\u524D
|
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\u30A3\u30EB\u30BF\u30BF\u30A4\u30D7
|
DeletedContent.createSheet.filterType.name=\u30D5\u30A3\u30EB\u30BF\u30FC\u30BF\u30A4\u30D7
|
||||||
DeletedContent.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30BF\u30A4\u30D7
|
DeletedContent.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30FC\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}
|
||||||
@ -96,8 +96,8 @@ FileSize.fileSizeRootNode.name=\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA
|
|||||||
FileSize.createSheet.name.name=\u540D\u524D
|
FileSize.createSheet.name.name=\u540D\u524D
|
||||||
FileSize.createSheet.name.displayName=\u540D\u524D
|
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\u30BF\u30A4\u30D7
|
FileSize.createSheet.filterType.name=\u30D5\u30A3\u30EB\u30BF\u30FC\u30BF\u30A4\u30D7
|
||||||
FileSize.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30BF\u30A4\u30D7
|
FileSize.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30FC\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}
|
||||||
@ -106,14 +106,14 @@ 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
|
||||||
FileTypeExtensionFilters.tskDocumentFilter.text=\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8
|
FileTypeExtensionFilters.tskDocumentFilter.text=\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8
|
||||||
FileTypeExtensionFilters.tskExecFilter.text=\u5B9F\u884C\u53EF\u80FD
|
FileTypeExtensionFilters.tskExecFilter.text=\u5B9F\u884C\u30D5\u30A1\u30A4\u30EB
|
||||||
FileTypeExtensionFilters.autDocHtmlFilter.text=HTML
|
FileTypeExtensionFilters.autDocHtmlFilter.text=HTML
|
||||||
FileTypeExtensionFilters.autDocOfficeFilter.text=\u30AA\u30D5\u30A3\u30B9
|
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\u30BF\u30A4\u30D7
|
FileTypeNode.createSheet.filterType.name=\u30D5\u30A3\u30EB\u30BF\u30FC\u30BF\u30A4\u30D7
|
||||||
FileTypeNode.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30BF\u30A4\u30D7
|
FileTypeNode.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30FC\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
|
||||||
@ -131,7 +131,7 @@ ImageNode.createSheet.name.name=\u540D\u524D
|
|||||||
ImageNode.createSheet.name.displayName=\u540D\u524D
|
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\n\n\u8A73\u7D30\uFF1A {0}
|
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\uFF01\n\n\u8A73\u7D30\uFF1A {0}
|
||||||
Installer.tskLibErr.err=\u81F4\u547D\u7684\u30A8\u30E9\u30FC\uFF01
|
Installer.tskLibErr.err=\u81F4\u547D\u7684\u30A8\u30E9\u30FC\uFF01
|
||||||
InterestingHits.interestingItems.text=\u7591\u308F\u3057\u3044\u30A2\u30A4\u30C6\u30E0
|
InterestingHits.interestingItems.text=\u7591\u308F\u3057\u3044\u30A2\u30A4\u30C6\u30E0
|
||||||
InterestingHits.displayName.text=\u7591\u308F\u3057\u3044\u30A2\u30A4\u30C6\u30E0
|
InterestingHits.displayName.text=\u7591\u308F\u3057\u3044\u30A2\u30A4\u30C6\u30E0
|
||||||
@ -185,10 +185,10 @@ RecentFiles.aut3dayFilter.displayName.text=\u6700\u7D42\u65E5 - \uFF13
|
|||||||
RecentFiles.aut4dayFilter.displayName.text=\u6700\u7D42\u65E5 - \uFF14
|
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\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF1A{0}
|
||||||
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
|
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\u30BF\u30A4\u30D7
|
RecentFilesFilterNode.createSheet.filterType.name=\u30D5\u30A3\u30EB\u30BF\u30FC\u30BF\u30A4\u30D7
|
||||||
RecentFilesFilterNode.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30BF\u30A4\u30D7
|
RecentFilesFilterNode.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30FC\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\u524D
|
RecentFilesNode.createSheet.name.name=\u540D\u524D
|
||||||
RecentFilesNode.createSheet.name.displayName=\u540D\u524D
|
RecentFilesNode.createSheet.name.displayName=\u540D\u524D
|
||||||
@ -260,9 +260,30 @@ ReportNode.createdTimeProperty.desc=\u30BF\u30A4\u30E0\u30EC\u30DD\u30FC\u30C8\u
|
|||||||
ReportNode.createdTimeProperty.displayName=\u4F5C\u6210\u65E5\u6642
|
ReportNode.createdTimeProperty.displayName=\u4F5C\u6210\u65E5\u6642
|
||||||
ReportNode.createdTimeProperty.name=\u4F5C\u6210\u65E5\u6642
|
ReportNode.createdTimeProperty.name=\u4F5C\u6210\u65E5\u6642
|
||||||
ReportNode.pathProperty.desc=\u30EC\u30DD\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u306E\u30ED\u30FC\u30AB\u30EB\u30D1\u30B9
|
ReportNode.pathProperty.desc=\u30EC\u30DD\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u306E\u30ED\u30FC\u30AB\u30EB\u30D1\u30B9
|
||||||
ReportNode.pathProperty.displayName=\u30EC\u30DD\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9
|
ReportNode.pathProperty.displayName=\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\u3092\u30EC\u30DD\u30FC\u30C8
|
||||||
ReportNode.pathProperty.name=\u30EC\u30DD\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9
|
ReportNode.pathProperty.name=\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\u3092\u30EC\u30DD\u30FC\u30C8
|
||||||
ReportNode.sourceModuleNameProperty.desc=\u30EC\u30DD\u30FC\u30C8\u3092\u4F5C\u6210\u3057\u305F\u30E2\u30B8\u30E5\u30FC\u30EB\u540D
|
ReportNode.sourceModuleNameProperty.desc=\u30EC\u30DD\u30FC\u30C8\u3092\u4F5C\u6210\u3057\u305F\u30E2\u30B8\u30E5\u30FC\u30EB\u540D
|
||||||
ReportNode.sourceModuleNameProperty.displayName=\u30BD\u30FC\u30B9\u30E2\u30B8\u30E5\u30FC\u30EB\u540D
|
ReportNode.sourceModuleNameProperty.displayName=\u30BD\u30FC\u30B9\u30E2\u30B8\u30E5\u30FC\u30EB\u540D
|
||||||
ReportNode.sourceModuleNameProperty.name=\u30BD\u30FC\u30B9\u30E2\u30B8\u30E5\u30FC\u30EB\u540D
|
ReportNode.sourceModuleNameProperty.name=\u30BD\u30FC\u30B9\u30E2\u30B8\u30E5\u30FC\u30EB\u540D
|
||||||
ReportsListNode.displayName=\u30EC\u30DD\u30FC\u30C8
|
ReportsListNode.displayName=\u30EC\u30DD\u30FC\u30C8
|
||||||
|
AbstractAbstractFileNode.mimeType=MIME\u30BF\u30A4\u30D7
|
||||||
|
ContentTagNode.createSheet.fileModifiedTime.name=\u4FEE\u6B63\u65E5\u6642
|
||||||
|
ContentTagNode.createSheet.fileModifiedTime.displayName=\u4FEE\u6B63\u65E5\u6642
|
||||||
|
ContentTagNode.createSheet.fileChangedTime.name=\u5909\u66F4\u65E5\u6642
|
||||||
|
ContentTagNode.createSheet.fileChangedTime.displayName=\u5909\u66F4\u65E5\u6642
|
||||||
|
ContentTagNode.createSheet.fileAccessedTime.name=\u30A2\u30AF\u30BB\u30B9\u65E5\u6642
|
||||||
|
ContentTagNode.createSheet.fileAccessedTime.displayName=\u30A2\u30AF\u30BB\u30B9\u65E5\u6642
|
||||||
|
ContentTagNode.createSheet.fileCreatedTime.name=\u4F5C\u6210\u65E5\u6642
|
||||||
|
ContentTagNode.createSheet.fileCreatedTime.displayName=\u4F5C\u6210\u65E5\u6642
|
||||||
|
ContentTagNode.createSheet.fileSize.name=\u30B5\u30A4\u30BA
|
||||||
|
ContentTagNode.createSheet.fileSize.displayName=\u30B5\u30A4\u30BA
|
||||||
|
LocalFileNode.viewFileInDir.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A
|
||||||
|
ReportNode.reportNameProperty.name=\u30EC\u30DD\u30FC\u30C8\u540D
|
||||||
|
ReportNode.reportNameProperty.displayName=\u30EC\u30DD\u30FC\u30C8\u540D
|
||||||
|
ReportNode.reportNameProperty.desc=\u30EC\u30DD\u30FC\u30C8\u306E\u540D\u524D
|
||||||
|
DeleteReportAction.actionDisplayName.singleReport=\u30EC\u30DD\u30FC\u30C8\u3092\u524A\u9664
|
||||||
|
DeleteReportAction.actionDisplayName.multipleReports=\u30EC\u30DD\u30FC\u30C8\u3092\u524A\u9664
|
||||||
|
DeleteReportAction.actionPerformed.showConfirmDialog.single.msg=\uFF11\u3064\u306E\u30EC\u30DD\u30FC\u30C8\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F
|
||||||
|
DeleteReportAction.actionPerformed.showConfirmDialog.multiple.msg={0}\u306E\u30EC\u30DD\u30FC\u30C8\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F
|
||||||
|
DeleteReportAction.actionPerformed.showConfirmDialog.checkbox.msg=\u30C7\u30A3\u30B9\u30AF\u304B\u3089\u30EC\u30DD\u30FC\u30C8\u3092\u524A\u9664\u3059\u308B\u5834\u5408\u306F\u30C1\u30A7\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||||
|
DeleteReportAction.actionPerformed.showConfirmDialog.title=\u524A\u9664\u3092\u78BA\u5B9A\u3059\u308B
|
@ -122,8 +122,13 @@ class ContentTagNode extends DisplayableItemNode {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "ContentTag"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "ContentTag"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -56,10 +56,15 @@ public class DataSourcesNode extends DisplayableItemNode {
|
|||||||
this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/image.png"); //NON-NLS
|
this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/image.png"); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "DataSources"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "DataSources"; //NON-NLS
|
||||||
|
// }
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Custom Keys implementation that listens for new data sources being added.
|
* Custom Keys implementation that listens for new data sources being added.
|
||||||
|
@ -147,10 +147,15 @@ public class DeletedContent implements AutopsyVisitableItem {
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "DeletedContent"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "DeletedContent"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class DeletedContentsChildren extends ChildFactory<DeletedContent.DeletedContentFilter> {
|
public static class DeletedContentsChildren extends ChildFactory<DeletedContent.DeletedContentFilter> {
|
||||||
@ -280,11 +285,16 @@ public class DeletedContent implements AutopsyVisitableItem {
|
|||||||
updateDisplayName();
|
updateDisplayName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering
|
||||||
return "DeletedContentChildren"; //NON-NLS
|
* code
|
||||||
}
|
*
|
||||||
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "DeletedContentChildren"; //NON-NLS
|
||||||
|
// }
|
||||||
// update the display name when new events are fired
|
// update the display name when new events are fired
|
||||||
private class DeletedContentNodeObserver implements Observer {
|
private class DeletedContentNodeObserver implements Observer {
|
||||||
|
|
||||||
@ -347,7 +357,6 @@ public class DeletedContent implements AutopsyVisitableItem {
|
|||||||
private final Observer observer = new DeletedContentChildrenObserver();
|
private final Observer observer = new DeletedContentChildrenObserver();
|
||||||
|
|
||||||
// Cause refresh of children if there are changes
|
// Cause refresh of children if there are changes
|
||||||
|
|
||||||
private class DeletedContentChildrenObserver implements Observer {
|
private class DeletedContentChildrenObserver implements Observer {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -101,8 +101,13 @@ public class DirectoryNode extends AbstractFsContentNode<AbstractFile> {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "Directory"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "Directory"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -40,6 +40,11 @@ public abstract class DisplayableItemNode extends AbstractNode {
|
|||||||
public abstract boolean isLeafTypeNode();
|
public abstract boolean isLeafTypeNode();
|
||||||
|
|
||||||
public abstract <T> T accept(DisplayableItemNodeVisitor<T> v);
|
public abstract <T> T accept(DisplayableItemNodeVisitor<T> v);
|
||||||
|
|
||||||
public abstract String getItemType();
|
/*
|
||||||
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
|
*
|
||||||
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// public abstract String getItemType();
|
||||||
}
|
}
|
||||||
|
@ -191,10 +191,15 @@ public class EmailExtracted implements AutopsyVisitableItem {
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "EmailExtractedRoot"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "EmailExtractedRoot"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -346,10 +351,15 @@ public class EmailExtracted implements AutopsyVisitableItem {
|
|||||||
updateDisplayName();
|
updateDisplayName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "EmailExtractedAccount"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "EmailExtractedAccount"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -437,10 +447,15 @@ public class EmailExtracted implements AutopsyVisitableItem {
|
|||||||
updateDisplayName();
|
updateDisplayName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "EmailExtractedFolder"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "EmailExtractedFolder"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -183,10 +183,15 @@ public class ExtractedContent implements AutopsyVisitableItem {
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "ExtractedContentRoot"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "ExtractedContentRoot"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -400,10 +405,15 @@ public class ExtractedContent implements AutopsyVisitableItem {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return type.getDisplayName();
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return type.getDisplayName();
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -184,8 +184,13 @@ public class FileNode extends AbstractFsContentNode<AbstractFile> {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "File"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "File"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -144,10 +144,15 @@ public class FileSize implements AutopsyVisitableItem {
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "FileSizeRoot"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "FileSizeRoot"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -286,11 +291,16 @@ public class FileSize implements AutopsyVisitableItem {
|
|||||||
updateDisplayName();
|
updateDisplayName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering
|
||||||
return "FileSize"; //NON-NLS
|
* code
|
||||||
}
|
*
|
||||||
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "FileSize"; //NON-NLS
|
||||||
|
// }
|
||||||
// update the display name when new events are fired
|
// update the display name when new events are fired
|
||||||
private class FileSizeNodeObserver implements Observer {
|
private class FileSizeNodeObserver implements Observer {
|
||||||
|
|
||||||
|
@ -82,10 +82,15 @@ public class FileTypeNode extends DisplayableItemNode {
|
|||||||
this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/file-filter-icon.png"); //NON-NLS
|
this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/file-filter-icon.png"); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "FileType"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "FileType"; //NON-NLS
|
||||||
|
// }
|
||||||
|
|
||||||
// update the display name when new events are fired
|
// update the display name when new events are fired
|
||||||
private class FileTypeNodeObserver implements Observer {
|
private class FileTypeNodeObserver implements Observer {
|
||||||
|
@ -104,16 +104,21 @@ public class FileTypesNode extends DisplayableItemNode {
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
if(filter == null)
|
*
|
||||||
return "FileTypes"; //NON-NLS
|
* Added to support this feature.
|
||||||
if (filter.equals(FileTypeExtensionFilters.RootFilter.TSK_DOCUMENT_FILTER))
|
*/
|
||||||
return "FileTypesDoc"; //NON-NLS
|
// @Override
|
||||||
if (filter.equals(FileTypeExtensionFilters.RootFilter.TSK_EXECUTABLE_FILTER))
|
// public String getItemType() {
|
||||||
return "FileTypesExe"; //NON-NLS
|
// if(filter == null)
|
||||||
return "FileTypes"; //NON-NLS
|
// return "FileTypes"; //NON-NLS
|
||||||
}
|
// if (filter.equals(FileTypeExtensionFilters.RootFilter.TSK_DOCUMENT_FILTER))
|
||||||
|
// return "FileTypesDoc"; //NON-NLS
|
||||||
|
// if (filter.equals(FileTypeExtensionFilters.RootFilter.TSK_EXECUTABLE_FILTER))
|
||||||
|
// return "FileTypesExe"; //NON-NLS
|
||||||
|
// return "FileTypes"; //NON-NLS
|
||||||
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -169,10 +169,15 @@ public class HashsetHits implements AutopsyVisitableItem {
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "HashsetRoot"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "HashsetRoot"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -327,10 +332,15 @@ public class HashsetHits implements AutopsyVisitableItem {
|
|||||||
updateDisplayName();
|
updateDisplayName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "HashsetName"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "HashsetName"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -110,8 +110,13 @@ public class ImageNode extends AbstractContentNode<Image> {
|
|||||||
return v.visit(this);
|
return v.visit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "Image"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "Image"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -162,10 +162,15 @@ public class InterestingHits implements AutopsyVisitableItem {
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "InterestingHitsRoot"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "InterestingHitsRoot"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
private class SetNameFactory extends ChildFactory.Detachable<String> implements Observer {
|
private class SetNameFactory extends ChildFactory.Detachable<String> implements Observer {
|
||||||
@ -313,10 +318,15 @@ public class InterestingHits implements AutopsyVisitableItem {
|
|||||||
updateDisplayName();
|
updateDisplayName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "InterestingHitsSetName"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "InterestingHitsSetName"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
private class HitFactory extends ChildFactory<Long> implements Observer {
|
private class HitFactory extends ChildFactory<Long> implements Observer {
|
||||||
|
@ -73,7 +73,6 @@ public class KeywordHits implements AutopsyVisitableItem {
|
|||||||
private final class KeywordResults extends Observable {
|
private final class KeywordResults extends Observable {
|
||||||
|
|
||||||
// Map from listName/Type to Map of keyword to set of artifact Ids
|
// Map from listName/Type to Map of keyword to set of artifact Ids
|
||||||
|
|
||||||
private final Map<String, Map<String, Set<Long>>> topLevelMap;
|
private final Map<String, Map<String, Set<Long>>> topLevelMap;
|
||||||
|
|
||||||
KeywordResults() {
|
KeywordResults() {
|
||||||
@ -240,10 +239,15 @@ public class KeywordHits implements AutopsyVisitableItem {
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "KeywordRoot"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "KeywordRoot"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
private class ListFactory extends ChildFactory.Detachable<String> implements Observer {
|
private class ListFactory extends ChildFactory.Detachable<String> implements Observer {
|
||||||
@ -395,10 +399,15 @@ public class KeywordHits implements AutopsyVisitableItem {
|
|||||||
updateDisplayName();
|
updateDisplayName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "KeywordList"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "KeywordList"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
private class TermFactory extends ChildFactory.Detachable<String> implements Observer {
|
private class TermFactory extends ChildFactory.Detachable<String> implements Observer {
|
||||||
@ -493,10 +502,15 @@ public class KeywordHits implements AutopsyVisitableItem {
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "KeywordTerm"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "KeywordTerm"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class HitsFactory extends ChildFactory.Detachable<Long> implements Observer {
|
public class HitsFactory extends ChildFactory.Detachable<Long> implements Observer {
|
||||||
|
@ -38,11 +38,15 @@ import org.sleuthkit.datamodel.TskData;
|
|||||||
*/
|
*/
|
||||||
public class LayoutFileNode extends AbstractAbstractFileNode<LayoutFile> {
|
public class LayoutFileNode extends AbstractAbstractFileNode<LayoutFile> {
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "LayoutFile"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "LayoutFile"; //NON-NLS
|
||||||
|
// }
|
||||||
public static enum LayoutContentPropertyType {
|
public static enum LayoutContentPropertyType {
|
||||||
|
|
||||||
PARTS {
|
PARTS {
|
||||||
|
@ -116,8 +116,13 @@ public class LocalFileNode extends AbstractAbstractFileNode<AbstractFile> {
|
|||||||
return true; //!this.hasContentChildren();
|
return true; //!this.hasContentChildren();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "LocalFile"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "LocalFile"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -83,8 +83,13 @@ public class RecentFilesFilterNode extends DisplayableItemNode {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "RecentFilesFilter"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "RecentFilesFilter"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -66,8 +66,13 @@ public class RecentFilesNode extends DisplayableItemNode {
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "RecentFiles"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "RecentFiles"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -89,10 +89,15 @@ public final class Reports implements AutopsyVisitableItem {
|
|||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "ReportsList"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "ReportsList"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -214,11 +219,15 @@ public final class Reports implements AutopsyVisitableItem {
|
|||||||
return new OpenReportAction();
|
return new OpenReportAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "Reports"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "Reports"; //NON-NLS
|
||||||
|
// }
|
||||||
private static class DeleteReportAction extends AbstractAction {
|
private static class DeleteReportAction extends AbstractAction {
|
||||||
|
|
||||||
private static DeleteReportAction instance;
|
private static DeleteReportAction instance;
|
||||||
|
@ -69,8 +69,13 @@ public class ResultsNode extends DisplayableItemNode {
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "Results"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "Results"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -109,10 +109,15 @@ public class Tags implements AutopsyVisitableItem {
|
|||||||
return propertySheet;
|
return propertySheet;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "TagsRoots"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "TagsRoots"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
private class TagNameNodeFactory extends ChildFactory.Detachable<TagName> implements Observer {
|
private class TagNameNodeFactory extends ChildFactory.Detachable<TagName> implements Observer {
|
||||||
@ -271,10 +276,15 @@ public class Tags implements AutopsyVisitableItem {
|
|||||||
updateDisplayName();
|
updateDisplayName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "TagsName"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "TagsName"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -371,10 +381,15 @@ public class Tags implements AutopsyVisitableItem {
|
|||||||
updateDisplayName();
|
updateDisplayName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "TagsContentType"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "TagsContentType"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
private class ContentTagNodeFactory extends ChildFactory<ContentTag> implements Observer {
|
private class ContentTagNodeFactory extends ChildFactory<ContentTag> implements Observer {
|
||||||
@ -469,10 +484,15 @@ public class Tags implements AutopsyVisitableItem {
|
|||||||
updateDisplayName();
|
updateDisplayName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "TagsBlackboardArtifact"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "TagsBlackboardArtifact"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
private class BlackboardArtifactTagNodeFactory extends ChildFactory<BlackboardArtifactTag> implements Observer {
|
private class BlackboardArtifactTagNodeFactory extends ChildFactory<BlackboardArtifactTag> implements Observer {
|
||||||
|
@ -73,8 +73,13 @@ public class ViewsNode extends DisplayableItemNode {
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "Views"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "Views"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -149,8 +149,13 @@ public class VirtualDirectoryNode extends AbstractAbstractFileNode<VirtualDirect
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "VirtualDirectory"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "VirtualDirectory"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -74,7 +74,7 @@ public class VolumeNode extends AbstractContentNode<Volume> {
|
|||||||
// Listen for case events so that we can detect when case is closed
|
// Listen for case events so that we can detect when case is closed
|
||||||
Case.addPropertyChangeListener(pcl);
|
Case.addPropertyChangeListener(pcl);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeListeners() {
|
private void removeListeners() {
|
||||||
IngestManager.getInstance().removeIngestModuleEventListener(pcl);
|
IngestManager.getInstance().removeIngestModuleEventListener(pcl);
|
||||||
Case.removePropertyChangeListener(pcl);
|
Case.removePropertyChangeListener(pcl);
|
||||||
@ -190,8 +190,13 @@ public class VolumeNode extends AbstractContentNode<Volume> {
|
|||||||
return v.visit(this);
|
return v.visit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "Volume"; //NON-NLS
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "Volume"; //NON-NLS
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -2,14 +2,14 @@ CTL_PerformancePanelAction=\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u8A3A\u65A
|
|||||||
PerformancePanel.cpuTest.basemsg=CPU\u30C6\u30B9\u30C8\u5B9F\u884C\u4E2D
|
PerformancePanel.cpuTest.basemsg=CPU\u30C6\u30B9\u30C8\u5B9F\u884C\u4E2D
|
||||||
PerformancePanel.cpuTest.cpuLabel.MBHashedPerSec.text=\uFF11\u79D2\u3054\u3068\u306B{0}MB\u30CF\u30C3\u30B7\u30E5\u5B8C\u4E86
|
PerformancePanel.cpuTest.cpuLabel.MBHashedPerSec.text=\uFF11\u79D2\u3054\u3068\u306B{0}MB\u30CF\u30C3\u30B7\u30E5\u5B8C\u4E86
|
||||||
PerformancePanel.cpuTest.cpuLabel.md5AlgNotFound.text=MD5\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F
|
PerformancePanel.cpuTest.cpuLabel.md5AlgNotFound.text=MD5\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F
|
||||||
PerformancePanel.dbTest.dbLabel.errPerformQuery.text=\u30AF\u30A8\u30EA\u5B9F\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
PerformancePanel.dbTest.dbLabel.errPerformQuery.text=\u30AF\u30A8\u30EA\u3092\u5B9F\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
||||||
PerformancePanel.dbTest.dbLabel.recordsPerSec.text=\uFF11\u79D2\u3054\u3068\u306B{0}\u30EC\u30B3\u30FC\u30C9
|
PerformancePanel.dbTest.dbLabel.recordsPerSec.text=\uFF11\u79D2\u3054\u3068\u306B{0}\u30EC\u30B3\u30FC\u30C9
|
||||||
PerformancePanel.dbTest.status.running=DB\u30C6\u30B9\u30C8\u5B9F\u884C\u4E2D
|
PerformancePanel.dbTest.status.running=DB\u30C6\u30B9\u30C8\u3092\u5B9F\u884C\u4E2D
|
||||||
PerformancePanel.done.statusMsg.err.text=\u30A8\u30E9\u30FC\uFF1A{0}
|
PerformancePanel.done.statusMsg.err.text=\u30A8\u30E9\u30FC\uFF1A{0}
|
||||||
PerformancePanel.fileReadLabel.errMakeFileReader.text=\u30D5\u30A1\u30A4\u30EB\u30EA\u30FC\u30C0\u30FC\u4F5C\u6210\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
PerformancePanel.fileReadLabel.errMakeFileReader.text=\u30D5\u30A1\u30A4\u30EB\u30EA\u30FC\u30C0\u30FC\u3092\u4F5C\u6210\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
||||||
PerformancePanel.fileReadLabel.imgPathNotExist.text=\u30A4\u30E1\u30FC\u30B8\u30D1\u30B9\u304C\u5B58\u5728\u3057\u307E\u305B\u3093
|
PerformancePanel.fileReadLabel.imgPathNotExist.text=\u30A4\u30E1\u30FC\u30B8\u30D1\u30B9\u304C\u5B58\u5728\u3057\u307E\u305B\u3093
|
||||||
PerformancePanel.FileReadTest.fileReadLabel.skipped.text=\u30B9\u30AD\u30C3\u30D7\u3055\u308C\u307E\u3057\u305F
|
PerformancePanel.FileReadTest.fileReadLabel.skipped.text=\u30B9\u30AD\u30C3\u30D7\u3055\u308C\u307E\u3057\u305F
|
||||||
PerformancePanel.FileReadTest.statusMsg.runningFileReadTest.text=\u30D5\u30A1\u30A4\u30EB\u30EA\u30FC\u30C7\u30A3\u30F3\u30B0\u30C6\u30B9\u30C8\u5B9F\u884C\u4E2D
|
PerformancePanel.FileReadTest.statusMsg.runningFileReadTest.text=\u30D5\u30A1\u30A4\u30EB\u30EA\u30FC\u30C7\u30A3\u30F3\u30B0\u30C6\u30B9\u30C8\u3092\u5B9F\u884C\u4E2D
|
||||||
PerformancePanel.imgTest.statusMsg.runningImgReadTest.text=\u30A4\u30E1\u30FC\u30B8\u30EA\u30FC\u30C7\u30A3\u30F3\u30B0\u30C6\u30B9\u30C8\u5B9F\u884C\u4E2D
|
PerformancePanel.imgTest.statusMsg.runningImgReadTest.text=\u30A4\u30E1\u30FC\u30B8\u30EA\u30FC\u30C7\u30A3\u30F3\u30B0\u30C6\u30B9\u30C8\u5B9F\u884C\u4E2D
|
||||||
PerformancePanel.jLabel1.text=\u30A4\u30E1\u30FC\u30B8\u30EA\u30FC\u30C7\u30A3\u30F3\u30B0\uFF1A
|
PerformancePanel.jLabel1.text=\u30A4\u30E1\u30FC\u30B8\u30EA\u30FC\u30C7\u30A3\u30F3\u30B0\uFF1A
|
||||||
PerformancePanel.jLabel2.text=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30EA\u30FC\u30C7\u30A3\u30F3\u30B0\uFF1A
|
PerformancePanel.jLabel2.text=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30EA\u30FC\u30C7\u30A3\u30F3\u30B0\uFF1A
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
CTL_DirectoryTreeTopComponent=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30c4\u30ea\u30fc
|
CTL_DirectoryTreeTopComponent=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30C4\u30EA\u30FC
|
||||||
HINT_DirectoryTreeTopComponent=\u3053\u308c\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30c4\u30ea\u30fc\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u3059
|
HINT_DirectoryTreeTopComponent=\u3053\u308C\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30C4\u30EA\u30FC\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3067\u3059
|
||||||
OpenIDE-Module-Name=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30c4\u30ea\u30fc
|
OpenIDE-Module-Name=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30C4\u30EA\u30FC
|
||||||
FileSystemDetailsPanel.imgOffsetLabel.text=\u30a4\u30e1\u30fc\u30b8\u30aa\u30d5\u30bb\u30c3\u30c8\uff1a
|
FileSystemDetailsPanel.imgOffsetLabel.text=\u30A4\u30E1\u30FC\u30B8\u30AA\u30D5\u30BB\u30C3\u30C8\uFF1A
|
||||||
FileSystemDetailsPanel.fsTypeLabel.text=\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u30bf\u30a4\u30d7\uff1a
|
FileSystemDetailsPanel.fsTypeLabel.text=\u30D5\u30A1\u30A4\u30EB\u30B7\u30B9\u30C6\u30E0\u30BF\u30A4\u30D7\uFF1A
|
||||||
FileSystemDetailsPanel.genInfoLabel.text=\u30d5\u30a1\u30a4\u30eb\u4e00\u822c\u60c5\u5831
|
FileSystemDetailsPanel.genInfoLabel.text=\u30D5\u30A1\u30A4\u30EB\u4E00\u822C\u60C5\u5831
|
||||||
FileSystemDetailsPanel.jLabel2.text=\u30d0\u30a4\u30c8
|
FileSystemDetailsPanel.jLabel2.text=\u30D0\u30A4\u30C8
|
||||||
FileSystemDetailsPanel.jLabel3.text=\u30d0\u30a4\u30c8
|
FileSystemDetailsPanel.jLabel3.text=\u30D0\u30A4\u30C8
|
||||||
FileSystemDetailsPanel.fsTypeValue.text=...
|
FileSystemDetailsPanel.fsTypeValue.text=...
|
||||||
FileSystemDetailsPanel.imgOffsetValue.text=...
|
FileSystemDetailsPanel.imgOffsetValue.text=...
|
||||||
FileSystemDetailsPanel.volumeIDValue.text=...
|
FileSystemDetailsPanel.volumeIDValue.text=...
|
||||||
@ -14,80 +14,80 @@ FileSystemDetailsPanel.blockCountValue.text=...
|
|||||||
FileSystemDetailsPanel.rootInumValue.text=...
|
FileSystemDetailsPanel.rootInumValue.text=...
|
||||||
FileSystemDetailsPanel.firstInumValue.text=...
|
FileSystemDetailsPanel.firstInumValue.text=...
|
||||||
FileSystemDetailsPanel.lastInumValue.text=...
|
FileSystemDetailsPanel.lastInumValue.text=...
|
||||||
FileSystemDetailsPanel.jLabel1.text=\u30d5\u30a1\u30a4\u30eb\u8a73\u7d30\u60c5\u5831
|
FileSystemDetailsPanel.jLabel1.text=\u30D5\u30A1\u30A4\u30EB\u8A73\u7D30\u60C5\u5831
|
||||||
FileSystemDetailsPanel.volumeIDLabel.text=\u30dc\u30ea\u30e5\u30fc\u30e0ID\uff1a
|
FileSystemDetailsPanel.volumeIDLabel.text=\u30DC\u30EA\u30E5\u30FC\u30E0ID\uFF1A
|
||||||
FileSystemDetailsPanel.blockSizeLabel.text=\u30d6\u30ed\u30c3\u30af\u30b5\u30a4\u30ba\uff1a
|
FileSystemDetailsPanel.blockSizeLabel.text=\u30D6\u30ED\u30C3\u30AF\u30B5\u30A4\u30BA\uFF1A
|
||||||
FileSystemDetailsPanel.blockCountLabel.text=\u30d6\u30ed\u30c3\u30af\u6570\uff1a
|
FileSystemDetailsPanel.blockCountLabel.text=\u30D6\u30ED\u30C3\u30AF\u6570\uFF1A
|
||||||
FileSystemDetailsPanel.rootInumLabel.text=\u30eb\u30fc\u30c8\u30e1\u30bf\u30c7\u30fc\u30bf\u30a8\u30f3\u30c8\u30ea\u30fc\uff1a
|
FileSystemDetailsPanel.rootInumLabel.text=\u30EB\u30FC\u30C8\u30E1\u30BF\u30C7\u30FC\u30BF\u30A8\u30F3\u30C8\u30EA\u30FC\uFF1A
|
||||||
FileSystemDetailsPanel.firstInumLabel.text=\u6700\u521d\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u30a8\u30f3\u30c8\u30ea\u30fc\uff1a
|
FileSystemDetailsPanel.firstInumLabel.text=\u6700\u521D\u306E\u30E1\u30BF\u30C7\u30FC\u30BF\u30A8\u30F3\u30C8\u30EA\u30FC\uFF1A
|
||||||
FileSystemDetailsPanel.lastInumLabel.text=\u6700\u5f8c\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u30a8\u30f3\u30c8\u30ea\u30fc\uff1a
|
FileSystemDetailsPanel.lastInumLabel.text=\u6700\u5F8C\u306E\u30E1\u30BF\u30C7\u30FC\u30BF\u30A8\u30F3\u30C8\u30EA\u30FC\uFF1A
|
||||||
FileSystemDetailsPanel.OKButton.text=OK
|
FileSystemDetailsPanel.OKButton.text=OK
|
||||||
VolumeDetailsPanel.volumeIDLabel.text=\u30dc\u30ea\u30e5\u30fc\u30e0ID\uff1a
|
VolumeDetailsPanel.volumeIDLabel.text=\u30DC\u30EA\u30E5\u30FC\u30E0ID\uFF1A
|
||||||
VolumeDetailsPanel.volumeIDValue.text=...
|
VolumeDetailsPanel.volumeIDValue.text=...
|
||||||
VolumeDetailsPanel.startValue.text=...
|
VolumeDetailsPanel.startValue.text=...
|
||||||
VolumeDetailsPanel.lengthValue.text=...
|
VolumeDetailsPanel.lengthValue.text=...
|
||||||
VolumeDetailsPanel.descValue.text=...
|
VolumeDetailsPanel.descValue.text=...
|
||||||
VolumeDetailsPanel.flagsValue.text=...
|
VolumeDetailsPanel.flagsValue.text=...
|
||||||
VolumeDetailsPanel.startLabel.text=\u6700\u521d\u306e\u30bb\u30af\u30bf\u30fc\uff1a
|
VolumeDetailsPanel.startLabel.text=\u6700\u521D\u306E\u30BB\u30AF\u30BF\u30FC\uFF1A
|
||||||
VolumeDetailsPanel.lengthLabel.text=\u30bb\u30af\u30bf\u30fc\u306e\u9577\u3055\uff1a
|
VolumeDetailsPanel.lengthLabel.text=\u30BB\u30AF\u30BF\u30FC\u306E\u9577\u3055\uFF1A
|
||||||
VolumeDetailsPanel.descLabel.text=\u8aac\u660e\uff1a
|
VolumeDetailsPanel.descLabel.text=\u8AAC\u660E\uFF1A
|
||||||
VolumeDetailsPanel.flagsLabel.text=\u30d5\u30e9\u30b0\uff1a
|
VolumeDetailsPanel.flagsLabel.text=\u30D5\u30E9\u30B0\uFF1A
|
||||||
VolumeDetailsPanel.jLabel1.text=\u30dc\u30ea\u30e5\u30fc\u30e0\u4e00\u822c\u60c5\u5831
|
VolumeDetailsPanel.jLabel1.text=\u30DC\u30EA\u30E5\u30FC\u30E0\u4E00\u822C\u60C5\u5831
|
||||||
VolumeDetailsPanel.OKButton.text=OK
|
VolumeDetailsPanel.OKButton.text=OK
|
||||||
ImageDetailsPanel.imageInfoLabel.text=\u30a4\u30e1\u30fc\u30b8\u60c5\u5831
|
ImageDetailsPanel.imageInfoLabel.text=\u30A4\u30E1\u30FC\u30B8\u60C5\u5831
|
||||||
ImageDetailsPanel.imgNameLabel.text=\u540d\u524d\uff1a
|
ImageDetailsPanel.imgNameLabel.text=\u540D\u524D\uFF1A
|
||||||
ImageDetailsPanel.imgNameValue.text=...
|
ImageDetailsPanel.imgNameValue.text=...
|
||||||
ImageDetailsPanel.imgTypeLabel.text=\u30bf\u30a4\u30d7\uff1a
|
ImageDetailsPanel.imgTypeLabel.text=\u30BF\u30A4\u30D7\uFF1A
|
||||||
ImageDetailsPanel.imgTypeValue.text=...
|
ImageDetailsPanel.imgTypeValue.text=...
|
||||||
ImageDetailsPanel.OKButton.text=OK
|
ImageDetailsPanel.OKButton.text=OK
|
||||||
ImageDetailsPanel.imgSectorSizeLabel.text=\u30bb\u30af\u30bf\u30fc\u30b5\u30a4\u30ba\uff1a
|
ImageDetailsPanel.imgSectorSizeLabel.text=\u30BB\u30AF\u30BF\u30FC\u30B5\u30A4\u30BA\uFF1A
|
||||||
ImageDetailsPanel.imgSectorSizeValue.text=...
|
ImageDetailsPanel.imgSectorSizeValue.text=...
|
||||||
ImageDetailsPanel.imgTotalSizeValue.text=...
|
ImageDetailsPanel.imgTotalSizeValue.text=...
|
||||||
ImageDetailsPanel.imgTotalSizeLabel.text=\u5408\u8a08\u30b5\u30a4\u30ba\uff1a
|
ImageDetailsPanel.imgTotalSizeLabel.text=\u5408\u8A08\u30B5\u30A4\u30BA\uFF1A
|
||||||
ImageDetailsPanel.imgHashValue.text=...
|
ImageDetailsPanel.imgHashValue.text=...
|
||||||
ImageDetailsPanel.imgHashLabel.text=\u30cf\u30c3\u30b7\u30e5\u5024\uff1a
|
ImageDetailsPanel.imgHashLabel.text=\u30CF\u30C3\u30B7\u30E5\u5024\uFF1A
|
||||||
ChangeViewAction.menuItem.view=\u30d3\u30e5\u30fc
|
ChangeViewAction.menuItem.view=\u30D3\u30E5\u30FC
|
||||||
ChangeViewAction.menuItem.view.hex=HEX
|
ChangeViewAction.menuItem.view.hex=HEX
|
||||||
ChangeViewAction.menuItem.view.string=\u30b9\u30c8\u30ea\u30f3\u30b0
|
ChangeViewAction.menuItem.view.string=\u30B9\u30C8\u30EA\u30F3\u30B0
|
||||||
DataResultFilterNode.action.viewFileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
|
DataResultFilterNode.action.viewFileInDir.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A
|
||||||
DataResultFilterNode.action.viewSrcFileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
|
DataResultFilterNode.action.viewSrcFileInDir.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u5185\u306E\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A
|
||||||
DataResultFilterNode.action.viewInNewWin.text=\u65b0\u898f\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u8868\u793a
|
DataResultFilterNode.action.viewInNewWin.text=\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6\u306B\u8868\u793A
|
||||||
DataResultFilterNode.action.openInExtViewer.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30a2\u3067\u958b\u304f
|
DataResultFilterNode.action.openInExtViewer.text=\u5916\u90E8\u30D3\u30E5\u30FC\u30A2\u3067\u958B\u304F
|
||||||
DataResultFilterNode.action.searchFilesSameMd5.text=\u540c\u3058MD5\u30cf\u30c3\u30b7\u30e5\u3092\u6301\u3064\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22
|
DataResultFilterNode.action.searchFilesSameMd5.text=\u540C\u3058MD5\u30CF\u30C3\u30B7\u30E5\u3092\u6301\u3064\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22
|
||||||
DataResultFilterNode.action.viewInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u306b\u8868\u793a
|
DataResultFilterNode.action.viewInDir.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30FC\u306B\u8868\u793A
|
||||||
DirectoryTreeFilterNode.action.openFileSrcByAttr.text=\u5c5e\u6027\u306b\u3088\u308b\u30d5\u30a1\u30a4\u30eb\u691c\u7d22\u3092\u958b\u304f
|
DirectoryTreeFilterNode.action.openFileSrcByAttr.text=\u5C5E\u6027\u306B\u3088\u308B\u30D5\u30A1\u30A4\u30EB\u691C\u7D22\u3092\u958B\u304F
|
||||||
DirectoryTreeFilterNode.action.runIngestMods.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u5b9f\u884c
|
DirectoryTreeFilterNode.action.runIngestMods.text=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u5B9F\u884C
|
||||||
DirectoryTreeTopComponent.title.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30ea\u30b9\u30c6\u30a3\u30f3\u30b0
|
DirectoryTreeTopComponent.title.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30EA\u30B9\u30C6\u30A3\u30F3\u30B0
|
||||||
DirectoryTreeTopComponent.action.viewArtContent.text=\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u8868\u793a
|
DirectoryTreeTopComponent.action.viewArtContent.text=\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u8868\u793A
|
||||||
DirectoryTreeTopComponent.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
|
DirectoryTreeTopComponent.moduleErr=\u30E2\u30B8\u30E5\u30FC\u30EB\u30A8\u30E9\u30FC
|
||||||
DirectoryTreeTopComponent.moduleErr.msg=DirectoryTreeTopComponent\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3092\u78ba\u8a8d\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u8d77\u3053\u3057\u307e\u3057\u305f\u3002\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304b\u30ed\u30b0\u3067\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
|
DirectoryTreeTopComponent.moduleErr.msg=DirectoryTreeTopComponent\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3092\u78BA\u8A8D\u4E2D\u306B\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u30A8\u30E9\u30FC\u3092\u8D77\u3053\u3057\u307E\u3057\u305F\u3002\u3069\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u304B\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002\u4E00\u90E8\u306E\u30C7\u30FC\u30BF\u304C\u4E0D\u5B8C\u5168\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002
|
||||||
ExplorerNodeActionVisitor.action.imgDetails.title=\u30a4\u30e1\u30fc\u30b8\u8a73\u7d30
|
ExplorerNodeActionVisitor.action.imgDetails.title=\u30A4\u30E1\u30FC\u30B8\u8A73\u7D30
|
||||||
ExplorerNodeActionVisitor.action.extUnallocToSingleFiles=\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u5185\u306e\u30c7\u30fc\u30bf\u3092\u8907\u6570\u306e\u30b7\u30f3\u30b0\u30eb\u30d5\u30a1\u30a4\u30eb\u306b\u62bd\u51fa
|
ExplorerNodeActionVisitor.action.extUnallocToSingleFiles=\u672A\u5272\u308A\u5F53\u3066\u9818\u57DF\u5185\u306E\u30C7\u30FC\u30BF\u3092\u30B7\u30F3\u30B0\u30EB\u30D5\u30A1\u30A4\u30EB\u306B\u62BD\u51FA
|
||||||
ExplorerNodeActionVisitor.action.fileSystemDetails.title=\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u8a73\u7d30
|
ExplorerNodeActionVisitor.action.fileSystemDetails.title=\u30D5\u30A1\u30A4\u30EB\u30B7\u30B9\u30C6\u30E0\u8A73\u7D30
|
||||||
ExplorerNodeActionVisitor.action.volumeDetails.title=\u30dc\u30ea\u30e5\u30fc\u30e0\u8a73\u7d30
|
ExplorerNodeActionVisitor.action.volumeDetails.title=\u30DC\u30EA\u30E5\u30FC\u30E0\u8A73\u7D30
|
||||||
ExplorerNodeActionVisitor.action.extUnallocToSingleFile=\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u5185\u306e\u30c7\u30fc\u30bf\u3092\u4e00\u3064\u306e\u30b7\u30f3\u30b0\u30eb\u30d5\u30a1\u30a4\u30eb\u306b\u62bd\u51fa
|
ExplorerNodeActionVisitor.action.extUnallocToSingleFile=\u672A\u5272\u308A\u5F53\u3066\u9818\u57DF\u5185\u306E\u30C7\u30FC\u30BF\u3092\u30B7\u30F3\u30B0\u30EB\u30D5\u30A1\u30A4\u30EB\u306B\u62BD\u51FA
|
||||||
ExplorerNodeActionVisitor.volDetail.noVolMatchErr=\u30a8\u30e9\u30fc\uff1a\u4e00\u81f4\u3059\u308b\u30dc\u30ea\u30e5\u30fc\u30e0\u304c\u3042\u308a\u307e\u305b\u3093\u3002
|
ExplorerNodeActionVisitor.volDetail.noVolMatchErr=\u30A8\u30E9\u30FC\uFF1A\u4E00\u81F4\u3059\u308B\u30DC\u30EA\u30E5\u30FC\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\u3002
|
||||||
ExplorerNodeActionVisitor.imgDetail.noVolMatchesErr=\u30a8\u30e9\u30fc\uff1a\u4e00\u81f4\u3059\u308b\u30dc\u30ea\u30e5\u30fc\u30e0\u304c\u3042\u308a\u307e\u305b\u3093\u3002
|
ExplorerNodeActionVisitor.imgDetail.noVolMatchesErr=\u30A8\u30E9\u30FC\uFF1A\u4E00\u81F4\u3059\u308B\u30DC\u30EA\u30E5\u30FC\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\u3002
|
||||||
ExplorerNodeActionVisitor.exception.probGetParent.text={0}\: {1}\u304b\u3089\u30da\u30a2\u30ec\u30f3\u30c8\u3092\u53d6\u5f97\u3059\u308b\u969b\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f
|
ExplorerNodeActionVisitor.exception.probGetParent.text={0}\: {1}\u304B\u3089\u30DA\u30A2\u30EC\u30F3\u30C8\u3092\u53D6\u5F97\u3059\u308B\u969B\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
||||||
ExtractAction.title.extractFiles.text=\u30d5\u30a1\u30a4\u30eb\u3092\u62bd\u51fa
|
ExtractAction.title.extractFiles.text=\u30D5\u30A1\u30A4\u30EB\u3092\u62BD\u51FA
|
||||||
ExtractAction.extractFiles.cantCreateFolderErr.msg=\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
|
ExtractAction.extractFiles.cantCreateFolderErr.msg=\u6307\u5B9A\u3055\u308C\u305F\u30D5\u30A9\u30EB\u30C0\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
||||||
ExtractAction.confDlg.destFileExist.msg=\u4fdd\u5b58\u5148\u306e\u30d5\u30a1\u30a4\u30eb{0}\u306f\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3001\u4e0a\u66f8\u304d\u3057\u307e\u3059\u304b\uff1f
|
ExtractAction.confDlg.destFileExist.msg=\u4FDD\u5B58\u5148\u306E\u30D5\u30A1\u30A4\u30EB{0}\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059\u3001\u4E0A\u66F8\u304D\u3057\u307E\u3059\u304B\uFF1F
|
||||||
ExtractAction.confDlg.destFileExist.title=\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3057\u307e\u3059
|
ExtractAction.confDlg.destFileExist.title=\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u307E\u3059
|
||||||
ExtractAction.msgDlg.cantOverwriteFile.msg=\u65e2\u5b58\u30d5\u30a1\u30a4\u30eb{0}\u3092\u4e0a\u66f8\u304d\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
|
ExtractAction.msgDlg.cantOverwriteFile.msg=\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB{0}\u3092\u4E0A\u66F8\u304D\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
|
||||||
ExtractAction.notifyDlg.noFileToExtr.msg=\u62bd\u51fa\u3067\u304d\u308b\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002
|
ExtractAction.notifyDlg.noFileToExtr.msg=\u62BD\u51FA\u3067\u304D\u308B\u30D5\u30A1\u30A4\u30EB\u304C\u3042\u308A\u307E\u305B\u3093\u3002
|
||||||
ExtractAction.progress.extracting=\u62bd\u51fa\u4e2d
|
ExtractAction.progress.extracting=\u62BD\u51FA\u4E2D
|
||||||
ExtractAction.progress.cancellingExtraction={0}\uff08\u30ad\u30e3\u30f3\u30bb\u30eb\u4e2d\u2026\uff09
|
ExtractAction.progress.cancellingExtraction={0}\uFF08\u30AD\u30E3\u30F3\u30BB\u30EB\u4E2D\u2026\uFF09
|
||||||
ExtractAction.done.notifyMsg.fileExtr.text=\u30d5\u30a1\u30a4\u30eb\u304c\u62bd\u51fa\u3055\u308c\u307e\u3057\u305f\u3002
|
ExtractAction.done.notifyMsg.fileExtr.text=\u30D5\u30A1\u30A4\u30EB\u304C\u62BD\u51FA\u3055\u308C\u307E\u3057\u305F\u3002
|
||||||
ExtractUnallocAction.notifyMsg.unallocAlreadyBeingExtr.msg=\u3053\u306e\u30a4\u30e1\u30fc\u30b8\u306e\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u306e\u30c7\u30fc\u30bf\u306f\u65e2\u306b\u62bd\u51fa\u4e2d\u3067\u3059\u3002\u5225\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044\u3002
|
ExtractUnallocAction.notifyMsg.unallocAlreadyBeingExtr.msg=\u3053\u306E\u30A4\u30E1\u30FC\u30B8\u306E\u672A\u5272\u308A\u5F53\u3066\u9818\u57DF\u306E\u30C7\u30FC\u30BF\u306F\u65E2\u306B\u62BD\u51FA\u4E2D\u3067\u3059\u3002\u5225\u306E\u30A4\u30E1\u30FC\u30B8\u3092\u9078\u629E\u3057\u3066\u4E0B\u3055\u3044\u3002
|
||||||
ExtractUnallocAction.msgDlg.folderDoesntExist.msg=\u30d5\u30a9\u30eb\u30c0\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002\u7d9a\u884c\u3059\u308b\u524d\u306b\u6709\u52b9\u306a\u30d5\u30a9\u30eb\u30c0\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044\u3002
|
ExtractUnallocAction.msgDlg.folderDoesntExist.msg=\u30D5\u30A9\u30EB\u30C0\u306F\u5B58\u5728\u3057\u307E\u305B\u3093\u3002\u7D9A\u884C\u3059\u308B\u524D\u306B\u6709\u52B9\u306A\u30D5\u30A9\u30EB\u30C0\u3092\u9078\u629E\u3057\u3066\u4E0B\u3055\u3044\u3002
|
||||||
ExtractUnallocAction.dlgTitle.selectDirToSaveTo.msg=\u4fdd\u5b58\u5148\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044
|
ExtractUnallocAction.dlgTitle.selectDirToSaveTo.msg=\u4FDD\u5B58\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u9078\u629E\u3057\u3066\u4E0B\u3055\u3044
|
||||||
ExtractUnallocAction.confDlg.unallocFileAlreadyExist.msg=\u3053\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u306e\u30d5\u30a1\u30a4\u30eb{0}\u306f\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u65e2\u5b58\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u7f6e\u304d\u63db\u3048\u307e\u3059\u304b\uff1f
|
ExtractUnallocAction.confDlg.unallocFileAlreadyExist.msg=\u3053\u306E\u30DC\u30EA\u30E5\u30FC\u30E0\u306E\u672A\u5272\u308A\u5F53\u3066\u9818\u57DF\u306E\u30D5\u30A1\u30A4\u30EB{0}\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u7F6E\u304D\u63DB\u3048\u307E\u3059\u304B\uFF1F
|
||||||
ExtractUnallocAction.progress.extractUnalloc.title=\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u306e\u30c7\u30fc\u30bf\u3092\u62bd\u51fa\u4e2d
|
ExtractUnallocAction.progress.extractUnalloc.title=\u672A\u5272\u308A\u5F53\u3066\u9818\u57DF\u306E\u30C7\u30FC\u30BF\u3092\u62BD\u51FA\u4E2D
|
||||||
ExtractUnallocAction.progress.displayName.cancelling.text=\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u306e\u30c7\u30fc\u30bf\u3092\u62bd\u51fa\u4e2d\uff08\u30ad\u30e3\u30f3\u30bb\u30eb\u4e2d\u2026\uff09
|
ExtractUnallocAction.progress.displayName.cancelling.text=\u672A\u5272\u308A\u5F53\u3066\u9818\u57DF\u306E\u30C7\u30FC\u30BF\u3092\u62BD\u51FA\u4E2D\uFF08\u30AD\u30E3\u30F3\u30BB\u30EB\u4E2D\u2026\uFF09
|
||||||
ExtractUnallocAction.processing.counter.msg=\u51e6\u7406\u4e2d\u3000{0}\uff0f{1} MBs
|
ExtractUnallocAction.processing.counter.msg={0}\uFF0F{1} MBs\u3092\u51E6\u7406\u4E2D
|
||||||
ExtractUnallocAction.done.notifyMsg.completedExtract.title=\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u306e\u62bd\u51fa\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002
|
ExtractUnallocAction.done.notifyMsg.completedExtract.title=\u672A\u5272\u308A\u5F53\u3066\u9818\u57DF\u306E\u62BD\u51FA\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002
|
||||||
ExtractUnallocAction.done.notifyMsg.completedExtract.msg=\u30d5\u30a1\u30a4\u30eb\u306f{0}\u3078\u62bd\u51fa\u3055\u308c\u307e\u3057\u305f
|
ExtractUnallocAction.done.notifyMsg.completedExtract.msg=\u30D5\u30A1\u30A4\u30EB\u306F{0}\u3078\u62BD\u51FA\u3055\u308C\u307E\u3057\u305F
|
||||||
ExtractUnallocAction.done.errMsg.title=\u62bd\u51fa\u30a8\u30e9\u30fc
|
ExtractUnallocAction.done.errMsg.title=\u62BD\u51FA\u30A8\u30E9\u30FC
|
||||||
ExtractUnallocAction.done.errMsg.msg=\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u306e\u62bd\u51fa\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff1a{0}
|
ExtractUnallocAction.done.errMsg.msg=\u672A\u5272\u308A\u5F53\u3066\u9818\u57DF\u3092\u62BD\u51FA\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A{0}
|
||||||
DirectoryTreeFilterNode.action.collapseAll.text=\u3059\u3079\u3066\u30b3\u30e9\u30d7\u30b9
|
DirectoryTreeFilterNode.action.collapseAll.text=\u3059\u3079\u3066\u30B3\u30E9\u30D7\u30B9
|
||||||
ExtractAction.done.notifyMsg.extractErr=\u4e0b\u8a18\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u62bd\u51fa\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff1a {0}
|
ExtractAction.done.notifyMsg.extractErr=\u4E0B\u8A18\u306E\u30D5\u30A1\u30A4\u30EB\u306E\u62BD\u51FA\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A {0}
|
@ -631,11 +631,18 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat
|
|||||||
//set node, wrap in filter node first to filter out children
|
//set node, wrap in filter node first to filter out children
|
||||||
Node drfn = new DataResultFilterNode(originNode, DirectoryTreeTopComponent.this.em);
|
Node drfn = new DataResultFilterNode(originNode, DirectoryTreeTopComponent.this.em);
|
||||||
Node kffn = new KnownFileFilterNode(drfn, KnownFileFilterNode.getSelectionContext(originNode));
|
Node kffn = new KnownFileFilterNode(drfn, KnownFileFilterNode.getSelectionContext(originNode));
|
||||||
if(originNode instanceof DisplayableItemNode) {
|
/*
|
||||||
dataResult.setNode(new TableFilterNode(kffn, true, ((DisplayableItemNode) originNode).getItemType()));
|
* TODO (AUT-1849): Correct or remove peristent column
|
||||||
} else {
|
* reordering code
|
||||||
dataResult.setNode(new TableFilterNode(kffn, true));
|
*
|
||||||
}
|
* The following conditional was added to support this
|
||||||
|
* feature.
|
||||||
|
*/
|
||||||
|
// if(originNode instanceof DisplayableItemNode) {
|
||||||
|
// dataResult.setNode(new TableFilterNode(kffn, true, ((DisplayableItemNode) originNode).getItemType()));
|
||||||
|
// } else {
|
||||||
|
dataResult.setNode(new TableFilterNode(kffn, true));
|
||||||
|
// }
|
||||||
|
|
||||||
String displayName = "";
|
String displayName = "";
|
||||||
Content content = originNode.getLookup().lookup(Content.class);
|
Content content = originNode.getLookup().lookup(Content.class);
|
||||||
@ -772,7 +779,7 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat
|
|||||||
|
|
||||||
Node imagesNode = imagesNodeOrig.getNode();
|
Node imagesNode = imagesNodeOrig.getNode();
|
||||||
|
|
||||||
DataSourcesNode.DataSourcesNodeChildren contentRootChildren = (DataSourcesNode.DataSourcesNodeChildren) imagesNode.getChildren();
|
DataSourcesNode.DataSourcesNodeChildren contentRootChildren = (DataSourcesNode.DataSourcesNodeChildren) imagesNode.getChildren();
|
||||||
contentRootChildren.refreshContentKeys();
|
contentRootChildren.refreshContentKeys();
|
||||||
|
|
||||||
//final TreeView tree = getTree();
|
//final TreeView tree = getTree();
|
||||||
|
10
Core/src/org/sleuthkit/autopsy/events/Bundle_ja.properties
Normal file
10
Core/src/org/sleuthkit/autopsy/events/Bundle_ja.properties
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
MessageServiceConnectionInfo.ConnectionCheck.Everything=\u30DB\u30B9\u30C8\u540D\u3001\u30DD\u30FC\u30C8\u756A\u53F7\u3001\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u7121\u52B9\u3067\u3059
|
||||||
|
MessageServiceConnectionInfo.ConnectionCheck.Hostname=\u7121\u52B9\u306A\u30DB\u30B9\u30C8\u540D
|
||||||
|
MessageServiceConnectionInfo.ConnectionCheck.Port=\u7121\u52B9\u306A\u30DD\u30FC\u30C8\u756A\u53F7
|
||||||
|
MessageServiceConnectionInfo.ConnectionCheck.Username=\u7121\u52B9\u306A\u30E6\u30FC\u30B6\u30FC\u540D
|
||||||
|
MessageServiceConnectionInfo.ConnectionCheck.Password=\u7121\u52B9\u306A\u30D1\u30B9\u30EF\u30FC\u30C9
|
||||||
|
MessageServiceConnectionInfo.ConnectionCheck.UsernameAndPassword=\u7121\u52B9\u306A\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u30D1\u30B9\u30EF\u30FC\u30C9
|
||||||
|
MessageServiceConnectionInfo.ConnectionCheck.HostnameOrPort=\u7121\u52B9\u306A\u30DB\u30B9\u30C8\u540D\u307E\u305F\u306F\u30DD\u30FC\u30C8\u756A\u53F7
|
||||||
|
MessageServiceConnectionInfo.MissingHostname=\u30DB\u30B9\u30C8\u540D\u304C\u5FC5\u8981\u3067\u3059\u3002
|
||||||
|
MessageServiceConnectionInfo.MissingUsername=\u30E6\u30FC\u30B6\u30FC\u540D\u304C\u5FC5\u8981\u3067\u3059\u3002
|
||||||
|
MessageServiceConnectionInfo.MissingPassword=\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u5FC5\u8981\u3067\u3059\u3002
|
@ -9,7 +9,7 @@ ExternalResults.Artifact.addAttribute.exception.msg2.text=\u5F15\u6570\u5024\u30
|
|||||||
ExternalResultsImporter.findFileInCaseDatabase.errMsg1.text=\u30DA\u30A2\u30EC\u30F3\u30C8\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9{0}\u304C\u66D6\u6627\u3067\u3059\u3002\u6700\u521D\u306B\u898B\u3064\u3051\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u5229\u7528\u3057\u307E\u3059\u3002
|
ExternalResultsImporter.findFileInCaseDatabase.errMsg1.text=\u30DA\u30A2\u30EC\u30F3\u30C8\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9{0}\u304C\u66D6\u6627\u3067\u3059\u3002\u6700\u521D\u306B\u898B\u3064\u3051\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u5229\u7528\u3057\u307E\u3059\u3002
|
||||||
ExternalResultsImporter.getPathRelativeToCaseFolder.errMsg1.text={0}\u3092\u76F8\u5BFE\u30D1\u30B9\u306B\u5909\u63DB\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30B1\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{1}\u306E\u30B5\u30D6\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u3042\u308A\u307E\u305B\u3093\u3002
|
ExternalResultsImporter.getPathRelativeToCaseFolder.errMsg1.text={0}\u3092\u76F8\u5BFE\u30D1\u30B9\u306B\u5909\u63DB\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30B1\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{1}\u306E\u30B5\u30D6\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u3042\u308A\u307E\u305B\u3093\u3002
|
||||||
ExternalResultsImporter.getPathRelativeToCaseFolder.errMsg2.text={0}\u306F\u30B1\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{1}\u306E\u30B5\u30D6\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u7D76\u5BFE\u30D1\u30B9\u3068\u4E88\u60F3\u3055\u308C\u3066\u3044\u307E\u3059\u3002
|
ExternalResultsImporter.getPathRelativeToCaseFolder.errMsg2.text={0}\u306F\u30B1\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{1}\u306E\u30B5\u30D6\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u7D76\u5BFE\u30D1\u30B9\u3068\u4E88\u60F3\u3055\u308C\u3066\u3044\u307E\u3059\u3002
|
||||||
ExternalResultsImporter.importArtifacts.caseErrMsg1.text={3}\u306E{2}\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u3078\u3001{0}\u5C5E\u6027\u3001\u30D0\u30EA\u30E5\u30FC\uFF1D{1}\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u5C5E\u6027\u5024\u578B\uFF1A{4}
|
ExternalResultsImporter.importArtifacts.caseErrMsg1.text={3}\u306E{2}\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u306E{0}\u5C5E\u6027\u3001\u30D0\u30EA\u30E5\u30FC\uFF1D{1}\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u5C5E\u6027\u5024\u578B\uFF1A{4}
|
||||||
ExternalResultsImporter.importDerivedFiles.errMsg1.text={0}\u306B\u6D3E\u751F\u30D5\u30A1\u30A4\u30EB\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30DA\u30A2\u30EC\u30F3\u30C8\u30D5\u30A1\u30A4\u30EB{1}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
ExternalResultsImporter.importDerivedFiles.errMsg1.text={0}\u306B\u6D3E\u751F\u30D5\u30A1\u30A4\u30EB\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30DA\u30A2\u30EC\u30F3\u30C8\u30D5\u30A1\u30A4\u30EB{1}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
||||||
ExternalResultsImporter.importDerivedFiles.errMsg2.text={0}\u306B\u6D3E\u751F\u30D5\u30A1\u30A4\u30EB\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002
|
ExternalResultsImporter.importDerivedFiles.errMsg2.text={0}\u306B\u6D3E\u751F\u30D5\u30A1\u30A4\u30EB\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002
|
||||||
ExternalResultsImporter.importDerivedFiles.errMsg3.text={0}\u306B\u6D3E\u751F\u30D5\u30A1\u30A4\u30EB\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30B1\u30FC\u30B9\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3067\u306E\u30AF\u30A8\u30EA\u30FC\uFF0F\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u306E\u5B9F\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
ExternalResultsImporter.importDerivedFiles.errMsg3.text={0}\u306B\u6D3E\u751F\u30D5\u30A1\u30A4\u30EB\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30B1\u30FC\u30B9\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3067\u306E\u30AF\u30A8\u30EA\u30FC\uFF0F\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u306E\u5B9F\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||||
@ -17,11 +17,11 @@ ExternalResultsImporter.importReports.errMsg1.text={0}\u306B\u30EC\u30DD\u30FC\u
|
|||||||
ExternalResultsImporter.importReports.errMsg2.text={0}\u306B\u30EC\u30DD\u30FC\u30C8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30B1\u30FC\u30B9\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
ExternalResultsImporter.importReports.errMsg2.text={0}\u306B\u30EC\u30DD\u30FC\u30C8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30B1\u30FC\u30B9\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||||
ExternalResultsXMLParser.parse.errMsg2.text={0}\u306E\u30D1\u30FC\u30B9\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
ExternalResultsXMLParser.parse.errMsg2.text={0}\u306E\u30D1\u30FC\u30B9\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||||
ExternalResults.Artifact.addAttribute.exception.msg3.text=\u5024\u578B\u5F15\u6570\u304C\u7A7A\u767D\u3067\u3059\u3002
|
ExternalResults.Artifact.addAttribute.exception.msg3.text=\u5024\u578B\u5F15\u6570\u304C\u7A7A\u767D\u3067\u3059\u3002
|
||||||
ExternalResultsImporter.importArtifacts.errMsg1.text={1}\u304B\u3089{0}\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
ExternalResultsImporter.importArtifacts.errMsg1.text={1}\u306E{0}\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
||||||
ExternalResultsImporter.importArtifacts.errMsg2.text={1}\u304B\u3089{0}\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30B1\u30FC\u30B9\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
ExternalResultsImporter.importArtifacts.errMsg2.text={1}\u306E{0}\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30B1\u30FC\u30B9\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||||
ExternalResultsXMLParser.getChildElement.errMsg1.text={2}\u306B\u3066\u8907\u6570\u306E{1}\u30A8\u30EC\u30E1\u30F3\u30C8\u306E{0}\u30C1\u30E3\u30A4\u30EB\u30C9\u30A8\u30EC\u30E1\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002\u4E00\u756A\u76EE\u4EE5\u5916\u306F\u7121\u8996\u3057\u307E\u3059\u3002
|
ExternalResultsXMLParser.getChildElement.errMsg1.text={2}\u306B\u3066\u8907\u6570\u306E{1}\u30A8\u30EC\u30E1\u30F3\u30C8\u306E{0}\u30C1\u30E3\u30A4\u30EB\u30C9\u30A8\u30EC\u30E1\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002\u4E00\u756A\u76EE\u4EE5\u5916\u306F\u7121\u8996\u3057\u307E\u3059\u3002
|
||||||
ExternalResultsXMLParser.getChildElementContent.errMsg1.text={2}\u306B\u30B3\u30F3\u30C6\u30F3\u30C4\u304C\u306A\u304F\u3001{1}\u30C1\u30E3\u30A4\u30EB\u30C9\u30A8\u30EC\u30E1\u30F3\u30C8\u304C\u3042\u308B\u3001{0}\u30A8\u30EC\u30E1\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
|
ExternalResultsXMLParser.getChildElementContent.errMsg1.text={2}\u306B\u30B3\u30F3\u30C6\u30F3\u30C4\u304C\u306A\u304F\u3001{1}\u30C1\u30E3\u30A4\u30EB\u30C9\u30A8\u30EC\u30E1\u30F3\u30C8\u304C\u3042\u308B\u3001{0}\u30A8\u30EC\u30E1\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
|
||||||
ExternalResultsXMLParser.getChildElementContent.errMsg2.text={2}\u306B\u3066{1}\u30C1\u30E3\u30A4\u30EB\u30C9\u30A8\u30EC\u30E1\u30F3\u30C8\u304C\u6B20\u843D\u3057\u305F{0}\u30A8\u30EC\u30E1\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
|
ExternalResultsXMLParser.getChildElementContent.errMsg2.text={2}\u306B\u3066{1}\u30C1\u30E3\u30A4\u30EB\u30C9\u30A8\u30EC\u30E1\u30F3\u30C8\u304C\u306A\u3044{0}\u30A8\u30EC\u30E1\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
|
||||||
ExternalResultsXMLParser.parse.errMsg1.text={1}\u306B\u3066{0}\u30EB\u30FC\u30C8\u30A8\u30EC\u30E1\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
ExternalResultsXMLParser.parse.errMsg1.text={1}\u306E{0}\u30EB\u30FC\u30C8\u30A8\u30EC\u30E1\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
||||||
ExternalResultsXMLParser.parseArtifactAttributes.errMsg1.text={1}\u306B\u30B3\u30F3\u30C6\u30F3\u30C4\u304C\u306A\u3044{0}\u30A8\u30EC\u30E1\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
|
ExternalResultsXMLParser.parseArtifactAttributes.errMsg1.text={1}\u306B\u30B3\u30F3\u30C6\u30F3\u30C4\u304C\u306A\u3044{0}\u30A8\u30EC\u30E1\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
|
||||||
ExternalResultsXMLParser.parseAttributeValueType.errMsg1.text={2}\u30A8\u30EC\u30E1\u30F3\u30C8\u306E{1}\u5C5E\u6027\u306B\u5BFE\u3057\u3066\u3001\u8A8D\u8B58\u3055\u308C\u306A\u3044\u30D0\u30EA\u30E5\u30FC{0}\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
|
ExternalResultsXMLParser.parseAttributeValueType.errMsg1.text={2}\u30A8\u30EC\u30E1\u30F3\u30C8\u306E{1}\u5C5E\u6027\u306B\u5BFE\u3057\u3066\u3001\u8A8D\u8B58\u3055\u308C\u306A\u3044\u30D0\u30EA\u30E5\u30FC{0}\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
|
@ -1,14 +1,25 @@
|
|||||||
/*
|
/*
|
||||||
* To change this license header, choose License Headers in Project Properties.
|
* Autopsy Forensic Browser
|
||||||
* To change this template file, choose Tools | Templates
|
*
|
||||||
* and open the template in the editor.
|
* Copyright 2011-2016 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.modules.UserArtifacts;
|
package org.sleuthkit.autopsy.modules.UserArtifacts;
|
||||||
|
|
||||||
import com.sun.media.jfxmedia.logging.Logger;
|
import com.sun.media.jfxmedia.logging.Logger;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.openide.util.Exceptions;
|
|
||||||
import org.openide.util.NbBundle;
|
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
import org.sleuthkit.autopsy.casemodule.services.Blackboard.BlackboardException;
|
import org.sleuthkit.autopsy.casemodule.services.Blackboard.BlackboardException;
|
||||||
import org.sleuthkit.autopsy.casemodule.services.FileManager;
|
import org.sleuthkit.autopsy.casemodule.services.FileManager;
|
||||||
@ -17,24 +28,18 @@ import org.sleuthkit.autopsy.ingest.DataSourceIngestModuleProgress;
|
|||||||
import org.sleuthkit.autopsy.ingest.IngestJobContext;
|
import org.sleuthkit.autopsy.ingest.IngestJobContext;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestMessage;
|
import org.sleuthkit.autopsy.ingest.IngestMessage;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestServices;
|
import org.sleuthkit.autopsy.ingest.IngestServices;
|
||||||
import org.sleuthkit.autopsy.modules.hashdatabase.HashDbIngestModule;
|
|
||||||
import org.sleuthkit.autopsy.modules.hashdatabase.HashLookupModuleFactory;
|
|
||||||
import org.sleuthkit.datamodel.AbstractFile;
|
import org.sleuthkit.datamodel.AbstractFile;
|
||||||
import org.sleuthkit.datamodel.BlackboardArtifact;
|
import org.sleuthkit.datamodel.BlackboardArtifact;
|
||||||
import org.sleuthkit.datamodel.BlackboardAttribute;
|
import org.sleuthkit.datamodel.BlackboardAttribute;
|
||||||
import org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE;
|
|
||||||
import org.sleuthkit.datamodel.BlackboardAttribute.TSK_BLACKBOARD_ATTRIBUTE_VALUE_TYPE;
|
import org.sleuthkit.datamodel.BlackboardAttribute.TSK_BLACKBOARD_ATTRIBUTE_VALUE_TYPE;
|
||||||
import org.sleuthkit.datamodel.Content;
|
import org.sleuthkit.datamodel.Content;
|
||||||
import org.sleuthkit.datamodel.TskCoreException;
|
import org.sleuthkit.datamodel.TskCoreException;
|
||||||
import org.sleuthkit.datamodel.TskDataException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* Test module that creates new artifact and attribute types.
|
||||||
* @author oliver
|
|
||||||
*/
|
*/
|
||||||
public class UserArtifactIngestModule implements DataSourceIngestModule {
|
public class UserArtifactIngestModule implements DataSourceIngestModule {
|
||||||
|
|
||||||
private IngestJobContext context = null;
|
|
||||||
private BlackboardArtifact.Type type1, type2;
|
private BlackboardArtifact.Type type1, type2;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -42,8 +47,8 @@ public class UserArtifactIngestModule implements DataSourceIngestModule {
|
|||||||
progressBar.switchToDeterminate(2);
|
progressBar.switchToDeterminate(2);
|
||||||
try {
|
try {
|
||||||
FileManager manager = Case.getCurrentCase().getServices().getFileManager();
|
FileManager manager = Case.getCurrentCase().getServices().getFileManager();
|
||||||
List<AbstractFile> file1 = manager.findFiles("Sunset.jpg");
|
List<AbstractFile> file1 = manager.findFiles("Sunset.jpg"); //NON-NLS
|
||||||
List<AbstractFile> file2 = manager.findFiles("Winter.jpg");
|
List<AbstractFile> file2 = manager.findFiles("Winter.jpg"); //NON-NLS
|
||||||
BlackboardArtifact art1;
|
BlackboardArtifact art1;
|
||||||
BlackboardArtifact art2;
|
BlackboardArtifact art2;
|
||||||
if (!file1.isEmpty()) {
|
if (!file1.isEmpty()) {
|
||||||
@ -56,8 +61,8 @@ public class UserArtifactIngestModule implements DataSourceIngestModule {
|
|||||||
} else {
|
} else {
|
||||||
art2 = dataSource.newArtifact(type2.getTypeID());
|
art2 = dataSource.newArtifact(type2.getTypeID());
|
||||||
}
|
}
|
||||||
BlackboardAttribute.Type attributeType = Case.getCurrentCase().getServices().getBlackboard().addAttributeType("Test", TSK_BLACKBOARD_ATTRIBUTE_VALUE_TYPE.LONG, "2");
|
BlackboardAttribute.Type attributeType = Case.getCurrentCase().getServices().getBlackboard().addAttributeType("Test", TSK_BLACKBOARD_ATTRIBUTE_VALUE_TYPE.LONG, "2"); //NON-NLS
|
||||||
BlackboardAttribute.Type attributeType2 = Case.getCurrentCase().getServices().getBlackboard().addAttributeType("Test2", TSK_BLACKBOARD_ATTRIBUTE_VALUE_TYPE.BYTE, "3");
|
BlackboardAttribute.Type attributeType2 = Case.getCurrentCase().getServices().getBlackboard().addAttributeType("Test2", TSK_BLACKBOARD_ATTRIBUTE_VALUE_TYPE.BYTE, "3"); //NON-NLS
|
||||||
art1.addAttribute(new BlackboardAttribute(attributeType,
|
art1.addAttribute(new BlackboardAttribute(attributeType,
|
||||||
UserArtifactIngestModuleFactory.getModuleName(), -1L));
|
UserArtifactIngestModuleFactory.getModuleName(), -1L));
|
||||||
progressBar.progress(1);
|
progressBar.progress(1);
|
||||||
@ -65,27 +70,24 @@ public class UserArtifactIngestModule implements DataSourceIngestModule {
|
|||||||
UserArtifactIngestModuleFactory.getModuleName(), new byte[7]));
|
UserArtifactIngestModuleFactory.getModuleName(), new byte[7]));
|
||||||
progressBar.progress(1);
|
progressBar.progress(1);
|
||||||
IngestServices.getInstance().postMessage(IngestMessage.createDataMessage(
|
IngestServices.getInstance().postMessage(IngestMessage.createDataMessage(
|
||||||
"name",
|
"name", // NON-NLS
|
||||||
UserArtifactIngestModuleFactory.getModuleName(),
|
UserArtifactIngestModuleFactory.getModuleName(),
|
||||||
"Test Results",
|
"Test Results", //NON-NLS
|
||||||
"Test",
|
"Test", //NON-NLS
|
||||||
art1));
|
art1));
|
||||||
return ProcessResult.OK;
|
return ProcessResult.OK;
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException | BlackboardException ex) {
|
||||||
return ProcessResult.ERROR;
|
|
||||||
} catch (BlackboardException ex) {
|
|
||||||
return ProcessResult.ERROR;
|
return ProcessResult.ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void startUp(IngestJobContext context) throws IngestModuleException {
|
public void startUp(IngestJobContext context) throws IngestModuleException {
|
||||||
this.context = context;
|
|
||||||
try {
|
try {
|
||||||
type1 = Case.getCurrentCase().getServices().getBlackboard().addArtifactType("This is", "a test");
|
type1 = Case.getCurrentCase().getServices().getBlackboard().addArtifactType("This is", "a test"); //NON-NLS
|
||||||
type2 = Case.getCurrentCase().getServices().getBlackboard().addArtifactType("Another", "kinda test");
|
type2 = Case.getCurrentCase().getServices().getBlackboard().addArtifactType("Another", "kinda test"); //NON-NLS
|
||||||
} catch (BlackboardException ex) {
|
} catch (BlackboardException ex) {
|
||||||
Logger.logMsg(Logger.ERROR, "Startup failed");
|
Logger.logMsg(Logger.ERROR, "Startup failed"); //NON-NLS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,25 +1,35 @@
|
|||||||
/*
|
/*
|
||||||
* To change this license header, choose License Headers in Project Properties.
|
* Autopsy Forensic Browser
|
||||||
* To change this template file, choose Tools | Templates
|
*
|
||||||
* and open the template in the editor.
|
* Copyright 2011-2016 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.modules.UserArtifacts;
|
package org.sleuthkit.autopsy.modules.UserArtifacts;
|
||||||
|
|
||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.openide.util.lookup.ServiceProvider;
|
|
||||||
import org.python.apache.xmlcommons.Version;
|
import org.python.apache.xmlcommons.Version;
|
||||||
import org.sleuthkit.autopsy.ingest.DataSourceIngestModule;
|
import org.sleuthkit.autopsy.ingest.DataSourceIngestModule;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestModuleFactory;
|
|
||||||
import org.sleuthkit.autopsy.ingest.IngestModuleFactoryAdapter;
|
import org.sleuthkit.autopsy.ingest.IngestModuleFactoryAdapter;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings;
|
import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* Factory for test module that creates new artifact and attribute types.
|
||||||
* @author oliver
|
|
||||||
*/
|
*/
|
||||||
//@ServiceProvider(service = IngestModuleFactory.class)
|
//@ServiceProvider(service = IngestModuleFactory.class)
|
||||||
public class UserArtifactIngestModuleFactory extends IngestModuleFactoryAdapter {
|
public class UserArtifactIngestModuleFactory extends IngestModuleFactoryAdapter {
|
||||||
|
|
||||||
static String getModuleName() {
|
static String getModuleName() {
|
||||||
return NbBundle.getMessage(UserArtifactIngestModuleFactory.class, "UserArtifactIngestModuleFactory.moduleName");
|
return NbBundle.getMessage(UserArtifactIngestModuleFactory.class, "UserArtifactIngestModuleFactory.moduleName");
|
||||||
}
|
}
|
||||||
@ -33,16 +43,17 @@ public class UserArtifactIngestModuleFactory extends IngestModuleFactoryAdapter
|
|||||||
public String getModuleDescription() {
|
public String getModuleDescription() {
|
||||||
return NbBundle.getMessage(UserArtifactIngestModuleFactory.class, "UserArtifactIngestModuleFactory.moduleDescription");
|
return NbBundle.getMessage(UserArtifactIngestModuleFactory.class, "UserArtifactIngestModuleFactory.moduleDescription");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getModuleVersionNumber() {
|
public String getModuleVersionNumber() {
|
||||||
return Version.getVersion();
|
return Version.getVersion();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataSourceIngestModule createDataSourceIngestModule(IngestModuleIngestJobSettings ingestOptions) {
|
public DataSourceIngestModule createDataSourceIngestModule(IngestModuleIngestJobSettings ingestOptions) {
|
||||||
return new UserArtifactIngestModule();
|
return new UserArtifactIngestModule();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isDataSourceIngestModuleFactory() {
|
public boolean isDataSourceIngestModuleFactory() {
|
||||||
return true;
|
return true;
|
||||||
|
@ -79,9 +79,9 @@ public final class ExifParserFileIngestModule implements FileIngestModule {
|
|||||||
private Blackboard blackboard;
|
private Blackboard blackboard;
|
||||||
|
|
||||||
ExifParserFileIngestModule() {
|
ExifParserFileIngestModule() {
|
||||||
supportedMimeTypes.add("audio/x-wav");
|
supportedMimeTypes.add("audio/x-wav"); //NON-NLS
|
||||||
supportedMimeTypes.add("image/jpeg");
|
supportedMimeTypes.add("image/jpeg"); //NON-NLS
|
||||||
supportedMimeTypes.add("image/tiff");
|
supportedMimeTypes.add("image/tiff"); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -166,7 +166,7 @@ final class FileExtMismatchSettingsPanel extends IngestModuleGlobalSettingsPanel
|
|||||||
|
|
||||||
jPanel1.setPreferredSize(new java.awt.Dimension(687, 450));
|
jPanel1.setPreferredSize(new java.awt.Dimension(687, 450));
|
||||||
|
|
||||||
saveButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/fileextmismatch/save16.png"))); // NOI18N
|
saveButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/fileextmismatch/save16.png"))); // NOI18N NON-NLS
|
||||||
saveButton.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.saveButton.text")); // NOI18N
|
saveButton.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.saveButton.text")); // NOI18N
|
||||||
saveButton.setEnabled(false);
|
saveButton.setEnabled(false);
|
||||||
saveButton.addActionListener(new java.awt.event.ActionListener() {
|
saveButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
@ -444,10 +444,10 @@ final class FileTypeIdGlobalSettingsPanel extends IngestModuleGlobalSettingsPane
|
|||||||
|
|
||||||
filesSetNameTextField.setText(org.openide.util.NbBundle.getMessage(FileTypeIdGlobalSettingsPanel.class, "FileTypeIdGlobalSettingsPanel.filesSetNameTextField.text")); // NOI18N
|
filesSetNameTextField.setText(org.openide.util.NbBundle.getMessage(FileTypeIdGlobalSettingsPanel.class, "FileTypeIdGlobalSettingsPanel.filesSetNameTextField.text")); // NOI18N
|
||||||
|
|
||||||
ingestRunningWarningLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/filetypeid/warning16.png"))); // NOI18N
|
ingestRunningWarningLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/filetypeid/warning16.png"))); // NOI18N NON-NLS
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(ingestRunningWarningLabel, org.openide.util.NbBundle.getMessage(FileTypeIdGlobalSettingsPanel.class, "FileTypeIdGlobalSettingsPanel.ingestRunningWarningLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(ingestRunningWarningLabel, org.openide.util.NbBundle.getMessage(FileTypeIdGlobalSettingsPanel.class, "FileTypeIdGlobalSettingsPanel.ingestRunningWarningLabel.text")); // NOI18N
|
||||||
|
|
||||||
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
|
jLabel1.setFont(jLabel1.getFont().deriveFont(Font.BOLD, 11)); // NOI18N
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(FileTypeIdGlobalSettingsPanel.class, "FileTypeIdGlobalSettingsPanel.jLabel1.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(FileTypeIdGlobalSettingsPanel.class, "FileTypeIdGlobalSettingsPanel.jLabel1.text")); // NOI18N
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(jLabel2, org.openide.util.NbBundle.getMessage(FileTypeIdGlobalSettingsPanel.class, "FileTypeIdGlobalSettingsPanel.jLabel2.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(jLabel2, org.openide.util.NbBundle.getMessage(FileTypeIdGlobalSettingsPanel.class, "FileTypeIdGlobalSettingsPanel.jLabel2.text")); // NOI18N
|
||||||
@ -624,7 +624,7 @@ final class FileTypeIdGlobalSettingsPanel extends IngestModuleGlobalSettingsPane
|
|||||||
byte[] signatureBytes;
|
byte[] signatureBytes;
|
||||||
if (FileType.Signature.Type.RAW == sigType) {
|
if (FileType.Signature.Type.RAW == sigType) {
|
||||||
try {
|
try {
|
||||||
sigString = sigString.replaceAll("\\s", "");
|
sigString = sigString.replaceAll("\\s", ""); //NON-NLS
|
||||||
signatureBytes = DatatypeConverter.parseHexBinary(sigString);
|
signatureBytes = DatatypeConverter.parseHexBinary(sigString);
|
||||||
} catch (IllegalArgumentException ex) {
|
} catch (IllegalArgumentException ex) {
|
||||||
JOptionPane.showMessageDialog(null,
|
JOptionPane.showMessageDialog(null,
|
||||||
|
@ -68,7 +68,7 @@ final class UserDefinedFileTypesManager {
|
|||||||
private static final String SIGNATURE_TYPE_ATTRIBUTE = "type"; //NON-NLS
|
private static final String SIGNATURE_TYPE_ATTRIBUTE = "type"; //NON-NLS
|
||||||
private static final String BYTES_TAG_NAME = "Bytes"; //NON-NLS
|
private static final String BYTES_TAG_NAME = "Bytes"; //NON-NLS
|
||||||
private static final String OFFSET_TAG_NAME = "Offset"; //NON-NLS
|
private static final String OFFSET_TAG_NAME = "Offset"; //NON-NLS
|
||||||
private static final String RELATIVE_ATTRIBUTE = "RelativeToStart";
|
private static final String RELATIVE_ATTRIBUTE = "RelativeToStart"; //NON-NLS
|
||||||
private static final String INTERESTING_FILES_SET_TAG_NAME = "InterestingFileSset"; //NON-NLS
|
private static final String INTERESTING_FILES_SET_TAG_NAME = "InterestingFileSset"; //NON-NLS
|
||||||
private static final String ALERT_ATTRIBUTE = "alert"; //NON-NLS
|
private static final String ALERT_ATTRIBUTE = "alert"; //NON-NLS
|
||||||
private static final String ENCODING_FOR_XML_FILE = "UTF-8"; //NON-NLS
|
private static final String ENCODING_FOR_XML_FILE = "UTF-8"; //NON-NLS
|
||||||
@ -230,8 +230,8 @@ final class UserDefinedFileTypesManager {
|
|||||||
fileTypes.add(fileType);
|
fileTypes.add(fileType);
|
||||||
|
|
||||||
// Add rule for .tga
|
// Add rule for .tga
|
||||||
byteArray = DatatypeConverter.parseHexBinary("54525545564953494F4E2D5846494C452E00");
|
byteArray = DatatypeConverter.parseHexBinary("54525545564953494F4E2D5846494C452E00"); //NON-NLS
|
||||||
fileType = new FileType("image/x-tga", new Signature(byteArray, 17, false), "", false);
|
fileType = new FileType("image/x-tga", new Signature(byteArray, 17, false), "", false); //NON-NLS
|
||||||
fileTypes.add(fileType);
|
fileTypes.add(fileType);
|
||||||
}
|
}
|
||||||
// parseHexBinary() throws this if the argument passed in is not Hex
|
// parseHexBinary() throws this if the argument passed in is not Hex
|
||||||
|
@ -506,7 +506,7 @@ public final class HashLookupSettingsPanel extends IngestModuleGlobalSettingsPan
|
|||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(jLabel6, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.jLabel6.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(jLabel6, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.jLabel6.text")); // NOI18N
|
||||||
|
|
||||||
jButton3.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
|
jButton3.setFont(jButton3.getFont().deriveFont(Font.PLAIN, 14));
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(jButton3, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.jButton3.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(jButton3, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.jButton3.text")); // NOI18N
|
||||||
|
|
||||||
setMinimumSize(new java.awt.Dimension(700, 430));
|
setMinimumSize(new java.awt.Dimension(700, 430));
|
||||||
@ -514,7 +514,7 @@ public final class HashLookupSettingsPanel extends IngestModuleGlobalSettingsPan
|
|||||||
|
|
||||||
jPanel1.setPreferredSize(new java.awt.Dimension(671, 430));
|
jPanel1.setPreferredSize(new java.awt.Dimension(671, 430));
|
||||||
|
|
||||||
ingestWarningLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/hashdatabase/warning16.png"))); // NOI18N
|
ingestWarningLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/hashdatabase/warning16.png"))); // NOI18N NON-NLS
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(ingestWarningLabel, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.ingestWarningLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(ingestWarningLabel, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.ingestWarningLabel.text")); // NOI18N
|
||||||
|
|
||||||
hashSetTable.setModel(new javax.swing.table.DefaultTableModel(
|
hashSetTable.setModel(new javax.swing.table.DefaultTableModel(
|
||||||
@ -534,7 +534,7 @@ public final class HashLookupSettingsPanel extends IngestModuleGlobalSettingsPan
|
|||||||
});
|
});
|
||||||
jScrollPane1.setViewportView(hashSetTable);
|
jScrollPane1.setViewportView(hashSetTable);
|
||||||
|
|
||||||
deleteDatabaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/hashdatabase/delete16.png"))); // NOI18N
|
deleteDatabaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/hashdatabase/delete16.png"))); // NOI18N NON-NLS
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(deleteDatabaseButton, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.deleteDatabaseButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(deleteDatabaseButton, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.deleteDatabaseButton.text")); // NOI18N
|
||||||
deleteDatabaseButton.setMaximumSize(new java.awt.Dimension(140, 25));
|
deleteDatabaseButton.setMaximumSize(new java.awt.Dimension(140, 25));
|
||||||
deleteDatabaseButton.setMinimumSize(new java.awt.Dimension(140, 25));
|
deleteDatabaseButton.setMinimumSize(new java.awt.Dimension(140, 25));
|
||||||
@ -545,7 +545,7 @@ public final class HashLookupSettingsPanel extends IngestModuleGlobalSettingsPan
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
importDatabaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/hashdatabase/import16.png"))); // NOI18N
|
importDatabaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/hashdatabase/import16.png"))); // NOI18N NON-NLS
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(importDatabaseButton, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.importDatabaseButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(importDatabaseButton, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.importDatabaseButton.text")); // NOI18N
|
||||||
importDatabaseButton.setMaximumSize(new java.awt.Dimension(140, 25));
|
importDatabaseButton.setMaximumSize(new java.awt.Dimension(140, 25));
|
||||||
importDatabaseButton.setMinimumSize(new java.awt.Dimension(140, 25));
|
importDatabaseButton.setMinimumSize(new java.awt.Dimension(140, 25));
|
||||||
@ -593,7 +593,7 @@ public final class HashLookupSettingsPanel extends IngestModuleGlobalSettingsPan
|
|||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(optionsLabel, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.optionsLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(optionsLabel, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.optionsLabel.text")); // NOI18N
|
||||||
|
|
||||||
createDatabaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/hashdatabase/new16.png"))); // NOI18N
|
createDatabaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/hashdatabase/new16.png"))); // NOI18N NON-NLS
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(createDatabaseButton, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.createDatabaseButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(createDatabaseButton, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.createDatabaseButton.text")); // NOI18N
|
||||||
createDatabaseButton.setMaximumSize(new java.awt.Dimension(140, 25));
|
createDatabaseButton.setMaximumSize(new java.awt.Dimension(140, 25));
|
||||||
createDatabaseButton.setMinimumSize(new java.awt.Dimension(140, 25));
|
createDatabaseButton.setMinimumSize(new java.awt.Dimension(140, 25));
|
||||||
|
@ -14,7 +14,6 @@ FilesSetRulePanel.jLabel1.text=\u30D5\u30A1\u30A4\u30EB\u30BF\u30A4\u30D7\uFF1A
|
|||||||
FilesSetRulePanel.jLabel2.text=\u30CD\u30FC\u30E0\u30D1\u30BF\u30FC\u30F3\uFF1A
|
FilesSetRulePanel.jLabel2.text=\u30CD\u30FC\u30E0\u30D1\u30BF\u30FC\u30F3\uFF1A
|
||||||
FilesSetRulePanel.jLabel3.text=\u30D1\u30B9\u30D1\u30BF\u30FC\u30F3\uFF1A
|
FilesSetRulePanel.jLabel3.text=\u30D1\u30B9\u30D1\u30BF\u30FC\u30F3\uFF1A
|
||||||
FilesSetRulePanel.messages.emptyNameFilter=\u7591\u308F\u3057\u3044\u30D5\u30A1\u30A4\u30EB\u30BB\u30C3\u30C8\u30EB\u30FC\u30EB\u306F\u691C\u7D22\u3059\u308B\u540D\u524D\u304C\u5FC5\u8981\u3067\u3059\u3002
|
FilesSetRulePanel.messages.emptyNameFilter=\u7591\u308F\u3057\u3044\u30D5\u30A1\u30A4\u30EB\u30BB\u30C3\u30C8\u30EB\u30FC\u30EB\u306F\u691C\u7D22\u3059\u308B\u540D\u524D\u304C\u5FC5\u8981\u3067\u3059\u3002
|
||||||
FilesSetRulePanel.messages.filesSetRulesMustBeNamed=\u7591\u308F\u3057\u3044\u30D5\u30A1\u30A4\u30EB\u30BB\u30C3\u30C8\u30EB\u30FC\u30EB\u306F\u540D\u524D\u304C\u5FC5\u8981\u3067\u3059\u3002
|
|
||||||
FilesSetRulePanel.messages.invalidCharInName=\u6B63\u898F\u8868\u73FE\u4EE5\u5916\u306F\\\u3001/\u3001\:\u3001*\u3001?\u3001"\u3001<\u3001>\u3092\u540D\u524D\u306B\u542B\u3081\u307E\u305B\u3093\u3002
|
FilesSetRulePanel.messages.invalidCharInName=\u6B63\u898F\u8868\u73FE\u4EE5\u5916\u306F\\\u3001/\u3001\:\u3001*\u3001?\u3001"\u3001<\u3001>\u3092\u540D\u524D\u306B\u542B\u3081\u307E\u305B\u3093\u3002
|
||||||
FilesSetRulePanel.messages.invalidCharInPath=\u6B63\u898F\u8868\u73FE\u4EE5\u5916\u306F\\\u3001\:\u3001*\u3001?\u3001"\u3001<\u3001>\u3092\u30D1\u30B9\u306B\u542B\u3081\u307E\u305B\u3093\u3002
|
FilesSetRulePanel.messages.invalidCharInPath=\u6B63\u898F\u8868\u73FE\u4EE5\u5916\u306F\\\u3001\:\u3001*\u3001?\u3001"\u3001<\u3001>\u3092\u30D1\u30B9\u306B\u542B\u3081\u307E\u305B\u3093\u3002
|
||||||
FilesSetRulePanel.messages.invalidNameRegex=\u6B63\u898F\u8868\u73FE\u306F\u6709\u52B9\u306A\u540D\u524D\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF1A\n\n{0}
|
FilesSetRulePanel.messages.invalidNameRegex=\u6B63\u898F\u8868\u73FE\u306F\u6709\u52B9\u306A\u540D\u524D\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF1A\n\n{0}
|
||||||
|
@ -130,7 +130,7 @@ final class FilesIdentifierIngestModule implements FileIngestModule {
|
|||||||
IngestServices.getInstance().fireModuleDataEvent(new ModuleDataEvent(moduleName, BlackboardArtifact.ARTIFACT_TYPE.TSK_INTERESTING_FILE_HIT, Collections.singletonList(artifact)));
|
IngestServices.getInstance().fireModuleDataEvent(new ModuleDataEvent(moduleName, BlackboardArtifact.ARTIFACT_TYPE.TSK_INTERESTING_FILE_HIT, Collections.singletonList(artifact)));
|
||||||
|
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
FilesIdentifierIngestModule.logger.log(Level.SEVERE, "Error posting to the blackboard", ex); //NOI18N
|
FilesIdentifierIngestModule.logger.log(Level.SEVERE, "Error posting to the blackboard", ex); //NOI18N NON-NLS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -403,7 +403,7 @@ final class FilesSetRulePanel extends javax.swing.JPanel {
|
|||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(pathRegexCheckBox, org.openide.util.NbBundle.getMessage(FilesSetRulePanel.class, "FilesSetRulePanel.pathRegexCheckBox.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(pathRegexCheckBox, org.openide.util.NbBundle.getMessage(FilesSetRulePanel.class, "FilesSetRulePanel.pathRegexCheckBox.text")); // NOI18N
|
||||||
|
|
||||||
pathSeparatorInfoLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/info-icon-16.png"))); // NOI18N
|
pathSeparatorInfoLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/info-icon-16.png"))); // NOI18N NON-NLS
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(pathSeparatorInfoLabel, org.openide.util.NbBundle.getMessage(FilesSetRulePanel.class, "FilesSetRulePanel.pathSeparatorInfoLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(pathSeparatorInfoLabel, org.openide.util.NbBundle.getMessage(FilesSetRulePanel.class, "FilesSetRulePanel.pathSeparatorInfoLabel.text")); // NOI18N
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(jLabel4, org.openide.util.NbBundle.getMessage(FilesSetRulePanel.class, "FilesSetRulePanel.jLabel4.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(jLabel4, org.openide.util.NbBundle.getMessage(FilesSetRulePanel.class, "FilesSetRulePanel.jLabel4.text")); // NOI18N
|
||||||
|
@ -258,11 +258,11 @@ final class InterestingItemDefsManager extends Observable {
|
|||||||
if (!rules.containsKey(rule.getUuid())) {
|
if (!rules.containsKey(rule.getUuid())) {
|
||||||
rules.put(rule.getUuid(), rule);
|
rules.put(rule.getUuid(), rule);
|
||||||
} else {
|
} else {
|
||||||
logger.log(Level.SEVERE, "Found duplicate rule {0} for set named {1} in interesting file sets definition file at {2}, discarding malformed set", new Object[]{rule.getUuid(), setName, filePath}); //NOI18N
|
logger.log(Level.SEVERE, "Found duplicate rule {0} for set named {1} in interesting file sets definition file at {2}, discarding malformed set", new Object[]{rule.getUuid(), setName, filePath}); //NOI18N NON-NLS
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.log(Level.SEVERE, "Found malformed rule for set named {0} in interesting file sets definition file at {1}, discarding malformed set", new Object[]{setName, filePath}); //NOI18N
|
logger.log(Level.SEVERE, "Found malformed rule for set named {0} in interesting file sets definition file at {1}, discarding malformed set", new Object[]{setName, filePath}); //NOI18N NON-NLS
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -294,7 +294,7 @@ final class InterestingItemDefsManager extends Observable {
|
|||||||
String content = elem.getTextContent();
|
String content = elem.getTextContent();
|
||||||
FilesSet.Rule.FullNameFilter nameFilter;
|
FilesSet.Rule.FullNameFilter nameFilter;
|
||||||
String regex = elem.getAttribute(FilesSetXML.REGEX_ATTR);
|
String regex = elem.getAttribute(FilesSetXML.REGEX_ATTR);
|
||||||
if ((!regex.isEmpty() && regex.equalsIgnoreCase("true")) || content.contains("*")) { // NON_NLS
|
if ((!regex.isEmpty() && regex.equalsIgnoreCase("true")) || content.contains("*")) { // NON-NLS
|
||||||
Pattern pattern = compileRegex(content);
|
Pattern pattern = compileRegex(content);
|
||||||
if (pattern != null) {
|
if (pattern != null) {
|
||||||
nameFilter = new FilesSet.Rule.FullNameFilter(pattern);
|
nameFilter = new FilesSet.Rule.FullNameFilter(pattern);
|
||||||
@ -352,7 +352,7 @@ final class InterestingItemDefsManager extends Observable {
|
|||||||
String content = elem.getTextContent();
|
String content = elem.getTextContent();
|
||||||
FilesSet.Rule.ExtensionFilter extFilter;
|
FilesSet.Rule.ExtensionFilter extFilter;
|
||||||
String regex = elem.getAttribute(FilesSetXML.REGEX_ATTR);
|
String regex = elem.getAttribute(FilesSetXML.REGEX_ATTR);
|
||||||
if ((!regex.isEmpty() && regex.equalsIgnoreCase("true")) || content.contains("*")) { // NON_NLS
|
if ((!regex.isEmpty() && regex.equalsIgnoreCase("true")) || content.contains("*")) { // NON-NLS
|
||||||
Pattern pattern = compileRegex(content);
|
Pattern pattern = compileRegex(content);
|
||||||
if (pattern != null) {
|
if (pattern != null) {
|
||||||
extFilter = new FilesSet.Rule.ExtensionFilter(pattern);
|
extFilter = new FilesSet.Rule.ExtensionFilter(pattern);
|
||||||
|
@ -418,7 +418,7 @@ final class InterestingItemDefsPanel extends IngestModuleGlobalSettingsPanel imp
|
|||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(jLabel6, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.jLabel6.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(jLabel6, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.jLabel6.text")); // NOI18N
|
||||||
|
|
||||||
newRuleButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/add16.png"))); // NOI18N
|
newRuleButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/add16.png"))); // NOI18N NON-NLS
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(newRuleButton, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.newRuleButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(newRuleButton, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.newRuleButton.text")); // NOI18N
|
||||||
newRuleButton.setEnabled(false);
|
newRuleButton.setEnabled(false);
|
||||||
newRuleButton.addActionListener(new java.awt.event.ActionListener() {
|
newRuleButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
@ -431,7 +431,7 @@ final class InterestingItemDefsPanel extends IngestModuleGlobalSettingsPanel imp
|
|||||||
org.openide.awt.Mnemonics.setLocalizedText(filesRadioButton, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.filesRadioButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(filesRadioButton, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.filesRadioButton.text")); // NOI18N
|
||||||
filesRadioButton.setEnabled(false);
|
filesRadioButton.setEnabled(false);
|
||||||
|
|
||||||
editRuleButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/edit16.png"))); // NOI18N
|
editRuleButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/edit16.png"))); // NOI18N NON-NLS
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(editRuleButton, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.editRuleButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(editRuleButton, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.editRuleButton.text")); // NOI18N
|
||||||
editRuleButton.setEnabled(false);
|
editRuleButton.setEnabled(false);
|
||||||
editRuleButton.addActionListener(new java.awt.event.ActionListener() {
|
editRuleButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
@ -452,7 +452,7 @@ final class InterestingItemDefsPanel extends IngestModuleGlobalSettingsPanel imp
|
|||||||
setDescriptionTextArea.setRows(2);
|
setDescriptionTextArea.setRows(2);
|
||||||
setDescScrollPanel.setViewportView(setDescriptionTextArea);
|
setDescScrollPanel.setViewportView(setDescriptionTextArea);
|
||||||
|
|
||||||
editSetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/edit16.png"))); // NOI18N
|
editSetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/edit16.png"))); // NOI18N NON-NLS
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(editSetButton, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.editSetButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(editSetButton, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.editSetButton.text")); // NOI18N
|
||||||
editSetButton.setEnabled(false);
|
editSetButton.setEnabled(false);
|
||||||
editSetButton.addActionListener(new java.awt.event.ActionListener() {
|
editSetButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
@ -500,7 +500,7 @@ final class InterestingItemDefsPanel extends IngestModuleGlobalSettingsPanel imp
|
|||||||
org.openide.awt.Mnemonics.setLocalizedText(bothRadioButton, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.bothRadioButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(bothRadioButton, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.bothRadioButton.text")); // NOI18N
|
||||||
bothRadioButton.setEnabled(false);
|
bothRadioButton.setEnabled(false);
|
||||||
|
|
||||||
deleteSetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/delete16.png"))); // NOI18N
|
deleteSetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/delete16.png"))); // NOI18N NON-NLS
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(deleteSetButton, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.deleteSetButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(deleteSetButton, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.deleteSetButton.text")); // NOI18N
|
||||||
deleteSetButton.setEnabled(false);
|
deleteSetButton.setEnabled(false);
|
||||||
deleteSetButton.addActionListener(new java.awt.event.ActionListener() {
|
deleteSetButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
@ -509,7 +509,7 @@ final class InterestingItemDefsPanel extends IngestModuleGlobalSettingsPanel imp
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
deleteRuleButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/delete16.png"))); // NOI18N
|
deleteRuleButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/delete16.png"))); // NOI18N NON-NLS
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(deleteRuleButton, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.deleteRuleButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(deleteRuleButton, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.deleteRuleButton.text")); // NOI18N
|
||||||
deleteRuleButton.setEnabled(false);
|
deleteRuleButton.setEnabled(false);
|
||||||
deleteRuleButton.addActionListener(new java.awt.event.ActionListener() {
|
deleteRuleButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
@ -518,7 +518,7 @@ final class InterestingItemDefsPanel extends IngestModuleGlobalSettingsPanel imp
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
newSetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/add16.png"))); // NOI18N
|
newSetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/add16.png"))); // NOI18N NON-NLS
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(newSetButton, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.newSetButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(newSetButton, org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.newSetButton.text")); // NOI18N
|
||||||
newSetButton.addActionListener(new java.awt.event.ActionListener() {
|
newSetButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
@ -546,7 +546,7 @@ final class InterestingItemDefsPanel extends IngestModuleGlobalSettingsPanel imp
|
|||||||
jTextArea1.setEditable(false);
|
jTextArea1.setEditable(false);
|
||||||
jTextArea1.setBackground(new java.awt.Color(240, 240, 240));
|
jTextArea1.setBackground(new java.awt.Color(240, 240, 240));
|
||||||
jTextArea1.setColumns(20);
|
jTextArea1.setColumns(20);
|
||||||
jTextArea1.setFont(new java.awt.Font("Tahoma", 0, 11)); // NOI18N
|
jTextArea1.setFont(jTextArea1.getFont().deriveFont(Font.PLAIN, 11));
|
||||||
jTextArea1.setLineWrap(true);
|
jTextArea1.setLineWrap(true);
|
||||||
jTextArea1.setRows(3);
|
jTextArea1.setRows(3);
|
||||||
jTextArea1.setText(org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.jTextArea1.text")); // NOI18N
|
jTextArea1.setText(org.openide.util.NbBundle.getMessage(InterestingItemDefsPanel.class, "InterestingItemDefsPanel.jTextArea1.text")); // NOI18N
|
||||||
|
@ -214,7 +214,7 @@ final class PhotoRecCarverFileIngestModule implements FileIngestModule {
|
|||||||
"\"" + outputDirPath.toAbsolutePath() + File.separator + PHOTOREC_RESULTS_BASE + "\"",
|
"\"" + outputDirPath.toAbsolutePath() + File.separator + PHOTOREC_RESULTS_BASE + "\"",
|
||||||
"/cmd", // NON-NLS
|
"/cmd", // NON-NLS
|
||||||
"\"" + tempFilePath.toFile() + "\"",
|
"\"" + tempFilePath.toFile() + "\"",
|
||||||
"search"); // NON_NLS
|
"search"); // NON-NLS
|
||||||
|
|
||||||
// Add environment variable to force PhotoRec to run with the same permissions Autopsy uses
|
// Add environment variable to force PhotoRec to run with the same permissions Autopsy uses
|
||||||
processAndSettings.environment().put("__COMPAT_LAYER", "RunAsInvoker"); //NON-NLS
|
processAndSettings.environment().put("__COMPAT_LAYER", "RunAsInvoker"); //NON-NLS
|
||||||
|
@ -149,7 +149,7 @@ class PhotoRecCarverOutputParser {
|
|||||||
}
|
}
|
||||||
return fileManager.addCarvedFiles(carvedFileContainer);
|
return fileManager.addCarvedFiles(carvedFileContainer);
|
||||||
} catch (NumberFormatException | TskCoreException ex) {
|
} catch (NumberFormatException | TskCoreException ex) {
|
||||||
logger.log(Level.SEVERE, "Error parsing PhotoRec output and inserting it into the database: {0}", ex); //NON_NLS
|
logger.log(Level.SEVERE, "Error parsing PhotoRec output and inserting it into the database: {0}", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
List<LayoutFile> empty = Collections.emptyList();
|
List<LayoutFile> empty = Collections.emptyList();
|
||||||
|
@ -173,7 +173,7 @@ class EvalFileObj extends EvaluatableObject {
|
|||||||
if (h.getSimpleHashValue() != null) {
|
if (h.getSimpleHashValue() != null) {
|
||||||
if (h.getType().getValue().equals("MD5")) { //NON-NLS
|
if (h.getType().getValue().equals("MD5")) { //NON-NLS
|
||||||
String newClause = "";
|
String newClause = "";
|
||||||
if (h.getSimpleHashValue().getValue().toString().toLowerCase().contains("##comma##")) {
|
if (h.getSimpleHashValue().getValue().toString().toLowerCase().contains("##comma##")) { //NON-NLS
|
||||||
String[] parts = h.getSimpleHashValue().getValue().toString().toLowerCase().split("##comma##"); //NON-NLS
|
String[] parts = h.getSimpleHashValue().getValue().toString().toLowerCase().split("##comma##"); //NON-NLS
|
||||||
String hashList = "";
|
String hashList = "";
|
||||||
for (String s : parts) {
|
for (String s : parts) {
|
||||||
@ -182,7 +182,7 @@ class EvalFileObj extends EvaluatableObject {
|
|||||||
}
|
}
|
||||||
hashList += "\'" + s + "\'";
|
hashList += "\'" + s + "\'";
|
||||||
}
|
}
|
||||||
newClause = "md5 IN (" + hashList + ")";
|
newClause = "md5 IN (" + hashList + ")"; //NON-NLS
|
||||||
} else {
|
} else {
|
||||||
newClause = "md5=\'" + h.getSimpleHashValue().getValue().toString().toLowerCase() + "\'"; //NON-NLS
|
newClause = "md5=\'" + h.getSimpleHashValue().getValue().toString().toLowerCase() + "\'"; //NON-NLS
|
||||||
}
|
}
|
||||||
|
@ -5,4 +5,8 @@ VMExtractorIngestModule.cannotCreateOutputDir.message=Unable to create output di
|
|||||||
VMExtractorIngestModule.addedVirtualMachineImage.message=Added virtual machine image {0}
|
VMExtractorIngestModule.addedVirtualMachineImage.message=Added virtual machine image {0}
|
||||||
VMExtractorIngestModule.searchingImage.message=Searching image for virtual machine files
|
VMExtractorIngestModule.searchingImage.message=Searching image for virtual machine files
|
||||||
VMExtractorIngestModule.exportingToDisk.message=Exporting virtual machine files to disk
|
VMExtractorIngestModule.exportingToDisk.message=Exporting virtual machine files to disk
|
||||||
VMExtractorIngestModule.queuingIngestJobs.message=Queuing ingest jobs for extracted virtual machines
|
VMExtractorIngestModule.queuingIngestJobs.message=Queuing ingest jobs for extracted virtual machines
|
||||||
|
VMExtractorIngestModule.msgNotify.failedExtractVM.title.txt=Failed to extract virtual machine file
|
||||||
|
VMExtractorIngestModule.msgNotify.failedExtractVM.msg.txt=Failed to write virtual machine file {0} to disk.
|
||||||
|
VMExtractorIngestModule.msgNotify.failedIngestVM.title.txt=Failed to ingest virtual machine
|
||||||
|
VMExtractorIngestModule.msgNotify.failedIngestVM.msg.txt=Failed to ingest virtual machine file {0}
|
@ -81,7 +81,7 @@ final class VMExtractorIngestModule extends DataSourceIngestModuleAdapter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (null == parentDataSourceId) {
|
if (null == parentDataSourceId) {
|
||||||
throw new IngestModuleException(String.format("Data source %s missing unique id", context.getDataSource().getName()));
|
throw new IngestModuleException(String.format("Data source %s missing unique id", context.getDataSource().getName())); //NON-NLS
|
||||||
}
|
}
|
||||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss");
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss");
|
||||||
String timeStamp = dateFormat.format(Calendar.getInstance().getTime());
|
String timeStamp = dateFormat.format(Calendar.getInstance().getTime());
|
||||||
@ -108,19 +108,19 @@ final class VMExtractorIngestModule extends DataSourceIngestModuleAdapter {
|
|||||||
// Not sure how long it will take for search to complete.
|
// Not sure how long it will take for search to complete.
|
||||||
progressBar.switchToIndeterminate();
|
progressBar.switchToIndeterminate();
|
||||||
|
|
||||||
logger.log(Level.INFO, "Looking for virtual machine files in data source {0}", dataSource.getName());
|
logger.log(Level.INFO, "Looking for virtual machine files in data source {0}", dataSource.getName()); //NON-NLS
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// look for all VM files
|
// look for all VM files
|
||||||
vmFiles = findVirtualMachineFiles(dataSource);
|
vmFiles = findVirtualMachineFiles(dataSource);
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
logger.log(Level.SEVERE, "Error querying case database", ex);
|
logger.log(Level.SEVERE, "Error querying case database", ex); //NON-NLS
|
||||||
return ProcessResult.ERROR;
|
return ProcessResult.ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vmFiles.isEmpty()) {
|
if (vmFiles.isEmpty()) {
|
||||||
// no VM files found
|
// no VM files found
|
||||||
logger.log(Level.INFO, "No virtual machine files found in data source {0}", dataSource.getName());
|
logger.log(Level.INFO, "No virtual machine files found in data source {0}", dataSource.getName()); //NON-NLS
|
||||||
return ProcessResult.OK;
|
return ProcessResult.OK;
|
||||||
}
|
}
|
||||||
// display progress for saving each VM file to disk
|
// display progress for saving each VM file to disk
|
||||||
@ -133,7 +133,7 @@ final class VMExtractorIngestModule extends DataSourceIngestModuleAdapter {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.log(Level.INFO, "Saving virtual machine file {0} to disk", vmFile.getName());
|
logger.log(Level.INFO, "Saving virtual machine file {0} to disk", vmFile.getName()); //NON-NLS
|
||||||
|
|
||||||
// get vmFolderPathInsideTheImage to the folder where VM is located
|
// get vmFolderPathInsideTheImage to the folder where VM is located
|
||||||
String vmFolderPathInsideTheImage = vmFile.getParentPath();
|
String vmFolderPathInsideTheImage = vmFile.getParentPath();
|
||||||
@ -155,23 +155,22 @@ final class VMExtractorIngestModule extends DataSourceIngestModuleAdapter {
|
|||||||
try {
|
try {
|
||||||
writeVirtualMachineToDisk(vmFile, outputFolderForThisVM);
|
writeVirtualMachineToDisk(vmFile, outputFolderForThisVM);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
logger.log(Level.SEVERE, "Failed to write virtual machine file "+vmFile.getName()+" to folder "+outputFolderForThisVM, ex);
|
logger.log(Level.SEVERE, "Failed to write virtual machine file "+vmFile.getName()+" to folder "+outputFolderForThisVM, ex); //NON-NLS
|
||||||
MessageNotifyUtil.Notify.error("Failed to extract virtual machine file", String.format("Failed to write virtual machine file %s to disk", vmFile.getName()));
|
MessageNotifyUtil.Notify.error(NbBundle.getMessage(this.getClass(), "VMExtractorIngestModule.msgNotify.failedExtractVM.title.txt"),
|
||||||
|
NbBundle.getMessage(this.getClass(), "VMExtractorIngestModule.msgNotify.failedExtractVM.msg.txt", vmFile.getName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update progress bar
|
// Update progress bar
|
||||||
numFilesSaved++;
|
numFilesSaved++;
|
||||||
progressBar.progress(NbBundle.getMessage(this.getClass(), "VMExtractorIngestModule.exportingToDisk.message"), numFilesSaved);
|
progressBar.progress(NbBundle.getMessage(this.getClass(), "VMExtractorIngestModule.exportingToDisk.message"), numFilesSaved);
|
||||||
}
|
}
|
||||||
logger.log(Level.INFO, "Finished saving virtual machine files to disk");
|
logger.log(Level.INFO, "Finished saving virtual machine files to disk"); //NON-NLS
|
||||||
|
|
||||||
// update progress bar
|
// update progress bar
|
||||||
progressBar.switchToDeterminate(imageFolderToOutputFolder.size());
|
progressBar.switchToDeterminate(imageFolderToOutputFolder.size());
|
||||||
progressBar.progress(NbBundle.getMessage(this.getClass(), "VMExtractorIngestModule.queuingIngestJobs.message"));
|
progressBar.progress(NbBundle.getMessage(this.getClass(), "VMExtractorIngestModule.queuingIngestJobs.message"));
|
||||||
// this is for progress bar purposes because at this point we only know in advance how many job folders to ingest, not how many data sources.
|
// this is for progress bar purposes because at this point we only know in advance how many job folders to ingest, not how many data sources.
|
||||||
int numJobsQueued = 0;
|
int numJobsQueued = 0;
|
||||||
// keeps track of number of VMs ingested. A job folder may contain multiple VMs.
|
|
||||||
int numDataSourcesQueued = 0;
|
|
||||||
// start processing output folders after we are done writing out all vm files
|
// start processing output folders after we are done writing out all vm files
|
||||||
for (String folder : imageFolderToOutputFolder.values()) {
|
for (String folder : imageFolderToOutputFolder.values()) {
|
||||||
if (context.dataSourceIngestIsCancelled()) {
|
if (context.dataSourceIngestIsCancelled()) {
|
||||||
@ -180,26 +179,25 @@ final class VMExtractorIngestModule extends DataSourceIngestModuleAdapter {
|
|||||||
List<String> vmFilesToIngest = VirtualMachineFinder.identifyVirtualMachines(Paths.get(folder));
|
List<String> vmFilesToIngest = VirtualMachineFinder.identifyVirtualMachines(Paths.get(folder));
|
||||||
for (String file : vmFilesToIngest) {
|
for (String file : vmFilesToIngest) {
|
||||||
try {
|
try {
|
||||||
logger.log(Level.INFO, "Ingesting virtual machine file {0} in folder {1}", new Object[]{file, folder});
|
logger.log(Level.INFO, "Ingesting virtual machine file {0} in folder {1}", new Object[]{file, folder}); //NON-NLS
|
||||||
|
|
||||||
// for extracted virtual machines there is no manifest XML file to read data source ID from so we need to create one
|
// for extracted virtual machines there is no manifest XML file to read data source ID from so use parent data source ID.
|
||||||
numDataSourcesQueued++;
|
|
||||||
String dataSourceID = parentDataSourceId + "-VM" + numDataSourcesQueued;
|
|
||||||
// ingest the data sources
|
// ingest the data sources
|
||||||
ingestVirtualMachineImage(Paths.get(folder, file), dataSourceID);
|
ingestVirtualMachineImage(Paths.get(folder, file), parentDataSourceId);
|
||||||
logger.log(Level.INFO, "Ingest complete for virtual machine file {0} in folder {1}", new Object[]{file, folder});
|
logger.log(Level.INFO, "Ingest complete for virtual machine file {0} in folder {1}", new Object[]{file, folder}); //NON-NLS
|
||||||
} catch (InterruptedException ex) {
|
} catch (InterruptedException ex) {
|
||||||
logger.log(Level.INFO, "Interrupted while ingesting virtual machine file "+file+" in folder "+folder, ex);
|
logger.log(Level.INFO, "Interrupted while ingesting virtual machine file "+file+" in folder "+folder, ex); //NON-NLS
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
logger.log(Level.SEVERE, "Failed to ingest virtual machine file "+file+" in folder "+folder, ex);
|
logger.log(Level.SEVERE, "Failed to ingest virtual machine file "+file+" in folder "+folder, ex); //NON-NLS
|
||||||
MessageNotifyUtil.Notify.error("Failed to ingest virtual machine", String.format("Failed to ingest virtual machine file %s", file));
|
MessageNotifyUtil.Notify.error(NbBundle.getMessage(this.getClass(), "VMExtractorIngestModule.msgNotify.failedIngestVM.title.txt"),
|
||||||
|
NbBundle.getMessage(this.getClass(), "VMExtractorIngestModule.msgNotify.failedIngestVM.msg.txt", file));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Update progress bar
|
// Update progress bar
|
||||||
numJobsQueued++;
|
numJobsQueued++;
|
||||||
progressBar.progress(NbBundle.getMessage(this.getClass(), "VMExtractorIngestModule.queuingIngestJobs.message"), numJobsQueued);
|
progressBar.progress(NbBundle.getMessage(this.getClass(), "VMExtractorIngestModule.queuingIngestJobs.message"), numJobsQueued);
|
||||||
}
|
}
|
||||||
logger.log(Level.INFO, "VMExtractorIngestModule completed processing of data source {0}", dataSource.getName());
|
logger.log(Level.INFO, "VMExtractorIngestModule completed processing of data source {0}", dataSource.getName()); //NON-NLS
|
||||||
return ProcessResult.OK;
|
return ProcessResult.OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -278,7 +276,7 @@ final class VMExtractorIngestModule extends DataSourceIngestModuleAdapter {
|
|||||||
List<Content> dataSourceContent = new ArrayList<>(dspCallback.vmDataSources);
|
List<Content> dataSourceContent = new ArrayList<>(dspCallback.vmDataSources);
|
||||||
IngestJobSettings ingestJobSettings = new IngestJobSettings(context.getExecutionContext());
|
IngestJobSettings ingestJobSettings = new IngestJobSettings(context.getExecutionContext());
|
||||||
for (String warning : ingestJobSettings.getWarnings()) {
|
for (String warning : ingestJobSettings.getWarnings()) {
|
||||||
logger.log(Level.WARNING, String.format("Ingest job settings warning for virtual machine file %s : %s", vmFile.toString(), warning));
|
logger.log(Level.WARNING, String.format("Ingest job settings warning for virtual machine file %s : %s", vmFile.toString(), warning)); //NON-NLS
|
||||||
}
|
}
|
||||||
IngestServices.getInstance().postMessage(IngestMessage.createMessage(IngestMessage.MessageType.INFO,
|
IngestServices.getInstance().postMessage(IngestMessage.createMessage(IngestMessage.MessageType.INFO,
|
||||||
VMExtractorIngestModuleFactory.getModuleName(),
|
VMExtractorIngestModuleFactory.getModuleName(),
|
||||||
@ -333,7 +331,7 @@ final class VMExtractorIngestModule extends DataSourceIngestModuleAdapter {
|
|||||||
@Override
|
@Override
|
||||||
public void done(DataSourceProcessorCallback.DataSourceProcessorResult result, List<String> errList, List<Content> content) {
|
public void done(DataSourceProcessorCallback.DataSourceProcessorResult result, List<String> errList, List<Content> content) {
|
||||||
for (String error : errList) {
|
for (String error : errList) {
|
||||||
String logMessage = String.format("Data source processor error for virtual machine file %s: %s", vmFile.toString(), error);
|
String logMessage = String.format("Data source processor error for virtual machine file %s: %s", vmFile.toString(), error); //NON-NLS
|
||||||
if (DataSourceProcessorCallback.DataSourceProcessorResult.CRITICAL_ERRORS == result) {
|
if (DataSourceProcessorCallback.DataSourceProcessorResult.CRITICAL_ERRORS == result) {
|
||||||
logger.log(Level.SEVERE, logMessage);
|
logger.log(Level.SEVERE, logMessage);
|
||||||
} else {
|
} else {
|
||||||
|
@ -50,7 +50,7 @@ public final class VirtualMachineFinder {
|
|||||||
vmFiltersList.add(virtualMachineFilter);
|
vmFiltersList.add(virtualMachineFilter);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final List<String> VMDK_EXTS = Arrays.asList(new String[]{".vmdk"});
|
private static final List<String> VMDK_EXTS = Arrays.asList(new String[]{".vmdk"}); //NON-NLS
|
||||||
private static final GeneralFilter vmdkFilter = new GeneralFilter(VMDK_EXTS, "");
|
private static final GeneralFilter vmdkFilter = new GeneralFilter(VMDK_EXTS, "");
|
||||||
private static final List<FileFilter> vmdkFiltersList = new ArrayList<>();
|
private static final List<FileFilter> vmdkFiltersList = new ArrayList<>();
|
||||||
|
|
||||||
@ -135,7 +135,7 @@ public final class VirtualMachineFinder {
|
|||||||
// line doesn't have enough fields, can't be an extent descriptor
|
// line doesn't have enough fields, can't be an extent descriptor
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (splited[0].equals("RW") || splited[0].equals("RDONLY") || splited[0].equals("NOACCESS")) {
|
if (splited[0].equals("RW") || splited[0].equals("RDONLY") || splited[0].equals("NOACCESS")) { //NON-NLS
|
||||||
// found an extent descriptor
|
// found an extent descriptor
|
||||||
// remove quotation marks around the file name
|
// remove quotation marks around the file name
|
||||||
String extentFileName = splited[FILE_NAME_FIELD_INDX_IN_EXTENT_DESCRIPTOR].replace("\"", "");
|
String extentFileName = splited[FILE_NAME_FIELD_INDX_IN_EXTENT_DESCRIPTOR].replace("\"", "");
|
||||||
@ -145,7 +145,7 @@ public final class VirtualMachineFinder {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
logger.log(Level.WARNING, String.format("Error while parsing vmdk descriptor file %s", file.toString()), ex);
|
logger.log(Level.WARNING, String.format("Error while parsing vmdk descriptor file %s", file.toString()), ex); //NON-NLS
|
||||||
}
|
}
|
||||||
return extentFiles;
|
return extentFiles;
|
||||||
}
|
}
|
||||||
|
@ -74,7 +74,7 @@ public final class JythonModuleLoader {
|
|||||||
|
|
||||||
// add python modules from 'autospy/build/cluster/InternalPythonModules' folder
|
// add python modules from 'autospy/build/cluster/InternalPythonModules' folder
|
||||||
// which are copied from 'autopsy/*/release/InternalPythonModules' folders.
|
// which are copied from 'autopsy/*/release/InternalPythonModules' folders.
|
||||||
for (File f : InstalledFileLocator.getDefault().locateAll("InternalPythonModules", JythonModuleLoader.class.getPackage().getName(), false)) {
|
for (File f : InstalledFileLocator.getDefault().locateAll("InternalPythonModules", JythonModuleLoader.class.getPackage().getName(), false)) { //NON-NLS
|
||||||
Collections.addAll(pythonModuleDirs, f.listFiles());
|
Collections.addAll(pythonModuleDirs, f.listFiles());
|
||||||
}
|
}
|
||||||
// add python modules from 'testuserdir/python_modules' folder
|
// add python modules from 'testuserdir/python_modules' folder
|
||||||
@ -127,7 +127,7 @@ public final class JythonModuleLoader {
|
|||||||
interpreter.exec("reload(" + moduleName + ")"); //NON-NLS
|
interpreter.exec("reload(" + moduleName + ")"); //NON-NLS
|
||||||
|
|
||||||
// Importing the appropriate class from the Py Script which contains multiple classes.
|
// Importing the appropriate class from the Py Script which contains multiple classes.
|
||||||
interpreter.exec("from " + moduleName + " import " + className);
|
interpreter.exec("from " + moduleName + " import " + className); //NON-NLS
|
||||||
interpreter.exec("obj = " + className + "()"); //NON-NLS
|
interpreter.exec("obj = " + className + "()"); //NON-NLS
|
||||||
|
|
||||||
T obj = interpreter.get("obj", interfaceClass); //NON-NLS
|
T obj = interpreter.get("obj", interfaceClass); //NON-NLS
|
||||||
|
@ -11,11 +11,9 @@ ReportVisualPanel2.advancedButton.text=\u30C7\u30FC\u30BF\u30BF\u30A4\u30D7
|
|||||||
ArtifactSelectionDialog.deselectAllButton.text=\u3059\u3079\u3066\u9078\u629E\u89E3\u9664
|
ArtifactSelectionDialog.deselectAllButton.text=\u3059\u3079\u3066\u9078\u629E\u89E3\u9664
|
||||||
ArtifactSelectionDialog.selectAllButton.text=\u3059\u3079\u3066\u9078\u629E
|
ArtifactSelectionDialog.selectAllButton.text=\u3059\u3079\u3066\u9078\u629E
|
||||||
ReportGenerationPanel.closeButton.text=\u9589\u3058\u308B
|
ReportGenerationPanel.closeButton.text=\u9589\u3058\u308B
|
||||||
ReportGenerationPanel.cancelAllButton.text=\u3059\u3079\u3066\u30AD\u30E3\u30F3\u30BB\u30EB
|
|
||||||
ReportProgressPanel.reportLabel.text=\u30EC\u30DD\u30FC\u30C8\u30E9\u30D9\u30EB
|
ReportProgressPanel.reportLabel.text=\u30EC\u30DD\u30FC\u30C8\u30E9\u30D9\u30EB
|
||||||
ReportProgressPanel.pathLabel.text=\u30D1\u30B9\u30E9\u30D9\u30EB
|
ReportProgressPanel.pathLabel.text=\u30D1\u30B9\u30E9\u30D9\u30EB
|
||||||
ReportProgressPanel.separationLabel.text=-
|
ReportProgressPanel.separationLabel.text=-
|
||||||
ReportProgressPanel.cancelButton.toolTipText=\u30AD\u30E5\u30FC\u30A4\u30F3\u30B0
|
|
||||||
ReportProgressPanel.processingLabel.text=\u30D7\u30ED\u30BB\u30B7\u30F3\u30B0\u30E9\u30D9\u30EB
|
ReportProgressPanel.processingLabel.text=\u30D7\u30ED\u30BB\u30B7\u30F3\u30B0\u30E9\u30D9\u30EB
|
||||||
ReportGenerationPanel.titleLabel.text=\u30EC\u30DD\u30FC\u30C8\u751F\u6210\u30D7\u30ED\u30B0\u30EC\u30B9
|
ReportGenerationPanel.titleLabel.text=\u30EC\u30DD\u30FC\u30C8\u751F\u6210\u30D7\u30ED\u30B0\u30EC\u30B9
|
||||||
ReportVisualPanel2.taggedResultsRadioButton.text=\u30BF\u30B0\u4ED8\u3051\u3055\u308C\u305F\u7D50\u679C
|
ReportVisualPanel2.taggedResultsRadioButton.text=\u30BF\u30B0\u4ED8\u3051\u3055\u308C\u305F\u7D50\u679C
|
||||||
@ -59,7 +57,6 @@ ReportExcel.cellVal.examiner=\u8ABF\u67FB\u62C5\u5F53\u8005\uFF1A
|
|||||||
ReportExcel.cellVal.numImages=\u30A4\u30E1\u30FC\u30B8\u6570\uFF1A
|
ReportExcel.cellVal.numImages=\u30A4\u30E1\u30FC\u30B8\u6570\uFF1A
|
||||||
ReportGenerationPanel.confDlg.sureToClose.msg=\u3053\u306E\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u672C\u5F53\u306B\u9589\u3058\u307E\u3059\u304B\uFF1F\n\u5168\u3066\u306E\u30EC\u30DD\u30FC\u30C8\u304C\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3059\u3002
|
ReportGenerationPanel.confDlg.sureToClose.msg=\u3053\u306E\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u672C\u5F53\u306B\u9589\u3058\u307E\u3059\u304B\uFF1F\n\u5168\u3066\u306E\u30EC\u30DD\u30FC\u30C8\u304C\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3059\u3002
|
||||||
ReportGenerationPanel.confDlg.title.closing=\u9589\u3058\u3066\u3044\u307E\u3059
|
ReportGenerationPanel.confDlg.title.closing=\u9589\u3058\u3066\u3044\u307E\u3059
|
||||||
ReportGenerationPanel.confDlg.cancelReports.msg=\u5168\u3066\u306E\u30EC\u30DD\u30FC\u30C8\u3092\u672C\u5F53\u306B\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u307E\u3059\u304B\uFF1F
|
|
||||||
ReportGenerator.displayProgress.title.text=\u30EC\u30DD\u30FC\u30C8\u751F\u6210\u30D7\u30ED\u30B0\u30EC\u30B9\u2026
|
ReportGenerator.displayProgress.title.text=\u30EC\u30DD\u30FC\u30C8\u751F\u6210\u30D7\u30ED\u30B0\u30EC\u30B9\u2026
|
||||||
ReportGenerator.progress.queryingDb.text=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u30AF\u30A8\u30EA\u3092\u5B9F\u884C\u4E2D\u2026
|
ReportGenerator.progress.queryingDb.text=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u30AF\u30A8\u30EA\u3092\u5B9F\u884C\u4E2D\u2026
|
||||||
ReportGenerator.progress.processingFile.text={0}\u3092\u51E6\u7406\u4E2D
|
ReportGenerator.progress.processingFile.text={0}\u3092\u51E6\u7406\u4E2D
|
||||||
@ -180,7 +177,6 @@ ReportWizardPanel1.finishButton.text=\u7D42\u4E86
|
|||||||
ReportWizardPanel2.finishButton.text=\u7D42\u4E86
|
ReportWizardPanel2.finishButton.text=\u7D42\u4E86
|
||||||
ReportHTML.writeSum.reportGenOn.text={0}\u306BHTML\u30EC\u30DD\u30FC\u30C8\u306F\u751F\u6210\u3055\u308C\u307E\u3057\u305F
|
ReportHTML.writeSum.reportGenOn.text={0}\u306BHTML\u30EC\u30DD\u30FC\u30C8\u306F\u751F\u6210\u3055\u308C\u307E\u3057\u305F
|
||||||
ReportHTML.writeSum.noCaseNum=<i>\u30B1\u30FC\u30B9\u756A\u53F7\u304C\u3042\u308A\u307E\u305B\u3093</i>
|
ReportHTML.writeSum.noCaseNum=<i>\u30B1\u30FC\u30B9\u756A\u53F7\u304C\u3042\u308A\u307E\u305B\u3093</i>
|
||||||
ReportProgressPanel.cancelButton.text=\u30AD\u30E3\u30F3\u30BB\u30EB
|
|
||||||
ReportGenerator.errors.reportErrorTitle=\u30EC\u30DD\u30FC\u30C8\u751F\u6210\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
ReportGenerator.errors.reportErrorTitle=\u30EC\u30DD\u30FC\u30C8\u751F\u6210\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
||||||
ReportGenerator.errors.reportErrorText=\u30EC\u30DD\u30FC\u30C8\u751F\u6210\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A
|
ReportGenerator.errors.reportErrorText=\u30EC\u30DD\u30FC\u30C8\u751F\u6210\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A
|
||||||
ReportKML.getDesc.text=\u95A2\u9023\u30D5\u30A1\u30A4\u30EB\u306E\u5EA7\u6A19\u3092\u542B\u3080KML\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u30EC\u30DD\u30FC\u30C8\u3002\u3053\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306FGoogle Earth\u30D3\u30E5\u30FC\u306B\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002
|
ReportKML.getDesc.text=\u95A2\u9023\u30D5\u30A1\u30A4\u30EB\u306E\u5EA7\u6A19\u3092\u542B\u3080KML\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u30EC\u30DD\u30FC\u30C8\u3002\u3053\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306FGoogle Earth\u30D3\u30E5\u30FC\u306B\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002
|
||||||
|
@ -157,7 +157,7 @@ class ReportGenerationPanel extends javax.swing.JPanel {
|
|||||||
|
|
||||||
reportScrollPane.setViewportView(reportPanel);
|
reportScrollPane.setViewportView(reportPanel);
|
||||||
|
|
||||||
titleLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
|
titleLabel.setFont(titleLabel.getFont().deriveFont(Font.BOLD, 11));
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(titleLabel, org.openide.util.NbBundle.getMessage(ReportGenerationPanel.class, "ReportGenerationPanel.titleLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(titleLabel, org.openide.util.NbBundle.getMessage(ReportGenerationPanel.class, "ReportGenerationPanel.titleLabel.text")); // NOI18N
|
||||||
|
|
||||||
titleSeparator.setForeground(new java.awt.Color(0, 0, 0));
|
titleSeparator.setForeground(new java.awt.Color(0, 0, 0));
|
||||||
|
@ -308,12 +308,12 @@ public class ReportProgressPanel extends javax.swing.JPanel {
|
|||||||
|
|
||||||
setMinimumSize(new java.awt.Dimension(486, 68));
|
setMinimumSize(new java.awt.Dimension(486, 68));
|
||||||
|
|
||||||
reportLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
|
reportLabel.setFont(reportLabel.getFont().deriveFont(Font.BOLD, 11));
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(reportLabel, org.openide.util.NbBundle.getMessage(ReportProgressPanel.class, "ReportProgressPanel.reportLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(reportLabel, org.openide.util.NbBundle.getMessage(ReportProgressPanel.class, "ReportProgressPanel.reportLabel.text")); // NOI18N
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(pathLabel, org.openide.util.NbBundle.getMessage(ReportProgressPanel.class, "ReportProgressPanel.pathLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(pathLabel, org.openide.util.NbBundle.getMessage(ReportProgressPanel.class, "ReportProgressPanel.pathLabel.text")); // NOI18N
|
||||||
|
|
||||||
processingLabel.setFont(new java.awt.Font("Tahoma", 2, 10)); // NOI18N
|
processingLabel.setFont(processingLabel.getFont().deriveFont(Font.ITALIC, 10));
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(processingLabel, org.openide.util.NbBundle.getMessage(ReportProgressPanel.class, "ReportProgressPanel.processingLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(processingLabel, org.openide.util.NbBundle.getMessage(ReportProgressPanel.class, "ReportProgressPanel.processingLabel.text")); // NOI18N
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(separationLabel, org.openide.util.NbBundle.getMessage(ReportProgressPanel.class, "ReportProgressPanel.separationLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(separationLabel, org.openide.util.NbBundle.getMessage(ReportProgressPanel.class, "ReportProgressPanel.separationLabel.text")); // NOI18N
|
||||||
|
@ -143,7 +143,7 @@ final class ReportVisualPanel1 extends JPanel implements ListSelectionListener {
|
|||||||
|
|
||||||
private void popupWarning(ReportModule module) {
|
private void popupWarning(ReportModule module) {
|
||||||
String moduleClassName = module.getClass().getSimpleName();
|
String moduleClassName = module.getClass().getSimpleName();
|
||||||
logger.log(Level.WARNING, "Invalid ReportModule: {0}", moduleClassName); // NON_NLS
|
logger.log(Level.WARNING, "Invalid ReportModule: {0}", moduleClassName); // NON_NLS NON-NLS
|
||||||
DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(
|
DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(
|
||||||
NbBundle.getMessage(ReportVisualPanel1.class, "ReportVisualPanel1.invalidModuleWarning", moduleClassName),
|
NbBundle.getMessage(ReportVisualPanel1.class, "ReportVisualPanel1.invalidModuleWarning", moduleClassName),
|
||||||
NotifyDescriptor.ERROR_MESSAGE));
|
NotifyDescriptor.ERROR_MESSAGE));
|
||||||
|
@ -85,16 +85,16 @@ public class FXMLConstructor {
|
|||||||
try {
|
try {
|
||||||
fxmlLoader.load();
|
fxmlLoader.load();
|
||||||
} catch (IOException exception) {
|
} catch (IOException exception) {
|
||||||
LOGGER.log(Level.SEVERE, "FXMLConstructor was unable to load FXML, falling back on default Class Loader, and trying again.", exception);
|
LOGGER.log(Level.SEVERE, "FXMLConstructor was unable to load FXML, falling back on default Class Loader, and trying again.", exception); //NON-NLS
|
||||||
try {
|
try {
|
||||||
fxmlLoader.setClassLoader(FXMLLoader.getDefaultClassLoader());
|
fxmlLoader.setClassLoader(FXMLLoader.getDefaultClassLoader());
|
||||||
fxmlLoader.load();
|
fxmlLoader.load();
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
LOGGER.log(Level.SEVERE, "FXMLConstructor was unable to load FXML, node initialization may not be complete.", ex);
|
LOGGER.log(Level.SEVERE, "FXMLConstructor was unable to load FXML, node initialization may not be complete.", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (MalformedURLException ex) {
|
} catch (MalformedURLException ex) {
|
||||||
LOGGER.log(Level.SEVERE, "FXMLConstructor was unable to load FXML, node initialization may not be complete.", ex);
|
LOGGER.log(Level.SEVERE, "FXMLConstructor was unable to load FXML, node initialization may not be complete.", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ public class PromptDialogManager {
|
|||||||
try {
|
try {
|
||||||
x = new Image(new URL("nbresloc:/org/netbeans/core/startup/frame.gif").openStream()); //NOI18N
|
x = new Image(new URL("nbresloc:/org/netbeans/core/startup/frame.gif").openStream()); //NOI18N
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
LOGGER.log(Level.WARNING, "Failed to load branded icon for progress dialog.", ex); //NOI18N
|
LOGGER.log(Level.WARNING, "Failed to load branded icon for progress dialog.", ex); //NOI18N NON-NLS
|
||||||
}
|
}
|
||||||
LOGO = x;
|
LOGO = x;
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,7 @@ import org.sleuthkit.autopsy.timeline.TimeLineController;
|
|||||||
*/
|
*/
|
||||||
public class ZoomIn extends Action {
|
public class ZoomIn extends Action {
|
||||||
|
|
||||||
private static final Image MAGNIFIER_IN = new Image("/org/sleuthkit/autopsy/timeline/images/magnifier-zoom-in-green.png"); //NOI18N
|
private static final Image MAGNIFIER_IN = new Image("/org/sleuthkit/autopsy/timeline/images/magnifier-zoom-in-green.png"); //NOI18N NON-NLS
|
||||||
|
|
||||||
@NbBundle.Messages({"ZoomIn.longText=Zoom in to view about half as much time.",
|
@NbBundle.Messages({"ZoomIn.longText=Zoom in to view about half as much time.",
|
||||||
"ZoomIn.action.text=Zoom in"})
|
"ZoomIn.action.text=Zoom in"})
|
||||||
|
@ -31,7 +31,7 @@ import org.sleuthkit.autopsy.timeline.datamodel.FilteredEventsModel;
|
|||||||
*/
|
*/
|
||||||
public class ZoomOut extends Action {
|
public class ZoomOut extends Action {
|
||||||
|
|
||||||
private static final Image MAGNIFIER_OUT = new Image("/org/sleuthkit/autopsy/timeline/images/magnifier-zoom-out-red.png"); //NOI18N
|
private static final Image MAGNIFIER_OUT = new Image("/org/sleuthkit/autopsy/timeline/images/magnifier-zoom-out-red.png"); //NOI18N NON-NLS
|
||||||
|
|
||||||
@NbBundle.Messages({"ZoomOut.longText=Zoom out to view about 50% more time.",
|
@NbBundle.Messages({"ZoomOut.longText=Zoom out to view about 50% more time.",
|
||||||
"ZoomOut.action.text=Zoom out"})
|
"ZoomOut.action.text=Zoom out"})
|
||||||
|
@ -31,7 +31,7 @@ import org.sleuthkit.autopsy.timeline.datamodel.FilteredEventsModel;
|
|||||||
*/
|
*/
|
||||||
public class ZoomToEvents extends Action {
|
public class ZoomToEvents extends Action {
|
||||||
|
|
||||||
private static final Image MAGNIFIER_OUT = new Image("/org/sleuthkit/autopsy/timeline/images/magnifier-zoom-out-red.png", 16, 16, true, true); //NOI18N
|
private static final Image MAGNIFIER_OUT = new Image("/org/sleuthkit/autopsy/timeline/images/magnifier-zoom-out-red.png", 16, 16, true, true); //NOI18N NON-NLS
|
||||||
|
|
||||||
@NbBundle.Messages({"ZoomToEvents.action.text=Zoom to events",
|
@NbBundle.Messages({"ZoomToEvents.action.text=Zoom to events",
|
||||||
"ZoomToEvents.longText=Zoom out to show the nearest events."})
|
"ZoomToEvents.longText=Zoom out to show the nearest events."})
|
||||||
|
@ -191,6 +191,6 @@ public final class EventStripe implements EventBundle<EventCluster> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "EventStripe{" + "description=" + description + ", eventIDs=" + eventIDs.size() + '}';
|
return "EventStripe{" + "description=" + description + ", eventIDs=" + eventIDs.size() + '}'; //NON-NLS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -111,7 +111,7 @@ public final class FilteredEventsModel {
|
|||||||
@GuardedBy("this")
|
@GuardedBy("this")
|
||||||
private final ReadOnlyObjectWrapper<ZoomParams> requestedZoomParamters = new ReadOnlyObjectWrapper<>();
|
private final ReadOnlyObjectWrapper<ZoomParams> requestedZoomParamters = new ReadOnlyObjectWrapper<>();
|
||||||
|
|
||||||
private final EventBus eventbus = new EventBus("Event_Repository_EventBus");
|
private final EventBus eventbus = new EventBus("Event_Repository_EventBus"); //NON-NLS
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The underlying repo for events. Atomic access to repo is synchronized
|
* The underlying repo for events. Atomic access to repo is synchronized
|
||||||
@ -374,7 +374,7 @@ public final class FilteredEventsModel {
|
|||||||
Set<Long> updatedEventIDs = repo.deleteTag(content.getId(), null, deletedTagInfo.getTagID(), tagged);
|
Set<Long> updatedEventIDs = repo.deleteTag(content.getId(), null, deletedTagInfo.getTagID(), tagged);
|
||||||
return postTagsUpdated(updatedEventIDs);
|
return postTagsUpdated(updatedEventIDs);
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
LOGGER.log(Level.SEVERE, "unable to determine tagged status of content.", ex);
|
LOGGER.log(Level.SEVERE, "unable to determine tagged status of content.", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -387,7 +387,7 @@ public final class FilteredEventsModel {
|
|||||||
Set<Long> updatedEventIDs = repo.deleteTag(artifact.getObjectID(), artifact.getArtifactID(), deletedTagInfo.getTagID(), tagged);
|
Set<Long> updatedEventIDs = repo.deleteTag(artifact.getObjectID(), artifact.getArtifactID(), deletedTagInfo.getTagID(), tagged);
|
||||||
return postTagsUpdated(updatedEventIDs);
|
return postTagsUpdated(updatedEventIDs);
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
LOGGER.log(Level.SEVERE, "unable to determine tagged status of artifact.", ex);
|
LOGGER.log(Level.SEVERE, "unable to determine tagged status of artifact.", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -137,7 +137,7 @@ public enum MiscTypes implements EventType, ArtifactEventType {
|
|||||||
return file.getName();
|
return file.getName();
|
||||||
}
|
}
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
Logger.getLogger(MiscTypes.class.getName()).log(Level.SEVERE, "Exif event type failed to look up backing file name", ex);
|
Logger.getLogger(MiscTypes.class.getName()).log(Level.SEVERE, "Exif event type failed to look up backing file name", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
return " error loading file name"; // NON-NLS
|
return " error loading file name"; // NON-NLS
|
||||||
}),
|
}),
|
||||||
|
@ -232,7 +232,7 @@ public class EventDB {
|
|||||||
return rs.getInt("count"); // NON-NLS
|
return rs.getInt("count"); // NON-NLS
|
||||||
}
|
}
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
LOGGER.log(Level.SEVERE, "Error counting all events", ex);
|
LOGGER.log(Level.SEVERE, "Error counting all events", ex); //NON-NLS
|
||||||
} finally {
|
} finally {
|
||||||
DBLock.unlock();
|
DBLock.unlock();
|
||||||
}
|
}
|
||||||
@ -270,15 +270,15 @@ public class EventDB {
|
|||||||
HashMap<String, Long> counts = new HashMap<>();
|
HashMap<String, Long> counts = new HashMap<>();
|
||||||
DBLock.lock();
|
DBLock.lock();
|
||||||
try (Statement createStatement = con.createStatement();
|
try (Statement createStatement = con.createStatement();
|
||||||
ResultSet rs = createStatement.executeQuery("SELECT tag_name_display_name, COUNT(DISTINCT tag_id) AS count FROM tags"
|
ResultSet rs = createStatement.executeQuery("SELECT tag_name_display_name, COUNT(DISTINCT tag_id) AS count FROM tags" //NON-NLS
|
||||||
+ " WHERE event_id IN (" + StringUtils.join(eventIDsWithTags, ", ") + ")"
|
+ " WHERE event_id IN (" + StringUtils.join(eventIDsWithTags, ", ") + ")" //NON-NLS
|
||||||
+ " GROUP BY tag_name_id"
|
+ " GROUP BY tag_name_id" //NON-NLS
|
||||||
+ " ORDER BY tag_name_display_name");) {
|
+ " ORDER BY tag_name_display_name");) { //NON-NLS
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
counts.put(rs.getString("tag_name_display_name"), rs.getLong("count"));
|
counts.put(rs.getString("tag_name_display_name"), rs.getLong("count")); //NON-NLS
|
||||||
}
|
}
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
LOGGER.log(Level.SEVERE, "Failed to get tag counts by tag name.", ex);
|
LOGGER.log(Level.SEVERE, "Failed to get tag counts by tag name.", ex); //NON-NLS
|
||||||
} finally {
|
} finally {
|
||||||
DBLock.unlock();
|
DBLock.unlock();
|
||||||
}
|
}
|
||||||
@ -327,7 +327,7 @@ public class EventDB {
|
|||||||
final String sqlWhere = SQLHelper.getSQLWhere(filter);
|
final String sqlWhere = SQLHelper.getSQLWhere(filter);
|
||||||
DBLock.lock();
|
DBLock.lock();
|
||||||
try (Statement stmt = con.createStatement(); //can't use prepared statement because of complex where clause
|
try (Statement stmt = con.createStatement(); //can't use prepared statement because of complex where clause
|
||||||
ResultSet rs = stmt.executeQuery(" SELECT (SELECT Max(time) FROM events " + useHashHitTablesHelper(filter) + useTagTablesHelper(filter) + " WHERE time <=" + start + " AND " + sqlWhere + ") AS start,"
|
ResultSet rs = stmt.executeQuery(" SELECT (SELECT Max(time) FROM events " + useHashHitTablesHelper(filter) + useTagTablesHelper(filter) + " WHERE time <=" + start + " AND " + sqlWhere + ") AS start," //NON-NLS
|
||||||
+ "(SELECT Min(time) FROM events" + useHashHitTablesHelper(filter) + useTagTablesHelper(filter) + " WHERE time >= " + end + " AND " + sqlWhere + ") AS end")) { // NON-NLS
|
+ "(SELECT Min(time) FROM events" + useHashHitTablesHelper(filter) + useTagTablesHelper(filter) + " WHERE time >= " + end + " AND " + sqlWhere + ") AS end")) { // NON-NLS
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
|
|
||||||
@ -382,7 +382,7 @@ public class EventDB {
|
|||||||
try (Statement stmt = con.createStatement();
|
try (Statement stmt = con.createStatement();
|
||||||
ResultSet rs = stmt.executeQuery(query)) {
|
ResultSet rs = stmt.executeQuery(query)) {
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
resultIDs.add(rs.getLong("event_id"));
|
resultIDs.add(rs.getLong("event_id")); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (SQLException sqlEx) {
|
} catch (SQLException sqlEx) {
|
||||||
@ -416,7 +416,7 @@ public class EventDB {
|
|||||||
DBLock.lock();
|
DBLock.lock();
|
||||||
try (ResultSet rs = getDataSourceIDsStmt.executeQuery()) {
|
try (ResultSet rs = getDataSourceIDsStmt.executeQuery()) {
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
long datasourceID = rs.getLong("datasource_id");
|
long datasourceID = rs.getLong("datasource_id"); //NON-NLS
|
||||||
hashSet.add(datasourceID);
|
hashSet.add(datasourceID);
|
||||||
}
|
}
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
@ -432,8 +432,8 @@ public class EventDB {
|
|||||||
DBLock.lock();
|
DBLock.lock();
|
||||||
try (ResultSet rs = getHashSetNamesStmt.executeQuery();) {
|
try (ResultSet rs = getHashSetNamesStmt.executeQuery();) {
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
long hashSetID = rs.getLong("hash_set_id");
|
long hashSetID = rs.getLong("hash_set_id"); //NON-NLS
|
||||||
String hashSetName = rs.getString("hash_set_name");
|
String hashSetName = rs.getString("hash_set_name"); //NON-NLS
|
||||||
hashSets.put(hashSetID, hashSetName);
|
hashSets.put(hashSetID, hashSetName);
|
||||||
}
|
}
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
@ -447,7 +447,7 @@ public class EventDB {
|
|||||||
void analyze() {
|
void analyze() {
|
||||||
DBLock.lock();
|
DBLock.lock();
|
||||||
try (Statement createStatement = con.createStatement()) {
|
try (Statement createStatement = con.createStatement()) {
|
||||||
boolean b = createStatement.execute("analyze; analyze sqlite_master;");
|
boolean b = createStatement.execute("analyze; analyze sqlite_master;"); //NON-NLS
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
LOGGER.log(Level.SEVERE, "Failed to analyze events db.", ex); // NON-NLS
|
LOGGER.log(Level.SEVERE, "Failed to analyze events db.", ex); // NON-NLS
|
||||||
} finally {
|
} finally {
|
||||||
@ -575,35 +575,35 @@ public class EventDB {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try (Statement stmt = con.createStatement()) {
|
try (Statement stmt = con.createStatement()) {
|
||||||
String sql = "CREATE TABLE if not exists hash_sets "
|
String sql = "CREATE TABLE if not exists hash_sets " //NON-NLS
|
||||||
+ "( hash_set_id INTEGER primary key,"
|
+ "( hash_set_id INTEGER primary key," //NON-NLS
|
||||||
+ " hash_set_name VARCHAR(255) UNIQUE NOT NULL)";
|
+ " hash_set_name VARCHAR(255) UNIQUE NOT NULL)"; //NON-NLS
|
||||||
stmt.execute(sql);
|
stmt.execute(sql);
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
LOGGER.log(Level.SEVERE, "problem creating hash_sets table", ex);
|
LOGGER.log(Level.SEVERE, "problem creating hash_sets table", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
try (Statement stmt = con.createStatement()) {
|
try (Statement stmt = con.createStatement()) {
|
||||||
String sql = "CREATE TABLE if not exists hash_set_hits "
|
String sql = "CREATE TABLE if not exists hash_set_hits " //NON-NLS
|
||||||
+ "(hash_set_id INTEGER REFERENCES hash_sets(hash_set_id) not null, "
|
+ "(hash_set_id INTEGER REFERENCES hash_sets(hash_set_id) not null, " //NON-NLS
|
||||||
+ " event_id INTEGER REFERENCES events(event_id) not null, "
|
+ " event_id INTEGER REFERENCES events(event_id) not null, " //NON-NLS
|
||||||
+ " PRIMARY KEY (hash_set_id, event_id))";
|
+ " PRIMARY KEY (hash_set_id, event_id))"; //NON-NLS
|
||||||
stmt.execute(sql);
|
stmt.execute(sql);
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
LOGGER.log(Level.SEVERE, "problem creating hash_set_hits table", ex);
|
LOGGER.log(Level.SEVERE, "problem creating hash_set_hits table", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
initializeTagsTable();
|
initializeTagsTable();
|
||||||
|
|
||||||
createIndex("events", Arrays.asList("datasource_id"));
|
createIndex("events", Arrays.asList("datasource_id")); //NON-NLS
|
||||||
createIndex("events", Arrays.asList("event_id", "hash_hit"));
|
createIndex("events", Arrays.asList("event_id", "hash_hit")); //NON-NLS
|
||||||
createIndex("events", Arrays.asList("event_id", "tagged"));
|
createIndex("events", Arrays.asList("event_id", "tagged")); //NON-NLS
|
||||||
createIndex("events", Arrays.asList("file_id"));
|
createIndex("events", Arrays.asList("file_id")); //NON-NLS
|
||||||
createIndex("events", Arrays.asList("artifact_id"));
|
createIndex("events", Arrays.asList("artifact_id")); //NON-NLS
|
||||||
createIndex("events", Arrays.asList("sub_type", "short_description", "time"));
|
createIndex("events", Arrays.asList("sub_type", "short_description", "time")); //NON-NLS
|
||||||
createIndex("events", Arrays.asList("base_type", "short_description", "time"));
|
createIndex("events", Arrays.asList("base_type", "short_description", "time")); //NON-NLS
|
||||||
createIndex("events", Arrays.asList("time"));
|
createIndex("events", Arrays.asList("time")); //NON-NLS
|
||||||
createIndex("events", Arrays.asList("known_state"));
|
createIndex("events", Arrays.asList("known_state")); //NON-NLS
|
||||||
|
|
||||||
try {
|
try {
|
||||||
insertRowStmt = prepareStatement(
|
insertRowStmt = prepareStatement(
|
||||||
@ -616,19 +616,19 @@ public class EventDB {
|
|||||||
getEventByIDStmt = prepareStatement("SELECT * FROM events WHERE event_id = ?"); // NON-NLS
|
getEventByIDStmt = prepareStatement("SELECT * FROM events WHERE event_id = ?"); // NON-NLS
|
||||||
recordDBInfoStmt = prepareStatement("INSERT OR REPLACE INTO db_info (key, value) values (?, ?)"); // NON-NLS
|
recordDBInfoStmt = prepareStatement("INSERT OR REPLACE INTO db_info (key, value) values (?, ?)"); // NON-NLS
|
||||||
getDBInfoStmt = prepareStatement("SELECT value FROM db_info WHERE key = ?"); // NON-NLS
|
getDBInfoStmt = prepareStatement("SELECT value FROM db_info WHERE key = ?"); // NON-NLS
|
||||||
insertHashSetStmt = prepareStatement("INSERT OR IGNORE INTO hash_sets (hash_set_name) values (?)");
|
insertHashSetStmt = prepareStatement("INSERT OR IGNORE INTO hash_sets (hash_set_name) values (?)"); //NON-NLS
|
||||||
selectHashSetStmt = prepareStatement("SELECT hash_set_id FROM hash_sets WHERE hash_set_name = ?");
|
selectHashSetStmt = prepareStatement("SELECT hash_set_id FROM hash_sets WHERE hash_set_name = ?"); //NON-NLS
|
||||||
insertHashHitStmt = prepareStatement("INSERT OR IGNORE INTO hash_set_hits (hash_set_id, event_id) values (?,?)");
|
insertHashHitStmt = prepareStatement("INSERT OR IGNORE INTO hash_set_hits (hash_set_id, event_id) values (?,?)"); //NON-NLS
|
||||||
insertTagStmt = prepareStatement("INSERT OR IGNORE INTO tags (tag_id, tag_name_id,tag_name_display_name, event_id) values (?,?,?,?)");
|
insertTagStmt = prepareStatement("INSERT OR IGNORE INTO tags (tag_id, tag_name_id,tag_name_display_name, event_id) values (?,?,?,?)"); //NON-NLS
|
||||||
deleteTagStmt = prepareStatement("DELETE FROM tags WHERE tag_id = ?");
|
deleteTagStmt = prepareStatement("DELETE FROM tags WHERE tag_id = ?"); //NON-NLS
|
||||||
countAllEventsStmt = prepareStatement("SELECT count(*) AS count FROM events");
|
countAllEventsStmt = prepareStatement("SELECT count(*) AS count FROM events"); //NON-NLS
|
||||||
dropEventsTableStmt = prepareStatement("DROP TABLE IF EXISTS events");
|
dropEventsTableStmt = prepareStatement("DROP TABLE IF EXISTS events"); //NON-NLS
|
||||||
dropHashSetHitsTableStmt = prepareStatement("DROP TABLE IF EXISTS hash_set_hits");
|
dropHashSetHitsTableStmt = prepareStatement("DROP TABLE IF EXISTS hash_set_hits"); //NON-NLS
|
||||||
dropHashSetsTableStmt = prepareStatement("DROP TABLE IF EXISTS hash_sets");
|
dropHashSetsTableStmt = prepareStatement("DROP TABLE IF EXISTS hash_sets"); //NON-NLS
|
||||||
dropTagsTableStmt = prepareStatement("DROP TABLE IF EXISTS tags");
|
dropTagsTableStmt = prepareStatement("DROP TABLE IF EXISTS tags"); //NON-NLS
|
||||||
dropDBInfoTableStmt = prepareStatement("DROP TABLE IF EXISTS db_ino");
|
dropDBInfoTableStmt = prepareStatement("DROP TABLE IF EXISTS db_ino"); //NON-NLS
|
||||||
selectNonArtifactEventIDsByObjectIDStmt = prepareStatement("SELECT event_id FROM events WHERE file_id == ? AND artifact_id IS NULL");
|
selectNonArtifactEventIDsByObjectIDStmt = prepareStatement("SELECT event_id FROM events WHERE file_id == ? AND artifact_id IS NULL"); //NON-NLS
|
||||||
selectEventIDsBYObjectAndArtifactIDStmt = prepareStatement("SELECT event_id FROM events WHERE file_id == ? AND artifact_id = ?");
|
selectEventIDsBYObjectAndArtifactIDStmt = prepareStatement("SELECT event_id FROM events WHERE file_id == ? AND artifact_id = ?"); //NON-NLS
|
||||||
} catch (SQLException sQLException) {
|
} catch (SQLException sQLException) {
|
||||||
LOGGER.log(Level.SEVERE, "failed to prepareStatment", sQLException); // NON-NLS
|
LOGGER.log(Level.SEVERE, "failed to prepareStatment", sQLException); // NON-NLS
|
||||||
}
|
}
|
||||||
@ -643,15 +643,15 @@ public class EventDB {
|
|||||||
*/
|
*/
|
||||||
private void initializeTagsTable() {
|
private void initializeTagsTable() {
|
||||||
try (Statement stmt = con.createStatement()) {
|
try (Statement stmt = con.createStatement()) {
|
||||||
String sql = "CREATE TABLE IF NOT EXISTS tags "
|
String sql = "CREATE TABLE IF NOT EXISTS tags " //NON-NLS
|
||||||
+ "(tag_id INTEGER NOT NULL,"
|
+ "(tag_id INTEGER NOT NULL," //NON-NLS
|
||||||
+ " tag_name_id INTEGER NOT NULL, "
|
+ " tag_name_id INTEGER NOT NULL, " //NON-NLS
|
||||||
+ " tag_name_display_name TEXT NOT NULL, "
|
+ " tag_name_display_name TEXT NOT NULL, " //NON-NLS
|
||||||
+ " event_id INTEGER REFERENCES events(event_id) NOT NULL, "
|
+ " event_id INTEGER REFERENCES events(event_id) NOT NULL, " //NON-NLS
|
||||||
+ " PRIMARY KEY (event_id, tag_name_id))";
|
+ " PRIMARY KEY (event_id, tag_name_id))"; //NON-NLS
|
||||||
stmt.execute(sql);
|
stmt.execute(sql);
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
LOGGER.log(Level.SEVERE, "problem creating tags table", ex);
|
LOGGER.log(Level.SEVERE, "problem creating tags table", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -662,7 +662,7 @@ public class EventDB {
|
|||||||
*/
|
*/
|
||||||
private void createIndex(final String tableName, final List<String> columnList) {
|
private void createIndex(final String tableName, final List<String> columnList) {
|
||||||
String indexColumns = columnList.stream().collect(Collectors.joining(",", "(", ")"));
|
String indexColumns = columnList.stream().collect(Collectors.joining(",", "(", ")"));
|
||||||
String indexName = tableName + "_" + StringUtils.join(columnList, "_") + "_idx";
|
String indexName = tableName + "_" + StringUtils.join(columnList, "_") + "_idx"; //NON-NLS
|
||||||
try (Statement stmt = con.createStatement()) {
|
try (Statement stmt = con.createStatement()) {
|
||||||
|
|
||||||
String sql = "CREATE INDEX IF NOT EXISTS " + indexName + " ON " + tableName + indexColumns; // NON-NLS
|
String sql = "CREATE INDEX IF NOT EXISTS " + indexName + " ON " + tableName + indexColumns; // NON-NLS
|
||||||
@ -680,7 +680,7 @@ public class EventDB {
|
|||||||
private boolean hasDBColumn(@Nonnull final String dbColumn) {
|
private boolean hasDBColumn(@Nonnull final String dbColumn) {
|
||||||
try (Statement stmt = con.createStatement()) {
|
try (Statement stmt = con.createStatement()) {
|
||||||
|
|
||||||
ResultSet executeQuery = stmt.executeQuery("PRAGMA table_info(events)");
|
ResultSet executeQuery = stmt.executeQuery("PRAGMA table_info(events)"); //NON-NLS
|
||||||
while (executeQuery.next()) {
|
while (executeQuery.next()) {
|
||||||
if (dbColumn.equals(executeQuery.getString("name"))) {
|
if (dbColumn.equals(executeQuery.getString("name"))) {
|
||||||
return true;
|
return true;
|
||||||
@ -693,15 +693,15 @@ public class EventDB {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean hasDataSourceIDColumn() {
|
private boolean hasDataSourceIDColumn() {
|
||||||
return hasDBColumn("datasource_id");
|
return hasDBColumn("datasource_id"); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean hasTaggedColumn() {
|
private boolean hasTaggedColumn() {
|
||||||
return hasDBColumn("tagged");
|
return hasDBColumn("tagged"); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean hasHashHitColumn() {
|
private boolean hasHashHitColumn() {
|
||||||
return hasDBColumn("hash_hit");
|
return hasDBColumn("hash_hit"); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
void insertEvent(long time, EventType type, long datasourceID, long objID,
|
void insertEvent(long time, EventType type, long datasourceID, long objID,
|
||||||
@ -764,7 +764,7 @@ public class EventDB {
|
|||||||
|
|
||||||
try (ResultSet generatedKeys = insertRowStmt.getGeneratedKeys()) {
|
try (ResultSet generatedKeys = insertRowStmt.getGeneratedKeys()) {
|
||||||
while (generatedKeys.next()) {
|
while (generatedKeys.next()) {
|
||||||
long eventID = generatedKeys.getLong("last_insert_rowid()");
|
long eventID = generatedKeys.getLong("last_insert_rowid()"); //NON-NLS
|
||||||
for (String name : hashSetNames) {
|
for (String name : hashSetNames) {
|
||||||
|
|
||||||
// "insert or ignore into hash_sets (hash_set_name) values (?)"
|
// "insert or ignore into hash_sets (hash_set_name) values (?)"
|
||||||
@ -776,7 +776,7 @@ public class EventDB {
|
|||||||
selectHashSetStmt.setString(1, name);
|
selectHashSetStmt.setString(1, name);
|
||||||
try (ResultSet rs = selectHashSetStmt.executeQuery()) {
|
try (ResultSet rs = selectHashSetStmt.executeQuery()) {
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
int hashsetID = rs.getInt("hash_set_id");
|
int hashsetID = rs.getInt("hash_set_id"); //NON-NLS
|
||||||
//"insert or ignore into hash_set_hits (hash_set_id, obj_id) values (?,?)";
|
//"insert or ignore into hash_set_hits (hash_set_id, obj_id) values (?,?)";
|
||||||
insertHashHitStmt.setInt(1, hashsetID);
|
insertHashHitStmt.setInt(1, hashsetID);
|
||||||
insertHashHitStmt.setLong(2, eventID);
|
insertHashHitStmt.setLong(2, eventID);
|
||||||
@ -925,14 +925,14 @@ public class EventDB {
|
|||||||
HashSet<Long> eventIDs = new HashSet<>();
|
HashSet<Long> eventIDs = new HashSet<>();
|
||||||
try (ResultSet executeQuery = selectStmt.executeQuery();) {
|
try (ResultSet executeQuery = selectStmt.executeQuery();) {
|
||||||
while (executeQuery.next()) {
|
while (executeQuery.next()) {
|
||||||
eventIDs.add(executeQuery.getLong("event_id"));
|
eventIDs.add(executeQuery.getLong("event_id")); //NON-NLS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//update tagged state for all event with selected ids
|
//update tagged state for all event with selected ids
|
||||||
try (Statement updateStatement = con.createStatement();) {
|
try (Statement updateStatement = con.createStatement();) {
|
||||||
updateStatement.executeUpdate("UPDATE events SET tagged = " + (tagged ? 1 : 0)
|
updateStatement.executeUpdate("UPDATE events SET tagged = " + (tagged ? 1 : 0) //NON-NLS
|
||||||
+ " WHERE event_id IN (" + StringUtils.join(eventIDs, ",") + ")");
|
+ " WHERE event_id IN (" + StringUtils.join(eventIDs, ",") + ")"); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
return eventIDs;
|
return eventIDs;
|
||||||
@ -986,22 +986,22 @@ public class EventDB {
|
|||||||
SQLiteJDBCLoader.getVersion(), SQLiteJDBCLoader.isNativeMode()
|
SQLiteJDBCLoader.getVersion(), SQLiteJDBCLoader.isNativeMode()
|
||||||
? "native" : "pure-java")); // NON-NLS
|
? "native" : "pure-java")); // NON-NLS
|
||||||
} catch (Exception exception) {
|
} catch (Exception exception) {
|
||||||
LOGGER.log(Level.SEVERE, "Failed to determine if sqlite-jdbc is loaded in native or pure-java mode.", exception);
|
LOGGER.log(Level.SEVERE, "Failed to determine if sqlite-jdbc is loaded in native or pure-java mode.", exception); //NON-NLS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private TimeLineEvent constructTimeLineEvent(ResultSet rs) throws SQLException {
|
private TimeLineEvent constructTimeLineEvent(ResultSet rs) throws SQLException {
|
||||||
return new TimeLineEvent(rs.getLong("event_id"),
|
return new TimeLineEvent(rs.getLong("event_id"), //NON-NLS
|
||||||
rs.getLong("datasource_id"),
|
rs.getLong("datasource_id"), //NON-NLS
|
||||||
rs.getLong("file_id"),
|
rs.getLong("file_id"), //NON-NLS
|
||||||
rs.getLong("artifact_id"),
|
rs.getLong("artifact_id"), //NON-NLS
|
||||||
rs.getLong("time"), RootEventType.allTypes.get(rs.getInt("sub_type")),
|
rs.getLong("time"), RootEventType.allTypes.get(rs.getInt("sub_type")), //NON-NLS
|
||||||
rs.getString("full_description"),
|
rs.getString("full_description"), //NON-NLS
|
||||||
rs.getString("med_description"),
|
rs.getString("med_description"), //NON-NLS
|
||||||
rs.getString("short_description"),
|
rs.getString("short_description"), //NON-NLS
|
||||||
TskData.FileKnown.valueOf(rs.getByte("known_state")),
|
TskData.FileKnown.valueOf(rs.getByte("known_state")), //NON-NLS
|
||||||
rs.getInt("hash_hit") != 0,
|
rs.getInt("hash_hit") != 0, //NON-NLS
|
||||||
rs.getInt("tagged") != 0);
|
rs.getInt("tagged") != 0); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1031,7 +1031,7 @@ public class EventDB {
|
|||||||
final boolean useSubTypes = (zoomLevel == EventTypeZoomLevel.SUB_TYPE);
|
final boolean useSubTypes = (zoomLevel == EventTypeZoomLevel.SUB_TYPE);
|
||||||
|
|
||||||
//get some info about the range of dates requested
|
//get some info about the range of dates requested
|
||||||
final String queryString = "SELECT count(DISTINCT events.event_id) AS count, " + typeColumnHelper(useSubTypes)
|
final String queryString = "SELECT count(DISTINCT events.event_id) AS count, " + typeColumnHelper(useSubTypes) //NON-NLS
|
||||||
+ " FROM events" + useHashHitTablesHelper(filter) + useTagTablesHelper(filter) + " WHERE time >= " + startTime + " AND time < " + endTime + " AND " + SQLHelper.getSQLWhere(filter) // NON-NLS
|
+ " FROM events" + useHashHitTablesHelper(filter) + useTagTablesHelper(filter) + " WHERE time >= " + startTime + " AND time < " + endTime + " AND " + SQLHelper.getSQLWhere(filter) // NON-NLS
|
||||||
+ " GROUP BY " + typeColumnHelper(useSubTypes); // NON-NLS
|
+ " GROUP BY " + typeColumnHelper(useSubTypes); // NON-NLS
|
||||||
|
|
||||||
@ -1040,8 +1040,8 @@ public class EventDB {
|
|||||||
ResultSet rs = stmt.executeQuery(queryString);) {
|
ResultSet rs = stmt.executeQuery(queryString);) {
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
EventType type = useSubTypes
|
EventType type = useSubTypes
|
||||||
? RootEventType.allTypes.get(rs.getInt("sub_type"))
|
? RootEventType.allTypes.get(rs.getInt("sub_type")) //NON-NLS
|
||||||
: BaseTypes.values()[rs.getInt("base_type")];
|
: BaseTypes.values()[rs.getInt("base_type")]; //NON-NLS
|
||||||
|
|
||||||
typeMap.put(type, rs.getLong("count")); // NON-NLS
|
typeMap.put(type, rs.getLong("count")); // NON-NLS
|
||||||
}
|
}
|
||||||
@ -1090,9 +1090,9 @@ public class EventDB {
|
|||||||
|
|
||||||
//compose query string, the new-lines are only for nicer formatting if printing the entire query
|
//compose query string, the new-lines are only for nicer formatting if printing the entire query
|
||||||
String query = "SELECT strftime('" + strfTimeFormat + "',time , 'unixepoch'" + timeZone + ") AS interval," // NON-NLS
|
String query = "SELECT strftime('" + strfTimeFormat + "',time , 'unixepoch'" + timeZone + ") AS interval," // NON-NLS
|
||||||
+ "\n group_concat(events.event_id) as event_ids,"
|
+ "\n group_concat(events.event_id) as event_ids," //NON-NLS
|
||||||
+ "\n group_concat(CASE WHEN hash_hit = 1 THEN events.event_id ELSE NULL END) as hash_hits,"
|
+ "\n group_concat(CASE WHEN hash_hit = 1 THEN events.event_id ELSE NULL END) as hash_hits," //NON-NLS
|
||||||
+ "\n group_concat(CASE WHEN tagged = 1 THEN events.event_id ELSE NULL END) as taggeds,"
|
+ "\n group_concat(CASE WHEN tagged = 1 THEN events.event_id ELSE NULL END) as taggeds," //NON-NLS
|
||||||
+ "\n min(time), max(time), " + typeColumn + ", " + descriptionColumn // NON-NLS
|
+ "\n min(time), max(time), " + typeColumn + ", " + descriptionColumn // NON-NLS
|
||||||
+ "\n FROM events" + useHashHitTablesHelper(filter) + useTagTablesHelper(filter) // NON-NLS
|
+ "\n FROM events" + useHashHitTablesHelper(filter) + useTagTablesHelper(filter) // NON-NLS
|
||||||
+ "\n WHERE time >= " + start + " AND time < " + end + " AND " + SQLHelper.getSQLWhere(filter) // NON-NLS
|
+ "\n WHERE time >= " + start + " AND time < " + end + " AND " + SQLHelper.getSQLWhere(filter) // NON-NLS
|
||||||
@ -1101,7 +1101,7 @@ public class EventDB {
|
|||||||
|
|
||||||
switch (Version.getBuildType()) {
|
switch (Version.getBuildType()) {
|
||||||
case DEVELOPMENT:
|
case DEVELOPMENT:
|
||||||
LOGGER.log(Level.INFO, "executing timeline query: {0}", query);
|
LOGGER.log(Level.INFO, "executing timeline query: {0}", query); //NON-NLS
|
||||||
break;
|
break;
|
||||||
case RELEASE:
|
case RELEASE:
|
||||||
default:
|
default:
|
||||||
@ -1145,8 +1145,8 @@ public class EventDB {
|
|||||||
String description = rs.getString(SQLHelper.getDescriptionColumn(descriptionLOD));
|
String description = rs.getString(SQLHelper.getDescriptionColumn(descriptionLOD));
|
||||||
EventType type = useSubTypes ? RootEventType.allTypes.get(rs.getInt("sub_type")) : BaseTypes.values()[rs.getInt("base_type")];// NON-NLS
|
EventType type = useSubTypes ? RootEventType.allTypes.get(rs.getInt("sub_type")) : BaseTypes.values()[rs.getInt("base_type")];// NON-NLS
|
||||||
|
|
||||||
Set<Long> hashHits = SQLHelper.unGroupConcat(rs.getString("hash_hits"), Long::valueOf);
|
Set<Long> hashHits = SQLHelper.unGroupConcat(rs.getString("hash_hits"), Long::valueOf); //NON-NLS
|
||||||
Set<Long> tagged = SQLHelper.unGroupConcat(rs.getString("taggeds"), Long::valueOf);
|
Set<Long> tagged = SQLHelper.unGroupConcat(rs.getString("taggeds"), Long::valueOf); //NON-NLS
|
||||||
|
|
||||||
return new EventCluster(interval, type, eventIDs, hashHits, tagged,
|
return new EventCluster(interval, type, eventIDs, hashHits, tagged,
|
||||||
description, descriptionLOD);
|
description, descriptionLOD);
|
||||||
@ -1217,7 +1217,7 @@ public class EventDB {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static String typeColumnHelper(final boolean useSubTypes) {
|
private static String typeColumnHelper(final boolean useSubTypes) {
|
||||||
return useSubTypes ? "sub_type" : "base_type";
|
return useSubTypes ? "sub_type" : "base_type"; //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
private long getDBInfo(DBInfoKey key, long defaultValue) {
|
private long getDBInfo(DBInfoKey key, long defaultValue) {
|
||||||
|
@ -97,7 +97,7 @@ public class EventsRepository {
|
|||||||
|
|
||||||
private final static Logger LOGGER = Logger.getLogger(EventsRepository.class.getName());
|
private final static Logger LOGGER = Logger.getLogger(EventsRepository.class.getName());
|
||||||
|
|
||||||
private final Executor workerExecutor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("eventrepository-worker-%d").build());
|
private final Executor workerExecutor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("eventrepository-worker-%d").build()); //NON-NLS
|
||||||
private DBPopulationWorker dbWorker;
|
private DBPopulationWorker dbWorker;
|
||||||
private final EventDB eventDB;
|
private final EventDB eventDB;
|
||||||
private final Case autoCase;
|
private final Case autoCase;
|
||||||
@ -218,7 +218,7 @@ public class EventsRepository {
|
|||||||
try {
|
try {
|
||||||
return eventStripeCache.get(params);
|
return eventStripeCache.get(params);
|
||||||
} catch (ExecutionException ex) {
|
} catch (ExecutionException ex) {
|
||||||
LOGGER.log(Level.SEVERE, "Failed to load Event Stripes from cache for " + params.toString(), ex);
|
LOGGER.log(Level.SEVERE, "Failed to load Event Stripes from cache for " + params.toString(), ex); //NON-NLS
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -275,7 +275,7 @@ public class EventsRepository {
|
|||||||
try {
|
try {
|
||||||
datasourcesMap.putIfAbsent(id, skCase.getContentById(id).getDataSource().getName());
|
datasourcesMap.putIfAbsent(id, skCase.getContentById(id).getDataSource().getName());
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
LOGGER.log(Level.SEVERE, "Failed to get datasource by ID.", ex);
|
LOGGER.log(Level.SEVERE, "Failed to get datasource by ID.", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -283,7 +283,7 @@ public class EventsRepository {
|
|||||||
//should this only be tags applied to files or event bearing artifacts?
|
//should this only be tags applied to files or event bearing artifacts?
|
||||||
tagNames.setAll(skCase.getTagNamesInUse());
|
tagNames.setAll(skCase.getTagNamesInUse());
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
LOGGER.log(Level.SEVERE, "Failed to get tag names in use.", ex);
|
LOGGER.log(Level.SEVERE, "Failed to get tag names in use.", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -310,7 +310,7 @@ public class EventsRepository {
|
|||||||
try {
|
try {
|
||||||
tagNames.setAll(autoCase.getSleuthkitCase().getTagNamesInUse());
|
tagNames.setAll(autoCase.getSleuthkitCase().getTagNamesInUse());
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
LOGGER.log(Level.SEVERE, "Failed to get tag names in use.", ex);
|
LOGGER.log(Level.SEVERE, "Failed to get tag names in use.", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -368,7 +368,7 @@ public class EventsRepository {
|
|||||||
*/
|
*/
|
||||||
@ThreadConfined(type = ThreadConfined.ThreadType.JFX)
|
@ThreadConfined(type = ThreadConfined.ThreadType.JFX)
|
||||||
private CancellationProgressTask<Void> rebuildRepository(final DBPopulationMode mode) {
|
private CancellationProgressTask<Void> rebuildRepository(final DBPopulationMode mode) {
|
||||||
LOGGER.log(Level.INFO, "(re)starting {0} db population task", mode);
|
LOGGER.log(Level.INFO, "(re)starting {0} db population task", mode); //NON-NLS
|
||||||
if (dbWorker != null) {
|
if (dbWorker != null) {
|
||||||
dbWorker.cancel();
|
dbWorker.cancel();
|
||||||
}
|
}
|
||||||
@ -481,7 +481,7 @@ public class EventsRepository {
|
|||||||
//reset database //TODO: can we do more incremental updates? -jm
|
//reset database //TODO: can we do more incremental updates? -jm
|
||||||
eventDB.reInitializeDB();
|
eventDB.reInitializeDB();
|
||||||
//grab ids of all files
|
//grab ids of all files
|
||||||
List<Long> fileIDs = skCase.findAllFileIdsWhere("name != '.' AND name != '..'");
|
List<Long> fileIDs = skCase.findAllFileIdsWhere("name != '.' AND name != '..'"); //NON-NLS
|
||||||
final int numFiles = fileIDs.size();
|
final int numFiles = fileIDs.size();
|
||||||
|
|
||||||
trans = eventDB.beginTransaction();
|
trans = eventDB.beginTransaction();
|
||||||
@ -635,7 +635,7 @@ public class EventsRepository {
|
|||||||
try {
|
try {
|
||||||
get();
|
get();
|
||||||
} catch (CancellationException ex) {
|
} catch (CancellationException ex) {
|
||||||
LOGGER.log(Level.WARNING, "Timeline database population was cancelled by the user. "
|
LOGGER.log(Level.WARNING, "Timeline database population was cancelled by the user. " //NON-NLS
|
||||||
+ " Not all events may be present or accurate."); // NON-NLS
|
+ " Not all events may be present or accurate."); // NON-NLS
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
LOGGER.log(Level.WARNING, "Unexpected exception while populating database.", ex); // NON-NLS
|
LOGGER.log(Level.WARNING, "Unexpected exception while populating database.", ex); // NON-NLS
|
||||||
|
@ -62,12 +62,12 @@ class SQLHelper {
|
|||||||
|
|
||||||
static String useHashHitTablesHelper(RootFilter filter) {
|
static String useHashHitTablesHelper(RootFilter filter) {
|
||||||
HashHitsFilter hashHitFilter = filter.getHashHitsFilter();
|
HashHitsFilter hashHitFilter = filter.getHashHitsFilter();
|
||||||
return hashHitFilter.isActive() ? " LEFT JOIN hash_set_hits " : " ";
|
return hashHitFilter.isActive() ? " LEFT JOIN hash_set_hits " : " "; //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
static String useTagTablesHelper(RootFilter filter) {
|
static String useTagTablesHelper(RootFilter filter) {
|
||||||
TagsFilter tagsFilter = filter.getTagsFilter();
|
TagsFilter tagsFilter = filter.getTagsFilter();
|
||||||
return tagsFilter.isActive() ? " LEFT JOIN tags " : " ";
|
return tagsFilter.isActive() ? " LEFT JOIN tags " : " "; //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -93,13 +93,13 @@ class SQLHelper {
|
|||||||
return filter.getSubFilters().stream()
|
return filter.getSubFilters().stream()
|
||||||
.filter(Filter::isSelected)
|
.filter(Filter::isSelected)
|
||||||
.map(SQLHelper::getSQLWhere)
|
.map(SQLHelper::getSQLWhere)
|
||||||
.collect(Collectors.joining(" and ", "( ", ")"));
|
.collect(Collectors.joining(" and ", "( ", ")")); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String getSQLWhere(UnionFilter<?> filter) {
|
private static String getSQLWhere(UnionFilter<?> filter) {
|
||||||
return filter.getSubFilters().stream()
|
return filter.getSubFilters().stream()
|
||||||
.filter(Filter::isSelected).map(SQLHelper::getSQLWhere)
|
.filter(Filter::isSelected).map(SQLHelper::getSQLWhere)
|
||||||
.collect(Collectors.joining(" or ", "( ", ")"));
|
.collect(Collectors.joining(" or ", "( ", ")")); //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
static String getSQLWhere(RootFilter filter) {
|
static String getSQLWhere(RootFilter filter) {
|
||||||
@ -143,7 +143,7 @@ class SQLHelper {
|
|||||||
} else {
|
} else {
|
||||||
throw new IllegalArgumentException("getSQLWhere not defined for " + filter.getClass().getCanonicalName());
|
throw new IllegalArgumentException("getSQLWhere not defined for " + filter.getClass().getCanonicalName());
|
||||||
}
|
}
|
||||||
result = StringUtils.deleteWhitespace(result).equals("(1and1and1)") ? "1" : result;
|
result = StringUtils.deleteWhitespace(result).equals("(1and1and1)") ? "1" : result; //NON-NLS
|
||||||
result = StringUtils.deleteWhitespace(result).equals("()") ? "1" : result;
|
result = StringUtils.deleteWhitespace(result).equals("()") ? "1" : result;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -158,7 +158,7 @@ class SQLHelper {
|
|||||||
|
|
||||||
private static String getSQLWhere(DescriptionFilter filter) {
|
private static String getSQLWhere(DescriptionFilter filter) {
|
||||||
if (filter.isActive()) {
|
if (filter.isActive()) {
|
||||||
String likeOrNotLike = (filter.getFilterMode() == DescriptionFilter.FilterMode.INCLUDE ? "" : " NOT") + " LIKE '";
|
String likeOrNotLike = (filter.getFilterMode() == DescriptionFilter.FilterMode.INCLUDE ? "" : " NOT") + " LIKE '"; //NON-NLS
|
||||||
return "(" + getDescriptionColumn(filter.getDescriptionLoD()) + likeOrNotLike + filter.getDescription() + "' )"; // NON-NLS
|
return "(" + getDescriptionColumn(filter.getDescriptionLoD()) + likeOrNotLike + filter.getDescription() + "' )"; // NON-NLS
|
||||||
} else {
|
} else {
|
||||||
return "1";
|
return "1";
|
||||||
@ -172,8 +172,8 @@ class SQLHelper {
|
|||||||
.filter((TagNameFilter t) -> t.isSelected() && !t.isDisabled())
|
.filter((TagNameFilter t) -> t.isSelected() && !t.isDisabled())
|
||||||
.map((TagNameFilter t) -> String.valueOf(t.getTagName().getId()))
|
.map((TagNameFilter t) -> String.valueOf(t.getTagName().getId()))
|
||||||
.collect(Collectors.joining(", ", "(", ")"));
|
.collect(Collectors.joining(", ", "(", ")"));
|
||||||
return "(events.event_id == tags.event_id AND "
|
return "(events.event_id == tags.event_id AND " //NON-NLS
|
||||||
+ "tags.tag_name_id IN " + tagNameIDs + ") ";
|
+ "tags.tag_name_id IN " + tagNameIDs + ") "; //NON-NLS
|
||||||
} else {
|
} else {
|
||||||
return "1";
|
return "1";
|
||||||
}
|
}
|
||||||
@ -187,7 +187,7 @@ class SQLHelper {
|
|||||||
.filter((HashSetFilter t) -> t.isSelected() && !t.isDisabled())
|
.filter((HashSetFilter t) -> t.isSelected() && !t.isDisabled())
|
||||||
.map((HashSetFilter t) -> String.valueOf(t.getHashSetID()))
|
.map((HashSetFilter t) -> String.valueOf(t.getHashSetID()))
|
||||||
.collect(Collectors.joining(", ", "(", ")"));
|
.collect(Collectors.joining(", ", "(", ")"));
|
||||||
return "(hash_set_hits.hash_set_id IN " + hashSetIDs + " AND hash_set_hits.event_id == events.event_id)";
|
return "(hash_set_hits.hash_set_id IN " + hashSetIDs + " AND hash_set_hits.event_id == events.event_id)"; //NON-NLS
|
||||||
} else {
|
} else {
|
||||||
return "1";
|
return "1";
|
||||||
}
|
}
|
||||||
@ -195,14 +195,14 @@ class SQLHelper {
|
|||||||
|
|
||||||
private static String getSQLWhere(DataSourceFilter filter) {
|
private static String getSQLWhere(DataSourceFilter filter) {
|
||||||
if (filter.isActive()) {
|
if (filter.isActive()) {
|
||||||
return "(datasource_id = '" + filter.getDataSourceID() + "')";
|
return "(datasource_id = '" + filter.getDataSourceID() + "')"; //NON-NLS
|
||||||
} else {
|
} else {
|
||||||
return "1";
|
return "1";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String getSQLWhere(DataSourcesFilter filter) {
|
private static String getSQLWhere(DataSourcesFilter filter) {
|
||||||
return (filter.isActive()) ? "(datasource_id in ("
|
return (filter.isActive()) ? "(datasource_id in (" //NON-NLS
|
||||||
+ filter.getSubFilters().stream()
|
+ filter.getSubFilters().stream()
|
||||||
.filter(AbstractFilter::isActive)
|
.filter(AbstractFilter::isActive)
|
||||||
.map((dataSourceFilter) -> String.valueOf(dataSourceFilter.getDataSourceID()))
|
.map((dataSourceFilter) -> String.valueOf(dataSourceFilter.getDataSourceID()))
|
||||||
@ -215,9 +215,9 @@ class SQLHelper {
|
|||||||
return "1";
|
return "1";
|
||||||
}
|
}
|
||||||
String strippedFilterText = StringUtils.strip(filter.getText());
|
String strippedFilterText = StringUtils.strip(filter.getText());
|
||||||
return "((med_description like '%" + strippedFilterText + "%')"
|
return "((med_description like '%" + strippedFilterText + "%')" //NON-NLS
|
||||||
+ " or (full_description like '%" + strippedFilterText + "%')"
|
+ " or (full_description like '%" + strippedFilterText + "%')" //NON-NLS
|
||||||
+ " or (short_description like '%" + strippedFilterText + "%'))";
|
+ " or (short_description like '%" + strippedFilterText + "%'))"; //NON-NLS
|
||||||
} else {
|
} else {
|
||||||
return "1";
|
return "1";
|
||||||
}
|
}
|
||||||
@ -240,7 +240,7 @@ class SQLHelper {
|
|||||||
return "1"; //then collapse clause to true
|
return "1"; //then collapse clause to true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "(sub_type IN (" + StringUtils.join(getActiveSubTypes(typeFilter), ",") + "))";
|
return "(sub_type IN (" + StringUtils.join(getActiveSubTypes(typeFilter), ",") + "))"; //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<Integer> getActiveSubTypes(TypeFilter filter) {
|
private static List<Integer> getActiveSubTypes(TypeFilter filter) {
|
||||||
@ -288,12 +288,12 @@ class SQLHelper {
|
|||||||
static String getDescriptionColumn(DescriptionLoD lod) {
|
static String getDescriptionColumn(DescriptionLoD lod) {
|
||||||
switch (lod) {
|
switch (lod) {
|
||||||
case FULL:
|
case FULL:
|
||||||
return "full_description";
|
return "full_description"; //NON-NLS
|
||||||
case MEDIUM:
|
case MEDIUM:
|
||||||
return "med_description";
|
return "med_description"; //NON-NLS
|
||||||
case SHORT:
|
case SHORT:
|
||||||
default:
|
default:
|
||||||
return "short_description";
|
return "short_description"; //NON-NLS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ class EventNode extends DisplayableItemNode {
|
|||||||
try {
|
try {
|
||||||
timePropery.setValue(getDateTimeString());
|
timePropery.setValue(getDateTimeString());
|
||||||
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) {
|
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) {
|
||||||
LOGGER.log(Level.SEVERE, "unexpected error setting date/time property on EventNode explorer node", ex);
|
LOGGER.log(Level.SEVERE, "unexpected error setting date/time property on EventNode explorer node", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -121,11 +121,15 @@ class EventNode extends DisplayableItemNode {
|
|||||||
throw new UnsupportedOperationException("Not supported yet."); // NON-NLS //To change body of generated methods, choose Tools | Templates.
|
throw new UnsupportedOperationException("Not supported yet."); // NON-NLS //To change body of generated methods, choose Tools | Templates.
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/*
|
||||||
public String getItemType() {
|
* TODO (AUT-1849): Correct or remove peristent column reordering code
|
||||||
return "Event";
|
*
|
||||||
}
|
* Added to support this feature.
|
||||||
|
*/
|
||||||
|
// @Override
|
||||||
|
// public String getItemType() {
|
||||||
|
// return "Event";
|
||||||
|
// }
|
||||||
/**
|
/**
|
||||||
* We use TimeProperty instead of a normal NodeProperty to correctly display
|
* We use TimeProperty instead of a normal NodeProperty to correctly display
|
||||||
* the date/time when the user changes the timezone setting.
|
* the date/time when the user changes the timezone setting.
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user