From 7a0bb1e22b5ce66bcac3de869d07db6fd07b2c00 Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Tue, 24 Jun 2014 16:00:50 -0400 Subject: [PATCH 01/16] Fix error message format error --- .../src/org/sleuthkit/autopsy/recentactivity/Extract.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Extract.java b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Extract.java index 4d47d924c8..b1302a182e 100644 --- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Extract.java +++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Extract.java @@ -90,7 +90,7 @@ abstract class Extract { BlackboardArtifact bbart = content.newArtifact(type); bbart.addAttributes(bbattributes); } catch (TskException ex) { - logger.log(Level.SEVERE, "Error while trying to add an artifact: {0}", ex); //NON-NLS + logger.log(Level.SEVERE, "Error while trying to add an artifact", ex); //NON-NLS } } From 00548bd71fb68dcb8ba1177b9dcbafb6e7ae47b8 Mon Sep 17 00:00:00 2001 From: Brian Carrier Date: Fri, 27 Jun 2014 09:48:20 -0400 Subject: [PATCH 02/16] Added scroll bars to hash and extension option panels --- .../FileExtMismatchSettingsPanel.form | 539 +++++++------ .../FileExtMismatchSettingsPanel.java | 53 +- .../hashdatabase/HashLookupSettingsPanel.form | 726 +++++++++--------- .../hashdatabase/HashLookupSettingsPanel.java | 137 ++-- 4 files changed, 782 insertions(+), 673 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/FileExtMismatchSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/FileExtMismatchSettingsPanel.form index dc2898697c..397f707b31 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/FileExtMismatchSettingsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/FileExtMismatchSettingsPanel.form @@ -16,64 +16,29 @@ - - - - - - - - - - - - - - + - - - - - - - + + - - - - - - - - - - - - - - - - - - + - + - - - - - - + + + + + + @@ -81,240 +46,316 @@ - - + + + - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - + - + - - - + - - + + + + + + - + - + - - - + - - - - - - + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + - + - - - - - - - - + @@ -322,15 +363,5 @@ - - - - - - - - - - diff --git a/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/FileExtMismatchSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/FileExtMismatchSettingsPanel.java index 46f683f666..4db5faacca 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/FileExtMismatchSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/FileExtMismatchSettingsPanel.java @@ -132,6 +132,8 @@ final class FileExtMismatchSettingsPanel extends IngestModuleGlobalSettingsPanel // //GEN-BEGIN:initComponents private void initComponents() { + jScrollPane1 = new javax.swing.JScrollPane(); + jPanel1 = new javax.swing.JPanel(); saveButton = new javax.swing.JButton(); jSplitPane1 = new javax.swing.JSplitPane(); mimePanel = new javax.swing.JPanel(); @@ -154,7 +156,9 @@ final class FileExtMismatchSettingsPanel extends IngestModuleGlobalSettingsPanel extRemoveErrLabel = new javax.swing.JLabel(); saveMsgLabel = new javax.swing.JLabel(); - saveButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/fileextmismatch/save16.png"))); // NOI18N NON-NLS + 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.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.saveButton.text")); // NOI18N saveButton.setEnabled(false); saveButton.addActionListener(new java.awt.event.ActionListener() { @@ -234,7 +238,7 @@ final class FileExtMismatchSettingsPanel extends IngestModuleGlobalSettingsPanel .addComponent(removeTypeButton) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(mimeRemoveErrLabel) - .addContainerGap(45, Short.MAX_VALUE)) + .addContainerGap(47, Short.MAX_VALUE)) ); jSplitPane1.setLeftComponent(mimePanel); @@ -286,7 +290,7 @@ final class FileExtMismatchSettingsPanel extends IngestModuleGlobalSettingsPanel .addComponent(userExtTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(addExtButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) - .addGap(0, 66, Short.MAX_VALUE)) + .addGap(0, 46, Short.MAX_VALUE)) .addComponent(extErrorLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(extRemoveErrLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) @@ -316,31 +320,46 @@ final class FileExtMismatchSettingsPanel extends IngestModuleGlobalSettingsPanel saveMsgLabel.setForeground(new java.awt.Color(0, 0, 255)); saveMsgLabel.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSettingsPanel.class, "FileExtMismatchSettingsPanel.saveMsgLabel.text")); // NOI18N - javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() + javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); + jPanel1.setLayout(jPanel1Layout); + jPanel1Layout.setHorizontalGroup( + jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jSplitPane1) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 667, Short.MAX_VALUE) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() .addGap(0, 0, Short.MAX_VALUE) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(saveButton, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(saveMsgLabel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 145, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addContainerGap()) ); - layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() + jPanel1Layout.setVerticalGroup( + jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(jSplitPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(saveButton) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(saveMsgLabel) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addContainerGap()) + ); + + jScrollPane1.setViewportView(jPanel1); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); + this.setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane1) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 482, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 8, Short.MAX_VALUE)) ); }// //GEN-END:initComponents @@ -591,6 +610,8 @@ final class FileExtMismatchSettingsPanel extends IngestModuleGlobalSettingsPanel private javax.swing.JTable extTable; private javax.swing.JPanel extensionPanel; private javax.swing.JLabel jLabel1; + private javax.swing.JPanel jPanel1; + private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JScrollPane jScrollPane3; private javax.swing.JSplitPane jSplitPane1; diff --git a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashLookupSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashLookupSettingsPanel.form index 60f3b01512..3f08531859 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashLookupSettingsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashLookupSettingsPanel.form @@ -36,10 +36,10 @@ - + - + @@ -57,78 +57,9 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -136,291 +67,394 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - + - + - - - - - - - - - - + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashLookupSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashLookupSettingsPanel.java index a4fac19c67..61155edb82 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashLookupSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashLookupSettingsPanel.java @@ -450,6 +450,8 @@ public final class HashLookupSettingsPanel extends IngestModuleGlobalSettingsPan jLabel4 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); jButton3 = new javax.swing.JButton(); + jScrollPane2 = new javax.swing.JScrollPane(); + jPanel1 = new javax.swing.JPanel(); ingestWarningLabel = new javax.swing.JLabel(); jScrollPane1 = new javax.swing.JScrollPane(); hashSetTable = new HashSetTable(); @@ -480,13 +482,15 @@ public final class HashLookupSettingsPanel extends IngestModuleGlobalSettingsPan org.openide.awt.Mnemonics.setLocalizedText(jLabel6, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.jLabel6.text")); // NOI18N - jButton3.setFont(jButton3.getFont().deriveFont(Font.PLAIN, 14)); + jButton3.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(jButton3, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.jButton3.text")); // NOI18N - setMinimumSize(new java.awt.Dimension(700, 500)); - setPreferredSize(new java.awt.Dimension(700, 500)); + setMinimumSize(new java.awt.Dimension(700, 430)); + setPreferredSize(new java.awt.Dimension(700, 430)); - ingestWarningLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/hashdatabase/warning16.png"))); // NOI18N NON-NLS + jPanel1.setPreferredSize(new java.awt.Dimension(671, 430)); + + ingestWarningLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/hashdatabase/warning16.png"))); // 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( @@ -506,7 +510,7 @@ public final class HashLookupSettingsPanel extends IngestModuleGlobalSettingsPan }); jScrollPane1.setViewportView(hashSetTable); - deleteDatabaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/hashdatabase/delete16.png"))); // NOI18N NON-NLS + deleteDatabaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/hashdatabase/delete16.png"))); // 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.setMinimumSize(new java.awt.Dimension(140, 25)); @@ -517,7 +521,7 @@ public final class HashLookupSettingsPanel extends IngestModuleGlobalSettingsPan } }); - importDatabaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/hashdatabase/import16.png"))); // NOI18N NON-NLS + importDatabaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/hashdatabase/import16.png"))); // 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.setMinimumSize(new java.awt.Dimension(140, 25)); @@ -565,7 +569,7 @@ public final class HashLookupSettingsPanel extends IngestModuleGlobalSettingsPan 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 NON-NLS + createDatabaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/hashdatabase/new16.png"))); // 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.setMinimumSize(new java.awt.Dimension(140, 25)); @@ -580,117 +584,134 @@ public final class HashLookupSettingsPanel extends IngestModuleGlobalSettingsPan org.openide.awt.Mnemonics.setLocalizedText(indexPathLabel, org.openide.util.NbBundle.getMessage(HashLookupSettingsPanel.class, "HashLookupSettingsPanel.indexPathLabel.text")); // NOI18N - javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() + javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); + jPanel1.setLayout(jPanel1Layout); + jPanel1Layout.setHorizontalGroup( + jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addGroup(jPanel1Layout.createSequentialGroup() + .addComponent(createDatabaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(importDatabaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 133, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addGap(10, 10, 10) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(informationLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(informationSeparator)) .addComponent(ingestWarningLabel) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() .addGap(10, 10, 10) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(locationLabel) .addComponent(indexButton, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(typeLabel) .addComponent(indexLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(indexPathLabelLabel)) .addGap(10, 10, 10) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(hashDbTypeLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 241, Short.MAX_VALUE) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(hashDbTypeLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(hashDbLocationLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(indexPathLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(hashDbIndexStatusLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) - .addGroup(layout.createSequentialGroup() + .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(nameLabel) .addGap(53, 53, 53) .addComponent(hashDbNameLabel) .addGap(0, 0, Short.MAX_VALUE)))) - .addGroup(layout.createSequentialGroup() + .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(optionsLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(optionsSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 324, javax.swing.GroupLayout.PREFERRED_SIZE)))) - .addGroup(layout.createSequentialGroup() + .addGroup(jPanel1Layout.createSequentialGroup() .addGap(23, 23, 23) .addComponent(sendIngestMessagesCheckBox) .addGap(0, 0, Short.MAX_VALUE)))) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(hashDatabasesLabel) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addComponent(deleteDatabaseButton, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) - .addComponent(createDatabaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(importDatabaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 133, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addComponent(deleteDatabaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(0, 0, Short.MAX_VALUE))) - .addGap(24, 24, 24)) + .addContainerGap()) ); - layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() + jPanel1Layout.setVerticalGroup( + jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(hashDatabasesLabel) .addGap(6, 6, 6) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(informationLabel) - .addGroup(layout.createSequentialGroup() + .addGroup(jPanel1Layout.createSequentialGroup() .addGap(7, 7, 7) .addComponent(informationSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 3, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGap(7, 7, 7) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(nameLabel) .addComponent(hashDbNameLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(typeLabel) .addComponent(hashDbTypeLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(locationLabel) .addComponent(hashDbLocationLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(indexPathLabelLabel) .addComponent(indexPathLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(indexLabel) .addComponent(hashDbIndexStatusLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(indexButton) .addGap(18, 18, 18) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(optionsLabel) .addComponent(optionsSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 6, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addComponent(sendIngestMessagesCheckBox) .addGap(18, 18, 18) - .addComponent(ingestWarningLabel) - .addGap(0, 0, Short.MAX_VALUE)) - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 391, Short.MAX_VALUE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(ingestWarningLabel)) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 304, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(importDatabaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(createDatabaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(deleteDatabaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap()) + .addContainerGap(33, Short.MAX_VALUE)) + ); + + jScrollPane2.setViewportView(jPanel1); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); + this.setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 690, Short.MAX_VALUE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 410, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); }// //GEN-END:initComponents @@ -792,7 +813,9 @@ public final class HashLookupSettingsPanel extends IngestModuleGlobalSettingsPan private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel6; + private javax.swing.JPanel jPanel1; private javax.swing.JScrollPane jScrollPane1; + private javax.swing.JScrollPane jScrollPane2; private javax.swing.JLabel locationLabel; private javax.swing.JLabel nameLabel; private javax.swing.JLabel optionsLabel; From 2e10254a2e1596d3888b2dc186c077b3af3e83de Mon Sep 17 00:00:00 2001 From: Brian Carrier Date: Fri, 27 Jun 2014 10:45:06 -0400 Subject: [PATCH 03/16] Added comment about a bug in the reporting code --- .../src/org/sleuthkit/autopsy/report/ReportGenerator.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/report/ReportGenerator.java b/Core/src/org/sleuthkit/autopsy/report/ReportGenerator.java index 27bc5b3b3f..fa78abaa02 100644 --- a/Core/src/org/sleuthkit/autopsy/report/ReportGenerator.java +++ b/Core/src/org/sleuthkit/autopsy/report/ReportGenerator.java @@ -845,7 +845,11 @@ import org.sleuthkit.datamodel.TskData; private void writeKeywordHits(List tableModules, String comment, HashSet tagNamesFilter) { ResultSet listsRs = null; try { - // Query for keyword lists + // Query for keyword lists-only so that we can tell modules what lists + // will exist for their index. + // @@@ There is a bug in here. We should use the tags in the below code + // so that we only report the lists that we will later provide with real + // hits. If no keyord hits are tagged, then we make the page for nothing. listsRs = skCase.runQuery("SELECT att.value_text AS list " + //NON-NLS "FROM blackboard_attributes AS att, blackboard_artifacts AS art " + //NON-NLS "WHERE att.attribute_type_id = " + ATTRIBUTE_TYPE.TSK_SET_NAME.getTypeID() + " " + //NON-NLS @@ -883,7 +887,7 @@ import org.sleuthkit.datamodel.TskData; ResultSet rs = null; try { - // Query for keywords + // Query for keywords, grouped by list rs = skCase.runQuery("SELECT art.artifact_id, art.obj_id, att1.value_text AS keyword, att2.value_text AS preview, att3.value_text AS list, f.name AS name " + //NON-NLS "FROM blackboard_artifacts AS art, blackboard_attributes AS att1, blackboard_attributes AS att2, blackboard_attributes AS att3, tsk_files AS f " + //NON-NLS "WHERE (att1.artifact_id = art.artifact_id) " + //NON-NLS From 047f8f00d08d0caa07153894682bb999d314321f Mon Sep 17 00:00:00 2001 From: Nick Davis Date: Fri, 27 Jun 2014 15:17:06 -0400 Subject: [PATCH 04/16] Changed Text content viewer content to be Courier New font since it will only be ASCII. Changed Strings content viewer content to be Monospaced, so it can handle Unicode JA strings. Changed the HTML CSS utility to include JA fonts after Arial. These are used by the Metadata, Results and Text content viewers. Removed the Java font definition from the Results content viewer since it was not being used by the content. --- .../sleuthkit/autopsy/contentviewers/Utilities.java | 12 ++++++------ .../corecomponents/DataContentViewerArtifact.java | 1 - .../autopsy/corecomponents/DataContentViewerHex.java | 2 +- .../corecomponents/DataContentViewerString.java | 2 +- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/Utilities.java b/Core/src/org/sleuthkit/autopsy/contentviewers/Utilities.java index 456471e22c..99a4f44585 100755 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/Utilities.java +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/Utilities.java @@ -40,11 +40,11 @@ public class Utilities { * method that sets consistent styles for all viewers and takes font * size as an argument. */ - styleSheet.addRule("body {font-family:Arial;font-size:14pt;}"); //NON-NLS - styleSheet.addRule("p {font-family:Arial;font-size:14pt;}"); //NON-NLS - styleSheet.addRule("li {font-family:Arial;font-size:14pt;}"); //NON-NLS - styleSheet.addRule("td {font-family:Arial;font-size:14pt;overflow:hidden;padding-right:5px;padding-left:5px;}"); //NON-NLS - styleSheet.addRule("th {font-family:Arial;font-size:14pt;overflow:hidden;padding-right:5px;padding-left:5px;font-weight:bold;}"); //NON-NLS - styleSheet.addRule("p {font-family:Arial;font-size:14pt;}"); //NON-NLS + styleSheet.addRule("body {font-family:Arial, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'MS Pゴシック','MS PGothic',sans-serif;font-size:14pt;}"); //NON-NLS + styleSheet.addRule("p {font-family:Arial, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'MS Pゴシック','MS PGothic',sans-serif;font-size:14pt;}"); //NON-NLS + styleSheet.addRule("li {font-family:Arial, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'MS Pゴシック','MS PGothic',sans-serif;font-size:14pt;}"); //NON-NLS + styleSheet.addRule("td {font-family:Arial, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'MS Pゴシック','MS PGothic',sans-serif;font-size:14pt;overflow:hidden;padding-right:5px;padding-left:5px;}"); //NON-NLS + styleSheet.addRule("th {font-family:Arial, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'MS Pゴシック','MS PGothic',sans-serif;font-size:14pt;overflow:hidden;padding-right:5px;padding-left:5px;font-weight:bold;}"); //NON-NLS + styleSheet.addRule("p {font-family:Arial, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'MS Pゴシック','MS PGothic',sans-serif;font-size:14pt;}"); //NON-NLS } } diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.java index bf27edb6de..6f2d396397 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.java @@ -105,7 +105,6 @@ public class DataContentViewerArtifact extends javax.swing.JPanel implements Dat jPanel1.setPreferredSize(new java.awt.Dimension(622, 424)); outputViewPane.setEditable(false); - outputViewPane.setFont(outputViewPane.getFont().deriveFont(Font.PLAIN, 11)); outputViewPane.setPreferredSize(new java.awt.Dimension(700, 400)); jScrollPane1.setViewportView(outputViewPane); diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerHex.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerHex.java index a2b8433c7a..c7eb83ebd0 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerHex.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerHex.java @@ -113,7 +113,7 @@ public class DataContentViewerHex extends javax.swing.JPanel implements DataCont jScrollPane1.setBackground(new java.awt.Color(255, 255, 255)); outputViewPane.setEditable(false); - outputViewPane.setFont(outputViewPane.getFont().deriveFont(Font.PLAIN, 11)); + outputViewPane.setFont(new Font("Courier New", Font.PLAIN, 11)); // NOI18N NON-NLS outputViewPane.setMinimumSize(new java.awt.Dimension(700, 20)); outputViewPane.setPreferredSize(new java.awt.Dimension(700, 400)); jScrollPane1.setViewportView(outputViewPane); diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerString.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerString.java index 86244f9d81..48ed46c8cc 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerString.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerString.java @@ -129,7 +129,7 @@ public class DataContentViewerString extends javax.swing.JPanel implements DataC jPanel1.setPreferredSize(new java.awt.Dimension(502, 424)); outputViewPane.setEditable(false); - outputViewPane.setFont(outputViewPane.getFont().deriveFont(Font.PLAIN, 11)); + outputViewPane.setFont(new Font("monospaced", Font.PLAIN, 11)); // NOI18N NON-NLS outputViewPane.setPreferredSize(new java.awt.Dimension(700, 400)); jScrollPane1.setViewportView(outputViewPane); From 6ab5fef8f88c989656a079d7b6104167d3da9e13 Mon Sep 17 00:00:00 2001 From: Brian Carrier Date: Fri, 27 Jun 2014 19:11:22 -0400 Subject: [PATCH 05/16] Moved childfactory into parent and made comment about a bug in the code --- .../autopsy/datamodel/FileTypeChildren.java | 128 ------------------ .../autopsy/datamodel/FileTypeNode.java | 119 +++++++++++++++- .../autopsy/datamodel/FileTypesChildren.java | 75 ---------- .../autopsy/datamodel/FileTypesNode.java | 51 +++++++ 4 files changed, 166 insertions(+), 207 deletions(-) delete mode 100644 Core/src/org/sleuthkit/autopsy/datamodel/FileTypeChildren.java delete mode 100644 Core/src/org/sleuthkit/autopsy/datamodel/FileTypesChildren.java diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeChildren.java b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeChildren.java deleted file mode 100644 index 29c1306a23..0000000000 --- a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeChildren.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Autopsy Forensic Browser - * - * Copyright 2011-2014 Basis Technology Corp. - * Contact: carrier sleuthkit 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.datamodel; - -import java.util.List; -import java.util.logging.Level; -import org.openide.util.NbBundle; -import org.sleuthkit.autopsy.coreutils.Logger; -import org.openide.nodes.AbstractNode; -import org.openide.nodes.ChildFactory; -import org.openide.nodes.Node; -import org.sleuthkit.autopsy.core.UserPreferences; -import org.sleuthkit.datamodel.Content; -import org.sleuthkit.datamodel.ContentVisitor; -import org.sleuthkit.datamodel.DerivedFile; -import org.sleuthkit.datamodel.Directory; -import org.sleuthkit.datamodel.File; -import org.sleuthkit.datamodel.LocalFile; -import org.sleuthkit.datamodel.LayoutFile; -import org.sleuthkit.datamodel.SleuthkitCase; -import org.sleuthkit.datamodel.TskCoreException; -import org.sleuthkit.datamodel.TskData; - -/** - * Child node factory for a specific file type - does the database query. - */ -public class FileTypeChildren extends ChildFactory { - - private SleuthkitCase skCase; - private FileTypeExtensionFilters.SearchFilterInterface filter; - private static final Logger logger = Logger.getLogger(FileTypeChildren.class.getName()); - - FileTypeChildren(FileTypeExtensionFilters.SearchFilterInterface filter, SleuthkitCase skCase) { - this.filter = filter; - this.skCase = skCase; - } - - /** - * Get children count without actually loading all nodes - * @return - */ - long calculateItems() { - try { - return skCase.countFilesWhere(createQuery()); - } catch (TskCoreException ex) { - logger.log(Level.SEVERE, "Error getting file search view count", ex); //NON-NLS - return 0; - } - } - - @Override - protected boolean createKeys(List list) { - try { - list.addAll(skCase.findAllFilesWhere(createQuery())); - } catch (TskCoreException ex) { - logger.log(Level.SEVERE, "Couldn't get search results", ex); //NON-NLS - } - return true; - } - - private String createQuery(){ - StringBuilder query = new StringBuilder(); - query.append("(dir_type = ").append(TskData.TSK_FS_NAME_TYPE_ENUM.REG.getValue()).append(")"); //NON-NLS - if (UserPreferences.hideKnownFilesInViewsTree()) { - query.append(" AND (known IS NULL OR known != ").append(TskData.FileKnown.KNOWN.getFileKnownValue()).append(")"); //NON-NLS - } - query.append(" AND (0"); //NON-NLS - for(String s : filter.getFilter()){ - query.append(" OR name LIKE '%").append(s).append("'"); //NON-NLS - } - query.append(')'); - return query.toString(); - } - - @Override - protected Node createNodeForKey(Content key) { - return key.accept(new ContentVisitor.Default() { - @Override - public FileNode visit(File f) { - return new FileNode(f, false); - } - - @Override - public DirectoryNode visit(Directory d) { - return new DirectoryNode(d); - } - - @Override - public LayoutFileNode visit(LayoutFile lf) { - return new LayoutFileNode(lf); - } - - @Override - public LocalFileNode visit(DerivedFile df) { - return new LocalFileNode(df); - } - - @Override - public LocalFileNode visit(LocalFile lf) { - return new LocalFileNode(lf); - } - - @Override - protected AbstractNode defaultVisit(Content di) { - throw new UnsupportedOperationException( - NbBundle.getMessage(this.getClass(), - "FileTypeChildren.exception.notSupported.msg", - di.toString())); - } - }); - } -} diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeNode.java index f213a43bce..03a2123466 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeNode.java @@ -18,11 +18,28 @@ */ package org.sleuthkit.autopsy.datamodel; +import java.util.List; +import java.util.logging.Level; +import org.openide.nodes.AbstractNode; +import org.openide.nodes.ChildFactory; import org.openide.nodes.Children; +import org.openide.nodes.Node; import org.openide.nodes.Sheet; import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; +import org.sleuthkit.autopsy.core.UserPreferences; +import org.sleuthkit.autopsy.coreutils.Logger; +import org.sleuthkit.datamodel.AbstractFile; +import org.sleuthkit.datamodel.Content; +import org.sleuthkit.datamodel.ContentVisitor; +import org.sleuthkit.datamodel.DerivedFile; +import org.sleuthkit.datamodel.Directory; +import org.sleuthkit.datamodel.File; +import org.sleuthkit.datamodel.LayoutFile; +import org.sleuthkit.datamodel.LocalFile; import org.sleuthkit.datamodel.SleuthkitCase; +import org.sleuthkit.datamodel.TskCoreException; +import org.sleuthkit.datamodel.TskData; /** * Node for a specific file type / extension @@ -33,18 +50,24 @@ public class FileTypeNode extends DisplayableItemNode { SleuthkitCase skCase; FileTypeNode(FileTypeExtensionFilters.SearchFilterInterface filter, SleuthkitCase skCase) { - super(Children.create(new FileTypeChildren(filter, skCase), true), Lookups.singleton(filter.getDisplayName())); - + super(Children.create(new FileTypeChildFactory(filter, skCase), true), Lookups.singleton(filter.getDisplayName())); this.filter = filter; this.skCase = skCase; super.setName(filter.getName()); + /* There is a bug in the below code. The count becomes inaccurate when ZIP files + * blow up and when a 2nd data source is added. I think we need to change the overall + * design of this and have a singleton class (or some other place) that will store + * the results and each level can either ask it for the count or specific ids and + * it would be responsible for listening for case events and data events. + */ //get count of children without preloading all children nodes - final long count = new FileTypeChildren(filter, skCase).calculateItems(); + final long count = new FileTypeChildFactory(filter, skCase).calculateItems(); //final long count = getChildren().getNodesCount(true); + super.setDisplayName(filter.getDisplayName() + " (" + count + ")"); - + this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/file-filter-icon.png"); //NON-NLS } @@ -83,4 +106,92 @@ public class FileTypeNode extends DisplayableItemNode { public boolean isLeafTypeNode() { return true; } + + /** + * Child node factory for a specific file type - does the database query. + */ + public static class FileTypeChildFactory extends ChildFactory { + private final SleuthkitCase skCase; + private final FileTypeExtensionFilters.SearchFilterInterface filter; + private final Logger logger = Logger.getLogger(FileTypeChildFactory.class.getName()); + + FileTypeChildFactory(FileTypeExtensionFilters.SearchFilterInterface filter, SleuthkitCase skCase) { + super(); + this.filter = filter; + this.skCase = skCase; + } + + /** + * Get children count without actually loading all nodes + * @return + */ + long calculateItems() { + try { + return skCase.countFilesWhere(createQuery()); + } catch (TskCoreException ex) { + logger.log(Level.SEVERE, "Error getting file search view count", ex); //NON-NLS + return 0; + } + } + + @Override + protected boolean createKeys(List list) { + try { + List files = skCase.findAllFilesWhere(createQuery()); + list.addAll(files); + } catch (TskCoreException ex) { + logger.log(Level.SEVERE, "Couldn't get search results", ex); //NON-NLS + } + return true; + } + + private String createQuery() { + StringBuilder query = new StringBuilder(); + query.append("(dir_type = ").append(TskData.TSK_FS_NAME_TYPE_ENUM.REG.getValue()).append(")"); //NON-NLS + if (UserPreferences.hideKnownFilesInViewsTree()) { + query.append(" AND (known IS NULL OR known != ").append(TskData.FileKnown.KNOWN.getFileKnownValue()).append(")"); //NON-NLS + } + query.append(" AND (0"); //NON-NLS + for (String s : filter.getFilter()) { + query.append(" OR name LIKE '%").append(s).append("'"); //NON-NLS + } + query.append(')'); + return query.toString(); + } + + @Override + protected Node createNodeForKey(Content key) { + return key.accept(new ContentVisitor.Default() { + @Override + public FileNode visit(File f) { + return new FileNode(f, false); + } + + @Override + public DirectoryNode visit(Directory d) { + return new DirectoryNode(d); + } + + @Override + public LayoutFileNode visit(LayoutFile lf) { + return new LayoutFileNode(lf); + } + + @Override + public LocalFileNode visit(DerivedFile df) { + return new LocalFileNode(df); + } + + @Override + public LocalFileNode visit(LocalFile lf) { + return new LocalFileNode(lf); + } + + @Override + protected AbstractNode defaultVisit(Content di) { + throw new UnsupportedOperationException(NbBundle.getMessage(this.getClass(), "FileTypeChildren.exception.notSupported.msg", di.toString())); + } + }); + } + } } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypesChildren.java b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypesChildren.java deleted file mode 100644 index e55124bebc..0000000000 --- a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypesChildren.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Autopsy Forensic Browser - * - * Copyright 2011 Basis Technology Corp. - * Contact: carrier sleuthkit 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.datamodel; - -import java.util.Arrays; -import java.util.List; -import org.openide.nodes.ChildFactory; -import org.openide.nodes.Node; -import org.sleuthkit.autopsy.datamodel.FileTypeExtensionFilters.RootFilter; -import org.sleuthkit.datamodel.SleuthkitCase; - -/** - * - */ -class FileTypesChildren extends ChildFactory { - - private SleuthkitCase skCase; - private FileTypeExtensionFilters.RootFilter filter; - - /** - * - * @param skCase - * @param filter Is null for root node - */ - public FileTypesChildren(SleuthkitCase skCase, FileTypeExtensionFilters.RootFilter filter) { - this.skCase = skCase; - this.filter = filter; - } - - @Override - protected boolean createKeys(List list) { - // root node - if (filter == null) { - list.addAll(Arrays.asList(RootFilter.values())); - } - // document and executable has another level of nodes - else if (filter.equals(RootFilter.TSK_DOCUMENT_FILTER) ){ - list.addAll(Arrays.asList(FileTypeExtensionFilters.DocumentFilter.values())); - } - else if (filter.equals(RootFilter.TSK_EXECUTABLE_FILTER) ){ - list.addAll(Arrays.asList(FileTypeExtensionFilters.ExecutableFilter.values())); - } - return true; - } - - @Override - protected Node createNodeForKey(FileTypeExtensionFilters.SearchFilterInterface key){ - // make new nodes for the sub-nodes - if(key.getName().equals(FileTypeExtensionFilters.RootFilter.TSK_DOCUMENT_FILTER.getName())){ - return new FileTypesNode(skCase, FileTypeExtensionFilters.RootFilter.TSK_DOCUMENT_FILTER); - } - else if(key.getName().equals(FileTypeExtensionFilters.RootFilter.TSK_EXECUTABLE_FILTER.getName())){ - return new FileTypesNode(skCase, FileTypeExtensionFilters.RootFilter.TSK_EXECUTABLE_FILTER); - } - else { - return new FileTypeNode(key, skCase); - } - } -} diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypesNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypesNode.java index da7694a4f2..198119db84 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypesNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypesNode.java @@ -18,7 +18,11 @@ */ package org.sleuthkit.autopsy.datamodel; +import java.util.Arrays; +import java.util.List; +import org.openide.nodes.ChildFactory; import org.openide.nodes.Children; +import org.openide.nodes.Node; import org.openide.nodes.Sheet; import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; @@ -76,4 +80,51 @@ public class FileTypesNode extends DisplayableItemNode { getName())); return s; } + + /** + * + */ + static class FileTypesChildren extends ChildFactory { + + private SleuthkitCase skCase; + private FileTypeExtensionFilters.RootFilter filter; + + /** + * + * @param skCase + * @param filter Is null for root node + */ + public FileTypesChildren(SleuthkitCase skCase, FileTypeExtensionFilters.RootFilter filter) { + super(); + this.skCase = skCase; + this.filter = filter; + } + + @Override + protected boolean createKeys(List list) { + // root node + if (filter == null) { + list.addAll(Arrays.asList(FileTypeExtensionFilters.RootFilter.values())); + } + // document and executable has another level of nodes + else if (filter.equals(FileTypeExtensionFilters.RootFilter.TSK_DOCUMENT_FILTER)) { + list.addAll(Arrays.asList(FileTypeExtensionFilters.DocumentFilter.values())); + } else if (filter.equals(FileTypeExtensionFilters.RootFilter.TSK_EXECUTABLE_FILTER)) { + list.addAll(Arrays.asList(FileTypeExtensionFilters.ExecutableFilter.values())); + } + return true; + } + + @Override + protected Node createNodeForKey(FileTypeExtensionFilters.SearchFilterInterface key) { + // make new nodes for the sub-nodes + if (key.getName().equals(FileTypeExtensionFilters.RootFilter.TSK_DOCUMENT_FILTER.getName())) { + return new FileTypesNode(skCase, FileTypeExtensionFilters.RootFilter.TSK_DOCUMENT_FILTER); + } else if (key.getName().equals(FileTypeExtensionFilters.RootFilter.TSK_EXECUTABLE_FILTER.getName())) { + return new FileTypesNode(skCase, FileTypeExtensionFilters.RootFilter.TSK_EXECUTABLE_FILTER); + } else { + return new FileTypeNode(key, skCase); + } + } + } } From 46f8fd99fdc037452f7af1ca5af83b388e96b10d Mon Sep 17 00:00:00 2001 From: Brian Carrier Date: Mon, 30 Jun 2014 10:13:11 -0400 Subject: [PATCH 06/16] HashDB panel reverts only if ingest is not running. Prevents bug that closes DB while still in use. --- .../modules/hashdatabase/HashLookupSettingsPanel.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashLookupSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashLookupSettingsPanel.java index 61155edb82..3bc20c4da4 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashLookupSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashLookupSettingsPanel.java @@ -269,9 +269,15 @@ public final class HashLookupSettingsPanel extends IngestModuleGlobalSettingsPan } public void cancel() { - HashDbManager.getInstance().loadLastSavedConfiguration(); + /* Revert back to last settings only if the user could have + * made changes. Doing this while ingest is running causes + * hash dbs to be closed while they are still being used. + */ + if (IngestManager.getInstance().isIngestRunning() == false) { + HashDbManager.getInstance().loadLastSavedConfiguration(); + } } - + void removeThese(List toRemove) { for (HashDb hashDb : toRemove) { hashSetManager.removeHashDatabaseInternal(hashDb); From 0703f80e0048e04d96d940df6154d51e0d71505f Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Mon, 30 Jun 2014 16:53:35 -0400 Subject: [PATCH 07/16] Changed max file ingest threads option text, selections, and advice --- .../sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.form | 2 +- .../sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.form b/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.form index 30d3020d10..7a4f51e5a6 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.form @@ -25,7 +25,6 @@ - @@ -43,6 +42,7 @@ + diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java b/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java index d0b9d8b582..a969a082ca 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java @@ -29,8 +29,8 @@ final class AutopsyOptionsPanel extends javax.swing.JPanel { AutopsyOptionsPanel(AutopsyOptionsPanelController controller) { initComponents(); - numberOfFileIngestThreadsComboBox.setModel(new DefaultComboBoxModel<>(new Integer[]{1, 2, 4, 8, 16})); - restartRequiredLabel.setText(NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.restartRequiredLabel.text", Runtime.getRuntime().availableProcessors())); + numberOfFileIngestThreadsComboBox.setModel(new DefaultComboBoxModel<>(new Integer[]{1, 2, 4, 6, 8, 12, 16})); + restartRequiredLabel.setText(NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.restartRequiredLabel.text", Runtime.getRuntime().availableProcessors() - 2)); // TODO listen to changes in form fields and call controller.changed() } From 23faee9c1a0cab0a3ea5fc09faf149bde04b99b0 Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Mon, 30 Jun 2014 16:58:47 -0400 Subject: [PATCH 08/16] Corrected max file ingest threads option calculation --- .../sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java b/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java index a969a082ca..4a11deab0c 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java @@ -30,7 +30,8 @@ final class AutopsyOptionsPanel extends javax.swing.JPanel { AutopsyOptionsPanel(AutopsyOptionsPanelController controller) { initComponents(); numberOfFileIngestThreadsComboBox.setModel(new DefaultComboBoxModel<>(new Integer[]{1, 2, 4, 6, 8, 12, 16})); - restartRequiredLabel.setText(NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.restartRequiredLabel.text", Runtime.getRuntime().availableProcessors() - 2)); + int availableProcessors = Runtime.getRuntime().availableProcessors(); + restartRequiredLabel.setText(NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.restartRequiredLabel.text", availableProcessors > 2 ? availableProcessors - 2 : 1)); // TODO listen to changes in form fields and call controller.changed() } From 2a2b8ba8478c49328386bfbe60c1b15f8eeffc23 Mon Sep 17 00:00:00 2001 From: Nick Davis Date: Wed, 2 Jul 2014 21:10:39 -0400 Subject: [PATCH 09/16] Re-added newlines to strings in properties files. --- .../autopsy/actions/Bundle.properties | 3 +- .../autopsy/actions/Bundle_ja.properties | 3 +- .../autopsy/casemodule/Bundle.properties | 38 ++++++++----------- .../autopsy/casemodule/Bundle_ja.properties | 35 +++++++---------- .../autopsy/coreutils/Bundle.properties | 4 +- .../autopsy/coreutils/Bundle_ja.properties | 4 +- .../autopsy/datamodel/Bundle.properties | 4 +- .../autopsy/datamodel/Bundle_ja.properties | 4 +- .../autopsy/ingest/Bundle.properties | 6 +-- .../autopsy/ingest/Bundle_ja.properties | 6 +-- .../autopsy/modules/exif/Bundle.properties | 2 +- .../autopsy/modules/exif/Bundle_ja.properties | 2 +- .../fileextmismatch/Bundle_ja.properties | 1 - .../modules/hashdatabase/Bundle.properties | 33 ++++++---------- .../modules/hashdatabase/Bundle_ja.properties | 33 ++++++---------- .../autopsy/report/Bundle.properties | 3 +- .../autopsy/report/Bundle_ja.properties | 3 +- .../autopsy/corelibs/Bundle.properties | 2 +- .../autopsy/corelibs/Bundle_ja.properties | 2 +- .../autopsy/keywordsearch/Bundle.properties | 2 +- .../keywordsearch/Bundle_ja.properties | 2 +- .../autopsy/recentactivity/Bundle.properties | 10 ++--- .../recentactivity/Bundle_ja.properties | 10 ++--- .../autopsy/scalpel/Bundle.properties | 2 +- .../autopsy/scalpel/Bundle_ja.properties | 2 +- .../thunderbirdparser/Bundle.properties | 2 +- 26 files changed, 84 insertions(+), 134 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/actions/Bundle.properties b/Core/src/org/sleuthkit/autopsy/actions/Bundle.properties index 8f70efaebf..afcbebf15e 100755 --- a/Core/src/org/sleuthkit/autopsy/actions/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/actions/Bundle.properties @@ -41,8 +41,7 @@ GetTagNameDialog.createTag=Create Tag GetTagNameDialog.cancelName=Cancel GetTagNameDialog.mustSupplyTtagName.msg=Must supply a tag name to continue. GetTagNameDialog.tagNameErr=Tag Name -GetTagNameDialog.illegalChars.msg=The tag name contains illegal characters.\ -Cannot contain any of the following symbols\: \\ \: * ? " < > | +GetTagNameDialog.illegalChars.msg=The tag name contains illegal characters.\nCannot contain any of the following symbols\: \\ \: * ? " < > | GetTagNameDialog.illegalCharsErr=Illegal Characters GetTagNameDialog.unableToAddTagNameToCase.msg=Unable to add the {0} tag name to the case. GetTagNameDialog.taggingErr=Tagging Error diff --git a/Core/src/org/sleuthkit/autopsy/actions/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/actions/Bundle_ja.properties index 34dede8273..edf52bb547 100644 --- a/Core/src/org/sleuthkit/autopsy/actions/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/actions/Bundle_ja.properties @@ -36,8 +36,7 @@ GetTagNameDialog.createTag=\u30BF\u30B0\u3092\u4F5C\u6210 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.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.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=\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.taggingErr=\u30BF\u30B0\u4ED8\u3051\u30A8\u30E9\u30FC diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties b/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties index 158cd119bc..667c5be381 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties @@ -111,17 +111,15 @@ Case.moduleErr=Module Error Case.changeCase.errListenToCaseUpdates.msg=A module caused an error listening to Case updates. See log to determine which module. Some data could be incomplete. Case.create.exception.msg=Error creating a case\: {0} in dir {1} Case.open.exception.blankCase.msg=Case name is blank. -Case.open.msgDlg.updated.msg=Updated case database schema.\ -A backup copy of the database with the following path has been made\:\ - {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.exception.checkFile.msg=Check that you selected the correct case file (usually with {0} extension) Case.open.exception.gen.msg=Error opening the case -Case.checkImgExist.confDlg.doesntExist.msg={0} has detected that one of the images associated with \ -this case are missing. Would you like to search for them now?\ -Previously, the image was located at\:\ -{1}\ -Please note that you will still be able to browse directories and generate reports\ +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\ +Previously, the image was located at\:\n\ +{1}\n\ +Please note that you will still be able to browse directories and generate reports\n\ if you choose No, but you will not be able to view file content or run the ingest process. Case.checkImgExist.confDlg.doesntExist.title=Missing Image Case.addImg.exception.msg=Error adding image to the case @@ -138,12 +136,11 @@ Case.createCaseDir.exception.cantCreate=Cannot create case dir\: {0} Case.createCaseDir.exception.cantCreateCaseDir=Could not create case directory\: {0} Case.createCaseDir.exception.cantCreateModDir=Could not create modules output directory\: {0} Case.createCaseDir.exception.gen=Could not create case directory\: {0} -CaseDeleteAction.closeConfMsg.text=Are you sure want to close and delete this case? \ - Case Name\: {0}\ +CaseDeleteAction.closeConfMsg.text=Are you sure want to close and delete this case? \n\ + Case Name\: {0}\n\ Case Directory\: {1} CaseDeleteAction.closeConfMsg.title=Warning\: Closing the Current Case -CaseDeleteAction.msgDlg.fileInUse.msg=The delete action can't be fully completed because the folder or file in it is open by another program.\ - \ +CaseDeleteAction.msgDlg.fileInUse.msg=The delete action can't be fully completed because the folder or file in it is open by another program.\n\n\ Close the folder and file and try again or you can delete the case manually. CaseDeleteAction.msgDlg.fileInUse.title=Error\: Folder In Use CaseDeleteAction.msgDlg.caseDelete.msg=Case {0} has been deleted. @@ -183,8 +180,7 @@ LocalFilesPanel.moduleErr=Module Error LocalFilesPanel.moduleErr.msg=A module caused an error listening to LocalFilesPanel updates. See log to determine which module. Some data could be incomplete. MissingImageDialog.allDesc.text=All Supported Types MissingImageDialog.display.title=Search for Missing Image -MissingImageDialog.confDlg.noFileSel.msg=No image file has been selected, are you sure you\ -would like to exit without finding the image. +MissingImageDialog.confDlg.noFileSel.msg=No image file has been selected, are you sure you\nwould like to exit without finding the image. MissingImageDialog.confDlg.noFileSel.title=Missing Image NewCaseVisualPanel1.getName.text=Case Info NewCaseVisualPanel1.caseDirBrowse.selectButton.text=Select @@ -195,17 +191,14 @@ NewCaseWizardAction.newCase.windowTitle.text=New Case Information NewCaseWizardAction.getName.text=New Case Wizard NewCaseWizardPanel1.validate.errMsg.invalidSymbols=The Case Name cannot contain any of the following symbols\: \\ / \: * ? " < > | NewCaseWizardPanel1.validate.errMsg.dirExists=Case directory ''{0}'' already exists. -NewCaseWizardPanel1.validate.confMsg.createDir.msg=The base directory ''{0}'' doesn't exist. \ - \ +NewCaseWizardPanel1.validate.confMsg.createDir.msg=The base directory "{0}" doesn't exist. \n\n\ Do you want to create that directory? NewCaseWizardPanel1.validate.confMsg.createDir.title=Create directory NewCaseWizardPanel1.validate.errMsg.cantCreateParDir.msg=Error\: Couldn't create case parent directory {0} NewCaseWizardPanel1.validate.errMsg.prevCreateBaseDir.msg=Prevented from creating base directory {0} NewCaseWizardPanel1.validate.errMsg.cantCreateDir=Error\: Couldn't create directory. -NewCaseWizardPanel1.validate.errMsg.invalidBaseDir.msg=ERROR\: The Base Directory that you entered is not valid.\ -Please enter a valid Base Directory. -NewCaseWizardPanel1.createDir.errMsg.cantCreateDir.msg=ERROR\: Could not create the case directory. \ -Please enter a valid Case Name and 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. NewCaseWizardPanel2.validate.errCreateCase.msg=Error creating case OpenRecentCasePanel.openCase.msgDlg.caseDoesntExist.msg=Error\: Case {0} doesn't exist. OpenRecentCasePanel.openCase.msgDlg.err=Error @@ -222,9 +215,8 @@ XMLCaseManagement.create.exception.msg=Error setting up Case XML file, XMLCaseManagement.writeFile.exception.noCase.msg=No set case to write management file for. XMLCaseManagement.writeFile.exception.errWriteToFile.msg=Error writing to case file XMLCaseManagement.open.exception.errReadXMLFile.msg=Error reading case XML file\: {0} -XMLCaseManagement.open.msgDlg.notAutCase.msg=Error\: This is not an Autopsy config file ("{0}").\ - \ -Detail\: \ +XMLCaseManagement.open.msgDlg.notAutCase.msg=Error\: This is not an Autopsy config file ("{0}").\n\n\ +Detail\: \n\ Cannot open a non-Autopsy config file (at {1}). XMLCaseManagement.open.msgDlg.notAutCase.title=Error AddImageWizardIngestConfigPanel.CANCEL_BUTTON.text=Cancel \ No newline at end of file diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/casemodule/Bundle_ja.properties index e49e85aa5d..3eb6853e11 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Bundle_ja.properties @@ -106,16 +106,15 @@ Case.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc Case.changeCase.errListenToCaseUpdates.msg=\u30b1\u30fc\u30b9\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 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.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\ -\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\ +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\ +\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\ {0} 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=\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.open.exception.gen.msg=\u30b1\u30fc\u30b9\u3092\u958b\u304f\u306e\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f -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\ -\ -\u4ee5\u524d\u3001\u30a4\u30e1\u30fc\u30b8\u306f\u4e0b\u8a18\u306b\u3042\u308a\u307e\u3057\u305f\uff1a\ -{1}\ +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\u4e0b\u8a18\u306b\u3042\u308a\u307e\u3057\u305f\uff1a\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 Case.checkImgExist.confDlg.doesntExist.title=\u6b20\u843d\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 @@ -132,12 +131,11 @@ Case.createCaseDir.exception.cantCreate=\u30b1\u30fc\u30b9\u30c7\u30a3\u30ec\u30 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.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\ - \u30b1\u30fc\u30b9\u540d\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\ + \u30b1\u30fc\u30b9\u540d\uff1a {0}\n\ \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.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\ -\ +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 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 @@ -177,8 +175,7 @@ LocalFilesPanel.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc 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.allDesc.text=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u5168\u3066\u306e\u30bf\u30a4\u30d7 MissingImageDialog.display.title=\u6b20\u843d\u30a4\u30e1\u30fc\u30b8\u3092\u691c\u7d22 -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\ -\u524d\u306b\u672c\u5f53\u306b\u7d42\u4e86\u3057\u307e\u3059\u304b\uff1f +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.confDlg.noFileSel.title=\u6b20\u843d\u30a4\u30e1\u30fc\u30b8 NewCaseVisualPanel1.getName.text=\u30b1\u30fc\u30b9\u60c5\u5831 NewCaseVisualPanel1.caseDirBrowse.selectButton.text=\u9078\u629e @@ -189,17 +186,14 @@ NewCaseWizardAction.newCase.windowTitle.text=\u65b0\u898f\u30b1\u30fc\u30b9\u60c NewCaseWizardAction.getName.text=\u65b0\u898f\u30b1\u30fc\u30b9\u30a6\u30a3\u30b6\u30fc\u30c9 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.dirExists=\u30b1\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea''{0}''\u306f\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3002 -NewCaseWizardPanel1.validate.confMsg.createDir.msg=\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea''{0}''\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002\ -\ +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\ \u3053\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3057\u307e\u3059\u304b\uff1f NewCaseWizardPanel1.validate.confMsg.createDir.title=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4f5c\u6210 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.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.errMsg.cantCreateDir=\u30a8\u30e9\u30fc\uff1a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 -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\ -\u6709\u52b9\u306a\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044\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\ -\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.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.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 NewCaseWizardPanel2.validate.errCreateCase.msg=\u30b1\u30fc\u30b9\u4f5c\u6210\u30a8\u30e9\u30fc OpenRecentCasePanel.openCase.msgDlg.caseDoesntExist.msg=\u30a8\u30e9\u30fc\uff1a\u30b1\u30fc\u30b9{0}\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002 OpenRecentCasePanel.openCase.msgDlg.err=\u30a8\u30e9\u30fc @@ -216,9 +210,8 @@ XMLCaseManagement.create.exception.msg=\u30b1\u30fc\u30b9XML\u30d5\u30a1\u30a4\u 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 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 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} -XMLCaseManagement.open.msgDlg.notAutCase.msg=\u30a8\u30e9\u30fc\uff1aAutopsy\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb("{0}")\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\ -\ -\u8a73\u7d30\uff1a\ +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\ +\u8a73\u7d30\uff1a\n\ Autopsy\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u4ee5\u5916(at {1})\u306f\u958b\u3051\u307e\u305b\u3093\u3002 XMLCaseManagement.open.msgDlg.notAutCase.title=\u30a8\u30e9\u30fc 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 diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/Bundle.properties b/Core/src/org/sleuthkit/autopsy/coreutils/Bundle.properties index 771ee6d97f..12a01a7ab1 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/coreutils/Bundle.properties @@ -17,8 +17,8 @@ PlatformUtil.getProcVmUsed.sigarNotInit.msg=Can't get virt mem used, sigar not i PlatformUtil.getProcVmUsed.gen.msg=Can't get virt mem used, {0} PlatformUtil.getJvmMemInfo.usageText=JVM heap usage\: {0}, JVM non-heap usage\: {1} PlatformUtil.getPhysicalMemInfo.usageText=Physical memory usage (max, total, free)\: {0}, {1}, {2} -PlatformUtil.getAllMemUsageInfo.usageText={0}\ -{1}\ +PlatformUtil.getAllMemUsageInfo.usageText={0}\n\ +{1}\n\ Process Virtual Memory\: {2} StringExtract.illegalStateException.cannotInit.msg=Unicode table not properly initialized, cannot instantiate StringExtract diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/coreutils/Bundle_ja.properties index dd15cb064c..47329f1599 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/coreutils/Bundle_ja.properties @@ -17,7 +17,7 @@ PlatformUtil.getProcVmUsed.sigarNotInit.msg=\u4F7F\u7528\u4E2D\u306E\u4EEE\u60F3 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.getPhysicalMemInfo.usageText=\u7269\u7406\u30E1\u30E2\u30EA\u4F7F\u7528\u72B6\u6CC1\uFF08\u6700\u5927\u3001\u5408\u8A08\u3001\u5229\u7528\u53EF\u80FD\uFF09\uFF1A {0}, {1}, {2} -PlatformUtil.getAllMemUsageInfo.usageText={0}\ -{1}\ +PlatformUtil.getAllMemUsageInfo.usageText={0}\n\ +{1}\n\ \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 \ No newline at end of file diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties index 59193ed202..fa5f714613 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties @@ -141,9 +141,7 @@ ImageNode.createSheet.name.displayName=Name ImageNode.createSheet.name.desc=no description Installer.exception.tskVerStringNull.msg=Sleuth Kit JNI test call returned without error, but version string was null\! Installer.exception.taskVerStringBang.msg=Sleuth Kit JNI test call returned without error, but version string was ""\! -Installer.tskLibErr.msg=Problem with Sleuth Kit JNI. Test call failed\!\ -\ -Details\: {0} +Installer.tskLibErr.msg=Problem with Sleuth Kit JNI. Test call failed\!\n\nDetails\: {0} Installer.tskLibErr.err=Fatal Error\! InterestingHits.interestingItems.text=INTERESTING ITEMS InterestingHits.displayName.text=Interesting Items diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties index 0893f30d97..7a2330d36b 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties @@ -131,9 +131,7 @@ ImageNode.createSheet.name.name=\u540D\u524D ImageNode.createSheet.name.displayName=\u540D\u524D 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.tskLibErr.msg=Sleuth Kit JNI\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u30C6\u30B9\u30C8\u30B3\u30FC\u30EB\u304C\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A\ -\ -\u8A73\u7D30\uFF1A {0} +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.err=\u81F4\u547D\u7684\u30A8\u30E9\u30FC\uFF01 InterestingHits.interestingItems.text=\u7591\u308F\u3057\u3044\u30A2\u30A4\u30C6\u30E0 InterestingHits.displayName.text=\u7591\u308F\u3057\u3044\u30A2\u30A4\u30C6\u30E0 diff --git a/Core/src/org/sleuthkit/autopsy/ingest/Bundle.properties b/Core/src/org/sleuthkit/autopsy/ingest/Bundle.properties index 2b2f7ec4f4..b750be6dcf 100755 --- a/Core/src/org/sleuthkit/autopsy/ingest/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/ingest/Bundle.properties @@ -48,8 +48,7 @@ IngestMessageTopComponent.displayReport.option.OK=OK IngestMessageTopComponent.displayReport.option.GenRpt=Generate Report IngestMessageTopComponent.msgDlg.ingestRpt.text=Ingest Report IngestMonitor.mgrErrMsg.lowDiskSpace.title=Ingest stopped - low disk space on {0} -IngestMonitor.mgrErrMsg.lowDiskSpace.msg=Stopping ingest due to low disk space on disk {0}. \ -Ensure the Case drive has at least 1GB free space and restart ingest. +IngestMonitor.mgrErrMsg.lowDiskSpace.msg=Stopping ingest due to low disk space on disk {0}. \nEnsure the Case drive has at least 1GB free space and restart ingest. IngestJobConfigurationPanel.advancedButton.text=Advanced IngestJobConfigurationPanel.advancedButton.actionCommand=Advanced IngestManager.StartIngestJobsTask.run.displayName=Starting ingest @@ -59,8 +58,7 @@ IngestMessagePanel.sortByComboBox.model.priority=Priority IngestMessagesToolbar.customizeButton.toolTipText=Ingest Messages IngestMessageTopComponent.initComponents.name=Ingest Inbox IngestManager.StartIngestJobsTask.run.startupErr.dlgMsg=Unable to start up one or more ingest modules, ingest job cancelled. -IngestManager.StartIngestJobsTask.run.startupErr.dlgSolution=Please disable the failed modules or fix the errors and then restart ingest \ -by right clicking on the data source and selecting Run Ingest Modules. +IngestManager.StartIngestJobsTask.run.startupErr.dlgSolution=Please disable the failed modules or fix the errors and then restart ingest \nby right clicking on the data source and selecting Run Ingest Modules. IngestManager.StartIngestJobsTask.run.startupErr.dlgErrorList=\nErrors\: \n{0} IngestManager.StartIngestJobsTask.run.startupErr.dlgTitle=Ingest Failure IngestJobConfigurator.createModuleSettingsFolderForContext.exception.msg=Failed to create ingest module settings folder, cannot save settings. diff --git a/Core/src/org/sleuthkit/autopsy/ingest/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/ingest/Bundle_ja.properties index b40e713d2f..4e0a84daf0 100644 --- a/Core/src/org/sleuthkit/autopsy/ingest/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/ingest/Bundle_ja.properties @@ -50,14 +50,12 @@ IngestMessageTopComponent.displayReport.option.GenRpt=\u30EC\u30DD\u30FC\u30C8\u IngestMessageTopComponent.displayReport.option.OK=OK IngestMessageTopComponent.initComponents.name=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30A4\u30F3\u30DC\u30C3\u30AF\u30B9 IngestMessageTopComponent.msgDlg.ingestRpt.text=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30EC\u30DD\u30FC\u30C8 -IngestMonitor.mgrErrMsg.lowDiskSpace.msg=\u30C7\u30A3\u30B9\u30AF{0}\u306E\u30C7\u30A3\u30B9\u30AF\u9818\u57DF\u4E0D\u8DB3\u306E\u305F\u3081\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3092\u4E2D\u6B62\u3057\u307E\u3059\u3002\ -\u30B1\u30FC\u30B9\u30C9\u30E9\u30A4\u30D6\u306B\u6700\u4F4E1GB\u306E\u7A7A\u304D\u9818\u57DF\u304C\u3042\u308B\u306E\u3092\u78BA\u8A8D\u3057\u3001\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3092\u518D\u30B9\u30BF\u30FC\u30C8\u3057\u3066\u4E0B\u3055\u3044\u3002 +IngestMonitor.mgrErrMsg.lowDiskSpace.msg=\u30C7\u30A3\u30B9\u30AF{0}\u306E\u30C7\u30A3\u30B9\u30AF\u9818\u57DF\u4E0D\u8DB3\u306E\u305F\u3081\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3092\u4E2D\u6B62\u3057\u307E\u3059\u3002\n\u30B1\u30FC\u30B9\u30C9\u30E9\u30A4\u30D6\u306B\u6700\u4F4E1GB\u306E\u7A7A\u304D\u9818\u57DF\u304C\u3042\u308B\u306E\u3092\u78BA\u8A8D\u3057\u3001\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3092\u518D\u30B9\u30BF\u30FC\u30C8\u3057\u3066\u4E0B\u3055\u3044\u3002 IngestMonitor.mgrErrMsg.lowDiskSpace.title=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u304C\u4E2D\u6B62\u3055\u308C\u307E\u3057\u305F\u30FC{0}\u306E\u30C7\u30A3\u30B9\u30AF\u9818\u57DF\u4E0D\u8DB3 OpenIDE-Module-Name=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8 IngestManager.StartIngestJobsTask.run.startupErr.dlgErrorList=\n\u30A8\u30E9\u30FC\uFF1A\n{0} IngestManager.StartIngestJobsTask.run.startupErr.dlgMsg=\uFF11\u3064\u307E\u305F\u306F\u8907\u6570\u306E\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u30B9\u30BF\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30B8\u30E7\u30D6\u306F\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3057\u305F\u3002 -IngestManager.StartIngestJobsTask.run.startupErr.dlgSolution=\u5931\u6557\u3057\u305F\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u7121\u52B9\u5316\u3059\u308B\u304B\u30A8\u30E9\u30FC\u3092\u89E3\u6C7A\u3057\u3001\u305D\u306E\u5F8C\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u3092\u53F3\u30AF\u30EA\u30C3\u30AF\u3057\u3001\ -\u300C\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB\u5B9F\u884C\u300D\u3092\u9078\u629E\u3057\u3066\u3001\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3092\u30EA\u30B9\u30BF\u30FC\u30C8\u3057\u3066\u4E0B\u3055\u3044\u3002 +IngestManager.StartIngestJobsTask.run.startupErr.dlgSolution=\u5931\u6557\u3057\u305F\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u7121\u52B9\u5316\u3059\u308B\u304B\u30A8\u30E9\u30FC\u3092\u89E3\u6C7A\u3057\u3001\u305D\u306E\u5F8C\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u3092\u53F3\u30AF\u30EA\u30C3\u30AF\u3057\u3001\n\u300C\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB\u5B9F\u884C\u300D\u3092\u9078\u629E\u3057\u3066\u3001\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3092\u30EA\u30B9\u30BF\u30FC\u30C8\u3057\u3066\u4E0B\u3055\u3044\u3002 IngestManager.StartIngestJobsTask.run.startupErr.dlgTitle=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u5931\u6557 IngestJobConfigurator.createModuleSettingsFolderForContext.exception.msg=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB\u8A2D\u5B9A\u30D5\u30A9\u30EB\u30C0\u306E\u4F5C\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u8A2D\u5B9A\u3092\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093\u3002 IngestJobConfigurator.createModuleSettingsFolderForContext.exception.title=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30B8\u30E7\u30D6\u521D\u671F\u5316\u306E\u5931\u6557 diff --git a/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle.properties b/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle.properties index 656b70b559..2987fc2ae8 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle.properties @@ -1,6 +1,6 @@ OpenIDE-Module-Display-Category=Ingest Module OpenIDE-Module-Long-Description=\ - Exif metadata ingest module. \ + Exif metadata ingest module. \n\n\ The ingest module analyzes image files, extracts Exif information and posts the Exif data as results. OpenIDE-Module-Name=ExifParser OpenIDE-Module-Short-Description=Exif metadata ingest module diff --git a/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle_ja.properties index f7df05c7bf..7d9e66eb8b 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle_ja.properties @@ -1,6 +1,6 @@ OpenIDE-Module-Display-Category=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB OpenIDE-Module-Long-Description=\ - Exif\u30E1\u30BF\u30C7\u30FC\u30BF\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB\u3002\ + Exif\u30E1\u30BF\u30C7\u30FC\u30BF\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB\u3002\n\n\ \u3053\u306E\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB\u306F\u30A4\u30E1\u30FC\u30B8\u30D5\u30A1\u30A4\u30EB\u3092\u89E3\u6790\u3057\u3001Exif\u60C5\u5831\u3092\u62BD\u51FA\u3057\u3001Exif\u60C5\u5831\u3092\u7D50\u679C\u3068\u3057\u3066\u6295\u7A3F\u3057\u307E\u3059\u3002 OpenIDE-Module-Name=Exif\u30D1\u30FC\u30B5 OpenIDE-Module-Short-Description=Exif\u30E1\u30BF\u30C7\u30FC\u30BF\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB diff --git a/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/Bundle_ja.properties index ecaba3fc54..8921a26d21 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/Bundle_ja.properties @@ -35,7 +35,6 @@ FileExtMismatchOptionsPanelController.moduleErr=\u30E2\u30B8\u30E5\u30FC\u30EB\u FileExtMismatchOptionsPanelController.moduleErr.msg=FileExtMismatchOptionsPanelController\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u306E\u78BA\u8A8D\u4E2D\u306B\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u30A8\u30E9\u30FC\u3092\u8D77\u3053\u3057\u307E\u3057\u305F\u3002\u3069\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u304B\u30ED\u30B0\u3067\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002\u4E00\u90E8\u306E\u30C7\u30FC\u30BF\u304C\u4E0D\u5B8C\u5168\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002 AddFileExtensionAction.extHeaderLbl.text=\u4E0B\u8A18\u7528\u306B\u8A31\u53EF\u3059\u308B\u62E1\u5F35\u5B50 FileExtMismatchModuleSettingsPanel.skipTextPlain.text=\u30C6\u30AD\u30B9\u30C8\u30D5\u30A1\u30A4\u30EB\u306F\u30B9\u30AD\u30C3\u30D7 - FileExtMismatchModuleSettingsPanel.skipNoExtCheckBox.text=\u62E1\u5F35\u5B50\u306E\u7121\u3044\u30D5\u30A1\u30A4\u30EB\u306F\u30B9\u30AD\u30C3\u30D7 FileExtMismatchSettingsPanel.addTypeButton.text=\u30BF\u30A4\u30D7\u3092\u8FFD\u52A0 FileExtMismatchSettingsPanel.extHeaderLabel.text=\u8A31\u53EF\u3059\u308B\u62E1\u5F35\u5B50\uFF1A diff --git a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle.properties b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle.properties index ab8c84ba4e..59388a4aa1 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle.properties @@ -64,10 +64,8 @@ HashDbConfigPanel.indexStatusText.indexOnly=Index only HashDbConfigPanel.indexStatusText.indexed=Indexed HashDbConfigPanel.indexButtonText.reIndex=Re-Index HashDbConfigPanel.indexStatusText.noIndex=No index -HashDbConfigPanel.dbsNotIndexedMsg=The following databases are not indexed, would you like to index them now? \ - {0} -HashDbConfigPanel.dbNotIndexedMsg=The following database is not indexed, would you like to index it now? \ -{0} +HashDbConfigPanel.dbsNotIndexedMsg=The following databases are not indexed, would you like to index them now? \n {0} +HashDbConfigPanel.dbNotIndexedMsg=The following database is not indexed, would you like to index it now? \n{0} HashDbConfigPanel.unindexedDbsMsg=Unindexed databases HashDbConfigPanel.allUnindexedDbsRmFromListMsg=All unindexed databases will be removed from the list HashDbConfigPanel.nameColLbl=Name @@ -115,18 +113,13 @@ HashDbIngestModule.complete.totalLookupTime=Total Lookup Time HashDbIngestModule.complete.databasesUsed=Databases Used\: HashDbIngestModule.complete.hashLookupResults=Hash Lookup Results HashDbManager.moduleErrorListeningToUpdatesMsg=A module caused an error listening to HashDbManager updates. See log to determine which module. Some data could be incomplete. -HashDbManager.replacingDuplicateHashsetNameMsg=Duplicate hash set name {0} found.\ -Replacing with {1}. +HashDbManager.replacingDuplicateHashsetNameMsg=Duplicate hash set name {0} found.\nReplacing with {1}. HashDbManager.openHashDbErr=Open Hash Database Error HashDbManager.unableToOpenHashDbMsg=Unable to open {0} hash database. -HashDbManager.savedBackupOfOldConfigMsg={0}\ -A backup copy of the old configuration has been saved as\ -{1} +HashDbManager.savedBackupOfOldConfigMsg={0}\nA backup copy of the old configuration has been saved as\n{1} HashDbManager.baseMessage.updatedFormatHashDbConfig=The format of the hash database configuration file has been updated. HashDbManager.msgBoxTitle.confFileFmtChanged=Configuration File Format Changed -HashDbManager.dlgMsg.dbNotFoundAtLoc=Database {0} could not be found at location\ -{1}\ -Would you like to search for the file? +HashDbManager.dlgMsg.dbNotFoundAtLoc=Database {0} could not be found at location\n{1}\nWould you like to search for the file? HashDbManager.dlgTitle.MissingDb=Missing Database HashDbManager.progress.indexingHashSet=Indexing {0} HashDbManager.dlgMsg.errorIndexingHashSet=Error indexing {0} hash database. @@ -145,22 +138,18 @@ HashDbSearchThread.name.searching=Searching HashDbSearchThread.noMoreFilesWithMD5Msg=No other files with the same MD5 hash were found. ModalNoButtons.indexingDbsTitle=Indexing databases ModalNoButtons.indexingDbTitle=Indexing database -ModalNoButtons.exitHashDbIndexingMsg=You are about to exit out of indexing your hash databases. \ -The generated index will be left unusable. If you choose to continue,\ - please delete the corresponding -md5.idx file in the hash folder.\ +ModalNoButtons.exitHashDbIndexingMsg=You are about to exit out of indexing your hash databases. \n\ +The generated index will be left unusable. If you choose to continue,\n\ + please delete the corresponding -md5.idx file in the hash folder.\n\ Exit indexing? ModalNoButtons.dlgTitle.unfinishedIndexing=Unfinished Indexing ModalNoButtons.indexThis.currentlyIndexing1Db=Currently indexing 1 database ModalNoButtons.indexThese.currentlyIndexing1OfNDbs=Currently indexing 1 of {0} ModalNoButtons.propChg.currentlyIndexingXofN=Currently indexing {0} of {1} HashDbManager.duplicateHashSetNameExceptionMsg=The hash set name ''{0}'' has already been used for another hash database. -HashDbManager.hashDbDoesNotExistExceptionMsg=No hash database found at\ -{0} -HashDbManager.hashDbFileExistsExceptionMsg=A file already exists at\ -{0} -HashDbManager.hashDbAlreadyAddedExceptionMsg=The hash database at\ -{0}\ -has already been created or imported. +HashDbManager.hashDbDoesNotExistExceptionMsg=No hash database found at\n{0} +HashDbManager.hashDbFileExistsExceptionMsg=A file already exists at\n{0} +HashDbManager.hashDbAlreadyAddedExceptionMsg=The hash database at\n{0}\nhas already been created or imported. HashDbManager.illegalHashDbFileNameExtensionMsg=The hash database file name must have a .{0} extension. HashDbManager.moduleErr=Module Error HashDbManager.knownBad.text=Known Bad diff --git a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle_ja.properties index cc7719d01c..912a9db79c 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle_ja.properties @@ -55,8 +55,7 @@ HashDbConfigPanel.indexStatusText.indexOnly=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9 HashDbConfigPanel.indexStatusText.indexed=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u6E08\u307F HashDbConfigPanel.indexButtonText.reIndex=\u518D\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9 HashDbConfigPanel.indexStatusText.noIndex=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u7121\u3057 -HashDbConfigPanel.dbsNotIndexedMsg=\u4E0B\u8A18\u306E\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306F\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3057\u307E\u3059\u304B\uFF1F\ - {0} +HashDbConfigPanel.dbsNotIndexedMsg=\u4E0B\u8A18\u306E\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306F\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3057\u307E\u3059\u304B\uFF1F\n {0} HashDbConfigPanel.unindexedDbsMsg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u3066\u3044\u306A\u3044\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9 HashDbConfigPanel.allUnindexedDbsRmFromListMsg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u3066\u3044\u306A\u3044\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306F\u30EA\u30B9\u30C8\u304B\u3089\u524A\u9664\u3055\u308C\u307E\u3059 HashDbConfigPanel.nameColLbl=\u540D\u524D @@ -86,8 +85,7 @@ HashDbIngestModule.moduleDescription=\u6A19\u6E96\u306ENSRL\u30C7\u30FC\u30BF\u3 HashDbIngestModule.noKnownHashDbSetMsg=\u65E2\u77E5\u306E\u30CF\u30C3\u30B7\u30E5\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 HashDbIngestModule.knownFileSearchWillNotExecuteWarn=\u65E2\u77E5\u306E\u30D5\u30A1\u30A4\u30EB\u691C\u7D22\u304C\u5B9F\u884C\u3055\u308C\u307E\u305B\u3093\u3002 HashDbIngestModule.noKnownBadHashDbSetMsg=\u65E2\u77E5\u306E\u60AA\u8CEA\u306A\u30CF\u30C3\u30B7\u30E5\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30BB\u30C3\u30C8\u306F\u3042\u308A\u307E\u305B\u3093\u3002 -HashDbConfigPanel.dbNotIndexedMsg=\u4E0B\u8A18\u306E\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306F\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3057\u307E\u3059\u304B\uFF1F\ -{0} +HashDbConfigPanel.dbNotIndexedMsg=\u4E0B\u8A18\u306E\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306F\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3057\u307E\u3059\u304B\uFF1F\n{0} HashDbIngestModule.knownBadFileSearchWillNotExecuteWarn=\u65E2\u77E5\u306E\u60AA\u8CEA\u30D5\u30A1\u30A4\u30EB\u691C\u7D22\u306F\u5B9F\u884C\u3055\u308C\u307E\u305B\u3093\u3002 HashDbIngestModule.fileReadErrorMsg=\u8AAD\u307F\u8FBC\u307F\u30A8\u30E9\u30FC\uFF1A {0} HashDbIngestModule.calcHashValueErr={0}\u306E\u30CF\u30C3\u30B7\u30E5\u5024\u3092\u8A08\u7B97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 @@ -105,18 +103,13 @@ HashDbIngestModule.complete.totalLookupTime=\u30EB\u30C3\u30AF\u30A2\u30C3\u30D7 HashDbIngestModule.complete.databasesUsed=\u5229\u7528\u3057\u305F\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\uFF1A HashDbIngestModule.complete.hashLookupResults=\u30CF\u30C3\u30B7\u30E5\u30EB\u30C3\u30AF\u30A2\u30C3\u30D7\u7D50\u679C HashDbManager.moduleErrorListeningToUpdatesMsg=HashDbManager\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\u304C\u539F\u56E0\u306A\u306E\u304B\u3092\u30ED\u30B0\u3067\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002\u4E00\u90E8\u306E\u30C7\u30FC\u30BF\u304C\u5B8C\u5168\u3067\u306A\u3044\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002 -HashDbManager.replacingDuplicateHashsetNameMsg=\u8907\u88FD\u306E\u30CF\u30C3\u30B7\u30E5\u30BB\u30C3\u30C8\u540D {0} \u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002\ - {1}\u306B\u66F8\u304D\u63DB\u3048\u307E\u3059\u3002 +HashDbManager.replacingDuplicateHashsetNameMsg=\u8907\u88FD\u306E\u30CF\u30C3\u30B7\u30E5\u30BB\u30C3\u30C8\u540D {0} \u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002\n {1}\u306B\u66F8\u304D\u63DB\u3048\u307E\u3059\u3002 HashDbManager.openHashDbErr=\u30CF\u30C3\u30B7\u30E5\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092\u958B\u304F\u30A8\u30E9\u30FC HashDbManager.unableToOpenHashDbMsg=\ {0} \u30CF\u30C3\u30B7\u30E5\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092\u958B\u3051\u307E\u305B\u3093\u3002 -HashDbManager.savedBackupOfOldConfigMsg={0}\ -\u53E4\u3044\u8A2D\u5B9A\u306E\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u30B3\u30D4\u30FC\u304C\u4E0B\u8A18\u306E\u901A\u308A\u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F\u3002\ -{1} +HashDbManager.savedBackupOfOldConfigMsg={0}\n\u53E4\u3044\u8A2D\u5B9A\u306E\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u30B3\u30D4\u30FC\u304C\u4E0B\u8A18\u306E\u901A\u308A\u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F\u3002\n{1} HashDbManager.baseMessage.updatedFormatHashDbConfig=\u30CF\u30C3\u30B7\u30E5\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB\u306E\u5F62\u5F0F\u304C\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F\u3002 HashDbManager.msgBoxTitle.confFileFmtChanged=\u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u306E\u5909\u66F4\u5B8C\u4E86 -HashDbManager.dlgMsg.dbNotFoundAtLoc=\ {0} \u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306F\u4E0B\u8A18\u306E\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3\u306B\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\ - {1}\ - \u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3057\u307E\u3059\u304B\uFF1F +HashDbManager.dlgMsg.dbNotFoundAtLoc=\ {0} \u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306F\u4E0B\u8A18\u306E\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3\u306B\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\n {1}\n \u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3057\u307E\u3059\u304B\uFF1F HashDbManager.dlgTitle.MissingDb=\u6B20\u843D\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9 HashDbManager.progress.indexingHashSet=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u4E2D {0} HashDbManager.dlgMsg.errorIndexingHashSet=\ {0} \u30CF\u30C3\u30B7\u30E5\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u4E2D\u306E\u30A8\u30E9\u30FC @@ -135,22 +128,18 @@ HashDbSearchThread.name.searching=\u691C\u7D22\u4E2D HashDbSearchThread.noMoreFilesWithMD5Msg=\u540C\u3058MD5\u30CF\u30C3\u30B7\u30E5\u4ED8\u304D\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u4ED6\u306B\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002 ModalNoButtons.indexingDbsTitle=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u4E2D ModalNoButtons.indexingDbTitle=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u4E2D -ModalNoButtons.exitHashDbIndexingMsg=\u30CF\u30C3\u30B7\u30E5\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3092\u4E2D\u6B62\u3057\u307E\u3059\u3002\ -\u4F5C\u6210\u3055\u308C\u305F\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u306F\u5229\u7528\u4E0D\u53EF\u3068\u306A\u308A\u307E\u3059\u3002\u7D9A\u884C\u3059\u308B\u5834\u5408\u306F\ -\u30CF\u30C3\u30B7\u30E5\u30D5\u30A9\u30EB\u30C0\u5185\u306B\u3042\u308B\u3001\u5BFE\u5FDC\u3059\u308B-md5.idx \u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3057\u3066\u4E0B\u3055\u3044\u3002\ +ModalNoButtons.exitHashDbIndexingMsg=\u30CF\u30C3\u30B7\u30E5\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3092\u4E2D\u6B62\u3057\u307E\u3059\u3002\n\ +\u4F5C\u6210\u3055\u308C\u305F\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u306F\u5229\u7528\u4E0D\u53EF\u3068\u306A\u308A\u307E\u3059\u3002\u7D9A\u884C\u3059\u308B\u5834\u5408\u306F\n\ +\u30CF\u30C3\u30B7\u30E5\u30D5\u30A9\u30EB\u30C0\u5185\u306B\u3042\u308B\u3001\u5BFE\u5FDC\u3059\u308B-md5.idx \u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3057\u3066\u4E0B\u3055\u3044\u3002\n\ \u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3092\u4E2D\u6B62\u3057\u307E\u3059\u304B\uFF1F ModalNoButtons.dlgTitle.unfinishedIndexing=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u672A\u5B8C\u4E86 ModalNoButtons.indexThis.currentlyIndexing1Db=\uFF11\u3064\u306E\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u4E2D ModalNoButtons.indexThese.currentlyIndexing1OfNDbs=\uFF11\uFF0F {0}\u3064\u76EE\u3092\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u4E2D ModalNoButtons.propChg.currentlyIndexingXofN={0}\uFF0F {1}\u3064\u76EE\u3092\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u4E2D HashDbManager.duplicateHashSetNameExceptionMsg=\u30CF\u30C3\u30B7\u30E5\u30BB\u30C3\u30C8\u540D''{0}''\u306F\u65E2\u306B\u5225\u306E\u30CF\u30C3\u30B7\u30E5\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306B\u4F7F\u308F\u308C\u3066\u3044\u307E\u3059\u3002 -HashDbManager.hashDbDoesNotExistExceptionMsg=\u4E0B\u8A18\u3067\u306F\u30CF\u30C3\u30B7\u30E5\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\ -{0} -HashDbManager.hashDbFileExistsExceptionMsg=\u4E0B\u8A18\u306B\u306F\u65E2\u306B\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\ -{0} -HashDbManager.hashDbAlreadyAddedExceptionMsg=\u4E0B\u8A18\u306E\u30CF\u30C3\u30B7\u30E5\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\ -{0}\ -\u306F\u65E2\u306B\u4F5C\u6210\u307E\u305F\u306F\u30A4\u30F3\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u3059\u3002 +HashDbManager.hashDbDoesNotExistExceptionMsg=\u4E0B\u8A18\u3067\u306F\u30CF\u30C3\u30B7\u30E5\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\n{0} +HashDbManager.hashDbFileExistsExceptionMsg=\u4E0B\u8A18\u306B\u306F\u65E2\u306B\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\n{0} +HashDbManager.hashDbAlreadyAddedExceptionMsg=\u4E0B\u8A18\u306E\u30CF\u30C3\u30B7\u30E5\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\n{0}\n\u306F\u65E2\u306B\u4F5C\u6210\u307E\u305F\u306F\u30A4\u30F3\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u3059\u3002 HashDbManager.illegalHashDbFileNameExtensionMsg=\u30CF\u30C3\u30B7\u30E5\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u540D\u306F.{0}\u306E\u62E1\u5F35\u5B50\u304C\u5FC5\u8981\u3067\u3059\u3002 HashDbManager.moduleErr=\u30E2\u30B8\u30E5\u30FC\u30EB\u30A8\u30E9\u30FC HashDbManager.knownBad.text=\u65E2\u77E5\u306E\u60AA\u8CEA diff --git a/Core/src/org/sleuthkit/autopsy/report/Bundle.properties b/Core/src/org/sleuthkit/autopsy/report/Bundle.properties index 596d7e46e1..eb356ad9b0 100644 --- a/Core/src/org/sleuthkit/autopsy/report/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/report/Bundle.properties @@ -64,8 +64,7 @@ ReportExcel.cellVal.caseName=Case Name\: ReportExcel.cellVal.caseNum=Case Number\: ReportExcel.cellVal.examiner=Examiner\: ReportExcel.cellVal.numImages=Number of Images\: -ReportGenerationPanel.confDlg.sureToClose.msg=Are you sure you'd like to close the dialog?\ -All reports will be canceled. +ReportGenerationPanel.confDlg.sureToClose.msg=Are you sure you'd like to close the dialog?\nAll reports will be canceled. ReportGenerationPanel.confDlg.title.closing=Closing ReportGenerationPanel.confDlg.cancelReports.msg=Are you sure you'd like to cancel all the reports? ReportGenerator.displayProgress.title.text=Report Generation Progress... diff --git a/Core/src/org/sleuthkit/autopsy/report/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/report/Bundle_ja.properties index 4b36ac9852..9572b5661f 100644 --- a/Core/src/org/sleuthkit/autopsy/report/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/report/Bundle_ja.properties @@ -58,8 +58,7 @@ ReportExcel.cellVal.caseName=\u30B1\u30FC\u30B9\u540D\uFF1A ReportExcel.cellVal.caseNum=\u30B1\u30FC\u30B9\u756A\u53F7\uFF1A ReportExcel.cellVal.examiner=\u8ABF\u67FB\u62C5\u5F53\u8005\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\ -\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.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 diff --git a/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle.properties b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle.properties index c38a3ae87a..6c4bc4b0d3 100644 --- a/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle.properties +++ b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle.properties @@ -1,6 +1,6 @@ OpenIDE-Module-Display-Category=Libraries OpenIDE-Module-Long-Description=\ - External library dependencies for the Core module. \ + External library dependencies for the Core module. \n\ The libraries can also be imported by other modules. OpenIDE-Module-Name=Autopsy-CoreLibs OpenIDE-Module-Short-Description=Autopsy Core module external libraries diff --git a/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle_ja.properties b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle_ja.properties index c755a6d8da..92a8c0ab97 100644 --- a/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle_ja.properties +++ b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle_ja.properties @@ -1,7 +1,7 @@ OpenIDE-Module-Display-Category=\u30E9\u30A4\u30D6\u30E9\u30EA OpenIDE-Module-Name=Autopsy-\u30B3\u30A2\u30E9\u30A4\u30D6\u30E9\u30EA OpenIDE-Module-Long-Description=\ - \u30B3\u30A2\u30E2\u30B8\u30E5\u30FC\u30EB\u7528\u306E\u5916\u90E8\u30E9\u30A4\u30D6\u30E9\u30EA\u30C7\u30A3\u30DA\u30F3\u30C7\u30F3\u30B7\u30FC\u3002\ + \u30B3\u30A2\u30E2\u30B8\u30E5\u30FC\u30EB\u7528\u306E\u5916\u90E8\u30E9\u30A4\u30D6\u30E9\u30EA\u30C7\u30A3\u30DA\u30F3\u30C7\u30F3\u30B7\u30FC\u3002\n\ \u30E9\u30A4\u30D6\u30E9\u30EA\u306F\u4ED6\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u304B\u3089\u3082\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u3059\u3002 OpenIDE-Module-Short-Description=Autopsy\u30B3\u30A2\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u5916\u90E8\u30E9\u30A4\u30D6\u30E9\u30EA SigarLoader.linkErr.msg=Sigar\u30E9\u30A4\u30D6\u30E9\u30EA\u3092\u304A\u4F7F\u3044\u306E\u74B0\u5883\u306B\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u91CD\u5927\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3001OS\u30EC\u30D9\u30EB\u306E\u30E1\u30C8\u30EA\u30AF\u30B9\u306F\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\u3002 \ No newline at end of file diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties index 610f81257a..b3fbe69f04 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties @@ -1,7 +1,7 @@ OpenIDE-Module-Display-Category=Ingest Module OpenIDE-Module-Long-Description=\ Keyword Search ingest module.\n\n\ - The module indexes files found in the disk image at ingest time. \ + The module indexes files found in the disk image at ingest time. \n\ It then periodically runs the search on the indexed files using one or more keyword lists (containing pure words and/or regular expressions) and posts results.\n\n\ The module also contains additional tools integrated in the main GUI, such as keyword list configuration, keyword seach bar in the top-right corner, extracted text viewer and search results viewer showing highlighted keywords found. OpenIDE-Module-Name=KeywordSearch diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties index b35952eb9c..aa75c94af6 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties @@ -1,7 +1,7 @@ OpenIDE-Module-Display-Category=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb OpenIDE-Module-Long-Description=\ \u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\n\n\ - \u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u6642\u306e\u30c7\u30a3\u30b9\u30af\u30a4\u30e1\u30fc\u30b8\u306b\u3042\u308b\u30d5\u30a1\u30a4\u30eb\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3057\u307e\u3059\u3002\ + \u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u6642\u306e\u30c7\u30a3\u30b9\u30af\u30a4\u30e1\u30fc\u30b8\u306b\u3042\u308b\u30d5\u30a1\u30a4\u30eb\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3057\u307e\u3059\u3002\n\ \u305d\u3057\u3066\u3001\u4e00\u3064\u4ee5\u4e0a\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\uff08\u5358\u8a9e\u3084\u6b63\u898f\u8868\u73fe\u3092\u542b\u3080\uff09\u3092\u5229\u7528\u3057\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u5b9a\u671f\u7684\u306b\u691c\u7d22\u3057\u3001\u7d50\u679c\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n\n\ \u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u306f\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u8a2d\u5b9a\u3001\u53f3\u4e0a\u9685\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30d0\u30fc\u3001\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u306e\u7d50\u679c\u3092\u30cf\u30a4\u30e9\u30a4\u30c8\u3057\u3066\u8868\u793a\u3059\u308b\u62bd\u51fa\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u30d3\u30e5\u30fc\u30a2\u3068\u691c\u7d22\u7d50\u679c\u30d3\u30e5\u30fc\u30a2\u306a\u3069\u3001\u30e1\u30a4\u30f3GUI\u3068\u9023\u643a\u3059\u308b\u8ffd\u52a0\u306e\u30c4\u30fc\u30eb\u304c\u542b\u307e\u308c\u307e\u3059\u3002 OpenIDE-Module-Name=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22 diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties index c42c3ef9dc..d48bb0de81 100644 --- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties +++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties @@ -2,7 +2,7 @@ OpenIDE-Module-Display-Category=Ingest Module OpenIDE-Module-Long-Description=\ Recent Activity ingest module.\n\n\ The module extracts useful information about the recent user activity on the disk image being ingested, such as:\n\n- Recently open documents,\n- Web acitivity (sites visited, stored cookies, bookmarked sites, search engine queries, file downloads),\n- Recently attached devices,\n- Installed programs.\n\n\ - The module currently supports Windows only disk images. \ + The module currently supports Windows only disk images. \n\ The plugin is also fully functional when deployed on Windows version of Autopsy. OpenIDE-Module-Name=RecentActivity OpenIDE-Module-Short-Description=Recent Activity finder ingest module @@ -89,10 +89,10 @@ RecentDocumentsByLnk.parentModuleName=Recent Activity SearchEngineURLQueryAnalyzer.moduleName.text=Search Engine SearchEngineURLQueryAnalyzer.engineName.none=NONE SearchEngineURLQueryAnalyzer.domainSubStr.none=NONE -SearchEngineURLQueryAnalyzer.toString=Name\: {0}\ - Domain Substring\: {1}\ - count\: {2}\ - Split Tokens\: \ +SearchEngineURLQueryAnalyzer.toString=Name\: {0}\n\ + Domain Substring\: {1}\n\ + count\: {2}\n\ + Split Tokens\: \n\ {3} SearchEngineURLQueryAnalyzer.parentModuleName.noSpace=RecentActivity SearchEngineURLQueryAnalyzer.parentModuleName=Recent Activity diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle_ja.properties b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle_ja.properties index 93784186e2..cbbcb03a7d 100644 --- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle_ja.properties +++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle_ja.properties @@ -2,7 +2,7 @@ OpenIDE-Module-Display-Category=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8 OpenIDE-Module-Long-Description=\ \u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB\u3002\n\n\ \u3053\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306F\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u4E2D\u306E\u30C7\u30A3\u30B9\u30AF\u30A4\u30E1\u30FC\u30B8\u306E\u6700\u8FD1\u306E\u30E6\u30FC\u30B6\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u306B\u95A2\u3057\u3066\u5F79\u7ACB\u3064\u60C5\u5831\u3092\u62BD\u51FA\u3057\u307E\u3059\u3002\u4F8B\u3048\u3070\uFF1A\n\n-\u6700\u8FD1\u958B\u3044\u305F\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3001\n-\u30A6\u30A7\u30D6\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\uFF08\u8A2A\u308C\u305F\u30B5\u30A4\u30C8\u3001Cookie\u3001\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u3055\u308C\u305F\u30B5\u30A4\u30C8\u3001\u30B5\u30FC\u30C1\u30A8\u30F3\u30B8\u30F3\u30AF\u30A8\u30EA\u3001\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\uFF09\u3001\n-\u6700\u8FD1\u30A2\u30BF\u30C3\u30C1\u3055\u308C\u305F\u30C7\u30D0\u30A4\u30B9\u3001\n-\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u305F\u30D7\u30ED\u30B0\u30E9\u30E0\u3002\n\n\ - \u3053\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306F\u73FE\u5728Windows\u306E\u30C7\u30A3\u30B9\u30AF\u30A4\u30E1\u30FC\u30B8\u3057\u304B\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002\ + \u3053\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306F\u73FE\u5728Windows\u306E\u30C7\u30A3\u30B9\u30AF\u30A4\u30E1\u30FC\u30B8\u3057\u304B\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002\n\ \u30D7\u30E9\u30B0\u30A4\u30F3\u306FWindows\u7248\u306EAutopsy\u306B\u3066\u5229\u7528\u3059\u308B\u3068\u5B8C\u5168\u6A5F\u80FD\u3057\u307E\u3059\u3002 OpenIDE-Module-Name=\u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3 OpenIDE-Module-Short-Description=\u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u30D5\u30A1\u30A4\u30F3\u30C0\u30FC\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB @@ -89,10 +89,10 @@ RecentDocumentsByLnk.parentModuleName=\u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3 SearchEngineURLQueryAnalyzer.moduleName.text=\u691C\u7D22\u30A8\u30F3\u30B8\u30F3 SearchEngineURLQueryAnalyzer.engineName.none=\u7121\u3057 SearchEngineURLQueryAnalyzer.domainSubStr.none=\u7121\u3057 -SearchEngineURLQueryAnalyzer.toString=\u540D\u79F0\uFF1A {0}\ - \u30C9\u30E1\u30A4\u30F3\u30B5\u30D6\u30B9\u30C8\u30EA\u30F3\u30B0\uFF1A {1}\ - \u30AB\u30A6\u30F3\u30C8\uFF1A {2}\ - \u5206\u5272\u30C8\u30FC\u30AF\u30F3\ +SearchEngineURLQueryAnalyzer.toString=\u540D\u79F0\uFF1A {0}\n\ + \u30C9\u30E1\u30A4\u30F3\u30B5\u30D6\u30B9\u30C8\u30EA\u30F3\u30B0\uFF1A {1}\n\ + \u30AB\u30A6\u30F3\u30C8\uFF1A {2}\n\ + \u5206\u5272\u30C8\u30FC\u30AF\u30F3\n\ {3} SearchEngineURLQueryAnalyzer.parentModuleName.noSpace=\u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3 SearchEngineURLQueryAnalyzer.parentModuleName=\u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3 diff --git a/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/Bundle.properties b/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/Bundle.properties index b00f23b0d9..dc1c12ac75 100644 --- a/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/Bundle.properties +++ b/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/Bundle.properties @@ -5,7 +5,7 @@ OpenIDE-Module-Long-Description=\ Carved files are reanalyzed and displayed in the directory tree. OpenIDE-Module-Short-Description=Carves files from unallocated space ScalpelCarverIngestModule.moduleName=Scalpel Carver -ScalpelCarverIngestModule.moduleDesc.text=Carves files from unallocated space at ingest time.\ +ScalpelCarverIngestModule.moduleDesc.text=Carves files from unallocated space at ingest time.\n\ Carved files are reanalyzed and displayed in the directory tree. ScalpelCarverIngestModule.startUp.exception.msg1=Scalpel carving module is not compatible with non-Windows OS's at this time. ScalpelCarverIngestModule.startUp.exception.msg2=Error initializing scalpel carver. diff --git a/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/Bundle_ja.properties b/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/Bundle_ja.properties index 7cac7b9c28..5dc1dca03d 100644 --- a/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/Bundle_ja.properties +++ b/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/Bundle_ja.properties @@ -5,7 +5,7 @@ OpenIDE-Module-Long-Description=\ \u5207\u308A\u51FA\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u306F\u518D\u5EA6\u89E3\u6790\u3055\u308C\u3001\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30C4\u30EA\u30FC\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002 OpenIDE-Module-Short-Description=\u672A\u5272\u308A\u5F53\u3066\u9818\u57DF\u304B\u3089\u30D5\u30A1\u30A4\u30EB\u3092\u5207\u308A\u51FA\u3057\u307E\u3059 ScalpelCarverIngestModule.moduleName=Scalpel\u30AB\u30FC\u30D0 -ScalpelCarverIngestModule.moduleDesc.text=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3092\u5B9F\u884C\u3059\u308B\u969B\u306B\u672A\u5272\u308A\u5F53\u3066\u9818\u57DF\u304B\u3089\u30D5\u30A1\u30A4\u30EB\u3092\u5207\u308A\u51FA\u3057\u307E\u3059\u3002\ +ScalpelCarverIngestModule.moduleDesc.text=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3092\u5B9F\u884C\u3059\u308B\u969B\u306B\u672A\u5272\u308A\u5F53\u3066\u9818\u57DF\u304B\u3089\u30D5\u30A1\u30A4\u30EB\u3092\u5207\u308A\u51FA\u3057\u307E\u3059\u3002\n\ \u5207\u308A\u51FA\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u306F\u518D\u5EA6\u89E3\u6790\u3055\u308C\u3001\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30C4\u30EA\u30FC\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002 ScalpelCarverIngestModule.startUp.exception.msg1=\u73FE\u6642\u70B9\u3067\u306F\u3001Scalpel\u30AB\u30FC\u30D3\u30F3\u30B0\u30E2\u30B8\u30E5\u30FC\u30EB\u306FWindows OS\u4EE5\u5916\u3068\u306F\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002 ScalpelCarverIngestModule.startUp.exception.msg2=Scalpel\u30AB\u30FC\u30D0\u306E\u521D\u671F\u5316\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 diff --git a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle.properties b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle.properties index 82e9e87245..f7f1bb06a5 100644 --- a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle.properties +++ b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle.properties @@ -1,7 +1,7 @@ OpenIDE-Module-Display-Category=Ingest Module OpenIDE-Module-Long-Description=\ Email Parser ingest module.\n\n\ - The module extracts MBOX and PST e-mail files and posts the results to the blackboard. \ + The module extracts MBOX and PST e-mail files and posts the results to the blackboard. \n\ It knows about the Thunderbird folder structure for MBOX files. OpenIDE-Module-Name=Email Parser OpenIDE-Module-Short-Description=Parses MBOX and PST files From 9f7b7c61fa49e91eabf2ec6100e84aad28cf4f42 Mon Sep 17 00:00:00 2001 From: Nick Davis Date: Wed, 2 Jul 2014 21:18:01 -0400 Subject: [PATCH 10/16] Removed contractions to eliminate single quotes that were not printing correctly. --- .../autopsy/casemodule/Bundle.properties | 16 +++++++-------- .../autopsy/corecomponents/Bundle.properties | 4 ++-- .../autopsy/coreutils/Bundle.properties | 20 +++++++++---------- .../autopsy/datamodel/Bundle.properties | 8 ++++---- .../autopsy/directorytree/Bundle.properties | 4 ++-- .../thunderbirdparser/Bundle.properties | 6 +++--- 6 files changed, 29 insertions(+), 29 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties b/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties index 667c5be381..4b49d97b71 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties @@ -106,7 +106,7 @@ AddImageWizardIngestConfigPanel.dsProcDone.errs.text=*Errors encountered in addi AddImageWizardIngestConfigVisual.getName.text=Configure Ingest Modules AddImageWizardIterator.stepXofN=Step {0} of {1} AddLocalFilesTask.localFileAdd.progress.text=Adding\: {0}/{1} -Case.getCurCase.exception.noneOpen=Can't get the current case; there is no case open\! +Case.getCurCase.exception.noneOpen=Cannot get the current case; there is no case open\! Case.moduleErr=Module Error Case.changeCase.errListenToCaseUpdates.msg=A module caused an error listening to Case updates. See log to determine which module. Some data could be incomplete. Case.create.exception.msg=Error creating a case\: {0} in dir {1} @@ -140,12 +140,12 @@ CaseDeleteAction.closeConfMsg.text=Are you sure want to close and delete this ca Case Name\: {0}\n\ Case Directory\: {1} CaseDeleteAction.closeConfMsg.title=Warning\: Closing the Current Case -CaseDeleteAction.msgDlg.fileInUse.msg=The delete action can't be fully completed because the folder or file in it is open by another program.\n\n\ +CaseDeleteAction.msgDlg.fileInUse.msg=The delete action cannot be fully completed because the folder or file in it is open by another program.\n\n\ Close the folder and file and try again or you can delete the case manually. CaseDeleteAction.msgDlg.fileInUse.title=Error\: Folder In Use CaseDeleteAction.msgDlg.caseDelete.msg=Case {0} has been deleted. CaseOpenAction.autFilter.title={0} Case File ( {1}) -CaseOpenAction.msgDlg.fileNotExist.msg=Error\: File doesn't exist. +CaseOpenAction.msgDlg.fileNotExist.msg=Error\: File does not exist. CaseOpenAction.msgDlg.fileNotExist.title=Error CaseOpenAction.msgDlg.cantOpenCase.msg=Error\: could not open the case in folder {0}\: {1} CaseOpenAction.msgDlg.cantOpenCase.title=Error @@ -191,22 +191,22 @@ NewCaseWizardAction.newCase.windowTitle.text=New Case Information NewCaseWizardAction.getName.text=New Case Wizard NewCaseWizardPanel1.validate.errMsg.invalidSymbols=The Case Name cannot contain any of the following symbols\: \\ / \: * ? " < > | NewCaseWizardPanel1.validate.errMsg.dirExists=Case directory ''{0}'' already exists. -NewCaseWizardPanel1.validate.confMsg.createDir.msg=The base directory "{0}" doesn't exist. \n\n\ +NewCaseWizardPanel1.validate.confMsg.createDir.msg=The base directory "{0}" does not exist. \n\n\ Do you want to create that directory? NewCaseWizardPanel1.validate.confMsg.createDir.title=Create directory -NewCaseWizardPanel1.validate.errMsg.cantCreateParDir.msg=Error\: Couldn't create case parent directory {0} +NewCaseWizardPanel1.validate.errMsg.cantCreateParDir.msg=Error\: Could not create case parent directory {0} NewCaseWizardPanel1.validate.errMsg.prevCreateBaseDir.msg=Prevented from creating base directory {0} -NewCaseWizardPanel1.validate.errMsg.cantCreateDir=Error\: Couldn't create directory. +NewCaseWizardPanel1.validate.errMsg.cantCreateDir=Error\: Could not create 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. NewCaseWizardPanel2.validate.errCreateCase.msg=Error creating case -OpenRecentCasePanel.openCase.msgDlg.caseDoesntExist.msg=Error\: Case {0} doesn't exist. +OpenRecentCasePanel.openCase.msgDlg.caseDoesntExist.msg=Error\: Case {0} does not exist. OpenRecentCasePanel.openCase.msgDlg.err=Error OpenRecentCasePanel.colName.caseName=Case Name OpenRecentCasePanel.colName.path=Path RecentCases.exception.caseIdxOutOfRange.msg=Recent case index {0} is out of range. RecentCases.getName.text=Clear Recent Cases -RecentItems.openRecentCase.msgDlg.text=Error\: Case {0} doesn't exist. +RecentItems.openRecentCase.msgDlg.text=Error\: Case {0} does not exist. RecentItems.openRecentCase.msgDlg.err=Error StartupWindow.title.text=Welcome UpdateRecentCases.menuItem.clearRecentCases.text=Clear Recent Cases diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties index 9ce6077b6d..e4a5090dbb 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties @@ -87,8 +87,8 @@ DataContentViewerString.title=Strings DataContentViewerString.toolTip=Displays ASCII and Unicode strings extracted from the file. DataResultPanel.dummyNodeDisplayName=Please Wait... DataResultViewerTable.firstColLbl=Name -DataResultViewerTable.illegalArgExc.noChildFromParent=Couldn't get a child Node from the given parent. -DataResultViewerTable.illegalArgExc.childWithoutPropertySet=Child Node doesn't have the regular PropertySet. +DataResultViewerTable.illegalArgExc.noChildFromParent=Could not get a child Node from the given parent. +DataResultViewerTable.illegalArgExc.childWithoutPropertySet=Child Node does not have the regular PropertySet. DataResultViewerTable.title=Table DataResultViewerTable.dummyNodeDisplayName=Please Wait... DataResultViewerThumbnail.title=Thumbnail diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/Bundle.properties b/Core/src/org/sleuthkit/autopsy/coreutils/Bundle.properties index 12a01a7ab1..d63b55a2cc 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/coreutils/Bundle.properties @@ -5,16 +5,16 @@ PlatformUtil.verUnknown=unknown PlatformUtil.archUnknown=unknown PlatformUtil.jrePath.jreDir.msg=Embedded jre directory found in\: {0} PlatformUtil.jrePath.usingJavaPath.msg=Using java binary path\: {0} -PlatformUtil.getPID.sigarNotInit.msg=Can't get PID, sigar not initialized -PlatformUtil.getPID.gen.msg=Can't get PID,{0} -PlatformUtil.getJavaPID.sigarNotInit.msg=Can't get PID of a java process, sigar not initialized -PlatformUtil.getJavaPID.gen.msg=Can't get PID for query\: {0}, {1} -PlatformUtil.getJavaPIDs.sigarNotInit=Can't get PIDs of a java process, sigar not initialized -PlatformUtil.getJavaPIDs.gen.msg=Can't get PIDs for query\: {0}, {1} -PlatformUtil.killProcess.sigarNotInit.msg=Can't kill process by pid, sigar not initialized. -PlatformUtil.killProcess.gen.msg=Can't kill process\: {0}, {1} -PlatformUtil.getProcVmUsed.sigarNotInit.msg=Can't get virt mem used, sigar not initialized. -PlatformUtil.getProcVmUsed.gen.msg=Can't get virt mem used, {0} +PlatformUtil.getPID.sigarNotInit.msg=Cannot get PID, sigar not initialized +PlatformUtil.getPID.gen.msg=Cannot get PID,{0} +PlatformUtil.getJavaPID.sigarNotInit.msg=Cannot get PID of a java process, sigar not initialized +PlatformUtil.getJavaPID.gen.msg=Cannot get PID for query\: {0}, {1} +PlatformUtil.getJavaPIDs.sigarNotInit=Cannot get PIDs of a java process, sigar not initialized +PlatformUtil.getJavaPIDs.gen.msg=Cannot get PIDs for query\: {0}, {1} +PlatformUtil.killProcess.sigarNotInit.msg=Cannot kill process by pid, sigar not initialized. +PlatformUtil.killProcess.gen.msg=Cannot kill process\: {0}, {1} +PlatformUtil.getProcVmUsed.sigarNotInit.msg=Cannot get virt mem used, sigar not initialized. +PlatformUtil.getProcVmUsed.gen.msg=Cannot get virt mem used, {0} PlatformUtil.getJvmMemInfo.usageText=JVM heap usage\: {0}, JVM non-heap usage\: {1} PlatformUtil.getPhysicalMemInfo.usageText=Physical memory usage (max, total, free)\: {0}, {1}, {2} PlatformUtil.getAllMemUsageInfo.usageText={0}\n\ diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties index fa5f714613..378c308335 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties @@ -20,11 +20,11 @@ AbstractAbstractFileNode.inHashsetsColLbl=In Hashsets AbstractAbstractFileNode.md5HashColLbl=MD5 Hash AbstractContentChildren.CreateTSKNodeVisitor.exception.noNodeMsg=No Node defined for the given SleuthkitItem AbstractContentChildren.createAutopsyNodeVisitor.exception.noNodeMsg=No Node defined for the given DisplayableItem -AbstractContentNode.exception.cannotChangeSysName.msg=Can't change the system name. +AbstractContentNode.exception.cannotChangeSysName.msg=Cannot change the system name. AbstractFsContentNode.noDesc.text=no description ArtifactStringContent.getStr.srcFilePath.text=Source File Path ArtifactStringContent.getStr.err=Error getting content -ArtifactStringContent.exception.msg=Couldn't get file from database +ArtifactStringContent.exception.msg=Could not get file from database ArtifactTypeNode.createSheet.artType.name=Artifact Type ArtifactTypeNode.createSheet.artType.displayName=Artifact Type ArtifactTypeNode.createSheet.artType.desc=no description @@ -42,7 +42,7 @@ BlackboardArtifactNode.createSheet.filePath.name=File Path BlackboardArtifactNode.createSheet.filePath.displayName=File Path BlackboardArtifactNode.createSheet.dataSrc.name=Data Source BlackboardArtifactNode.createSheet.dataSrc.displayName=Data Source -BlackboardArtifactNode.getAssocCont.exception.msg=Couldn't get file from database +BlackboardArtifactNode.getAssocCont.exception.msg=Could not get file from database BlackboardArtifactTagNode.createSheet.srcFile.text=Source File BlackboardArtifactTagNode.createSheet.unavail.text=Unavailable BlackboardArtifactTagNode.createSheet.srcFilePath.text=Source File Path @@ -61,7 +61,7 @@ ContentTagNode.createSheet.comment.displayName=Comment ContentTagTypeNode.displayName.text=File Tags ContentTagTypeNode.createSheet.name.name=Name ContentTagTypeNode.createSheet.name.displayName=Name -ContentUtils.exception.msg=Can't extract a {0} +ContentUtils.exception.msg=Cannot extract a {0} DataModelActionsFactory.srcFileInDir.text=View Source File in Directory DataModelActionsFactory.fileInDir.text=View File in Directory DataModelActionsFactory.viewNewWin.text=View in New Window diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/Bundle.properties b/Core/src/org/sleuthkit/autopsy/directorytree/Bundle.properties index 81c9b09490..aae7628173 100644 --- a/Core/src/org/sleuthkit/autopsy/directorytree/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/directorytree/Bundle.properties @@ -73,10 +73,10 @@ ExplorerNodeActionVisitor.volDetail.noVolMatchErr=Error\: No Volume Matches. ExplorerNodeActionVisitor.imgDetail.noVolMatchesErr=Error\: No Volume Matches. ExplorerNodeActionVisitor.exception.probGetParent.text=Problem getting parent from {0}\: {1} ExtractAction.title.extractFiles.text=Extract File(s) -ExtractAction.extractFiles.cantCreateFolderErr.msg=Couldn't create selected folder. +ExtractAction.extractFiles.cantCreateFolderErr.msg=Could not create selected folder. ExtractAction.confDlg.destFileExist.msg=Destination file {0} already exists, overwrite? ExtractAction.confDlg.destFileExist.title=File Exists -ExtractAction.msgDlg.cantOverwriteFile.msg=Couldn't overwrite existing file {0} +ExtractAction.msgDlg.cantOverwriteFile.msg=Could not overwrite existing file {0} ExtractAction.notifyDlg.noFileToExtr.msg=No file(s) to extract. ExtractAction.progress.extracting=Extracting ExtractAction.progress.cancellingExtraction={0} (Cancelling...) diff --git a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle.properties b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle.properties index f7f1bb06a5..bdb397794d 100644 --- a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle.properties +++ b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle.properties @@ -6,20 +6,20 @@ OpenIDE-Module-Long-Description=\ OpenIDE-Module-Name=Email Parser OpenIDE-Module-Short-Description=Parses MBOX and PST files MboxParser.parse.errMsg.failedToReadFile=Failed to read mbox file from disk. -MboxParser.parse.errMsg.couldntFindCharset=Couldn't find appropriate charset encoder. +MboxParser.parse.errMsg.couldntFindCharset=Could not find appropriate charset encoder. MboxParser.parse.errMsg.failedToParseNMsgs=Failed to extract {0} email messages. MboxParser.handleAttch.errMsg.failedToCreateOnDisk=Failed to extract attachment to disk\: {0} MboxParser.handleAttch.failedWriteToDisk=Failed to extract attachment to disk\: {0} PstParser.parse.errMsg.failedToParseNMsgs=Failed to extract {0} email messages. PstParser.extractAttch.errMsg.failedToExtractToDisk=Failed to extract attachment to disk\: {0} ThunderbirdMboxFileIngestModule.moduleName=Email Parser -ThunderbirdMboxFileIngestModule.processPst.errMsg.outOfDiskSpace=Out of disk space. Can't copy {0} to parse. +ThunderbirdMboxFileIngestModule.processPst.errMsg.outOfDiskSpace=Out of disk space. Cannot copy {0} to parse. ThunderbirdMboxFileIngestModule.encryptionFileLevel=File-level Encryption ThunderbirdMboxFileIngestModule.processPst.errProcFile.msg=Error while processing {0} ThunderbirdMboxFileIngestModule.processPst.errProcFile.details=Only files from Outlook 2003 and later are supported. ThunderbirdMboxFileIngestModule.processPst.errProcFile.msg2=Error while processing {0} ThunderbirdMboxFileIngestModule.processMBox.errProcFile.msg=Error while processing {0} -ThunderbirdMboxFileIngestModule.processMBox.errProfFile.details=Out of disk space. Can't copy file to parse. +ThunderbirdMboxFileIngestModule.processMBox.errProfFile.details=Out of disk space. Cannot copy file to parse. ThunderbirdMboxFileIngestModule.processMBox.errProcFile.msg2=Error while processing {0} ThunderbirdMboxFileIngestModule.getDesc.text=This module detects and parses mbox and pst/ost files and populates email artifacts in the blackboard. ThunderbirdMboxFileIngestModule.handleAttch.errMsg=Error processing {0} From 371064cd57ee944710829a927a7d5728d67dcf14 Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Thu, 3 Jul 2014 11:19:29 -0400 Subject: [PATCH 11/16] Fix bug in case name code in XMLCaseManagement --- .../src/org/sleuthkit/autopsy/casemodule/XMLCaseManagement.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/XMLCaseManagement.java b/Core/src/org/sleuthkit/autopsy/casemodule/XMLCaseManagement.java index 1dcb158629..ca69d93a90 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/XMLCaseManagement.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/XMLCaseManagement.java @@ -659,7 +659,7 @@ import org.xml.sax.SAXException; // set the case Directory and Name setCaseDirPath(file.getParent()); String fullFileName = file.getName(); - String fileName = fullFileName.substring(0, fullFileName.indexOf(".")); // remove the extension + String fileName = fullFileName.substring(0, fullFileName.lastIndexOf(".")); // remove the extension setName(fileName); } } From bf721745374d178db6d8081545e8cfdcb1e6ba2e Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Thu, 3 Jul 2014 16:40:54 -0400 Subject: [PATCH 12/16] Revert auto-select of a single node until exceptions are eliminated --- .../autopsy/corecomponents/DataResultPanel.java | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultPanel.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultPanel.java index 647b1e75f9..0a897a61c2 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultPanel.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultPanel.java @@ -22,7 +22,6 @@ import java.awt.Cursor; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; -import java.beans.PropertyVetoException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; @@ -368,7 +367,7 @@ public class DataResultPanel extends javax.swing.JPanel implements DataResult, C } @Override - public void setNode(final Node selectedNode) { + public void setNode(Node selectedNode) { if (this.rootNode != null) { this.rootNode.removeNodeListener(dummyNodeListener); } @@ -391,20 +390,6 @@ public class DataResultPanel extends javax.swing.JPanel implements DataResult, C if (selectedNode != null) { int childrenCount = selectedNode.getChildren().getNodesCount(); this.numberMatchLabel.setText(Integer.toString(childrenCount)); - - //if there is only one child, select it to be displayed in the content viewer - if (childrenCount == 1) { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - try { - explorerManager.setSelectedNodes(selectedNode.getChildren().getNodes()); - } catch (PropertyVetoException ex) { - logger.log(Level.INFO, "node selection vetoed"); //NON-NLS - } - } - }); - } } this.numberMatchLabel.setVisible(true); } From 504580ff32fe6d4145a4447210e9d49b524aaa5c Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Mon, 7 Jul 2014 14:33:54 -0400 Subject: [PATCH 13/16] Fix buffering of file data in TikaFileTypeDetector class --- .../modules/filetypeid/TikaFileTypeDetector.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/TikaFileTypeDetector.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/TikaFileTypeDetector.java index 4e445f714c..b9ea8bc8a0 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/TikaFileTypeDetector.java +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/TikaFileTypeDetector.java @@ -28,9 +28,9 @@ import org.sleuthkit.datamodel.AbstractFile; class TikaFileTypeDetector { - private static Tika tikaInst = new Tika(); //calling detect() with this should be thread-safe + private static final Tika tikaInst = new Tika(); //calling detect() with this should be thread-safe private final int BUFFER_SIZE = 64 * 1024; //how many bytes to pass in - private byte buffer[] = new byte[BUFFER_SIZE]; + private final byte buffer[] = new byte[BUFFER_SIZE]; /** * @@ -39,12 +39,19 @@ class TikaFileTypeDetector { */ public synchronized String attemptMatch(AbstractFile abstractFile) { try { + byte buf[]; int len = abstractFile.read(buffer, 0, BUFFER_SIZE); + if (len < BUFFER_SIZE) { + buf = new byte[len]; + System.arraycopy(buffer, 0, buf, 0, len); + } else { + buf = buffer; + } // the xml detection in Tika tries to parse the entire file and throws exceptions // for files that are not valid XML try { - String tagHeader = new String(buffer, 0, 5); + String tagHeader = new String(buf, 0, 5); if (tagHeader.equals(" Date: Mon, 7 Jul 2014 18:17:41 -0400 Subject: [PATCH 14/16] Add omiited initialization in EmailExtracted.AccountNode class --- .../autopsy/datamodel/EmailExtracted.java | 107 +++--------------- 1 file changed, 15 insertions(+), 92 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java b/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java index 38f7662e0c..45daa99747 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java @@ -31,7 +31,6 @@ import java.util.Observable; import java.util.Observer; import java.util.Set; import java.util.logging.Level; - import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import org.openide.nodes.ChildFactory; @@ -47,12 +46,11 @@ import org.sleuthkit.datamodel.BlackboardAttribute; import org.sleuthkit.datamodel.SleuthkitCase; import org.sleuthkit.datamodel.TskException; - /** - * Support for TSK_EMAIL_MSG nodes and displaying emails in the directory tree + * Support for TSK_EMAIL_MSG nodes and displaying emails in the directory tree. * Email messages are grouped into parent folders, and the folders are grouped * into parent accounts if TSK_PATH is available to define the relationship - * structure for every message + * structure for every message. */ public class EmailExtracted implements AutopsyVisitableItem { @@ -72,6 +70,7 @@ public class EmailExtracted implements AutopsyVisitableItem { } private final class EmailResults extends Observable { + private final Map>> accounts = new LinkedHashMap<>(); EmailResults() { @@ -131,12 +130,11 @@ public class EmailExtracted implements AutopsyVisitableItem { } } - private Map parsePath(String path) { Map parsed = new HashMap<>(); String[] split = path.split(MAIL_PATH_SEPARATOR); if (split.length < 4) { - logger.log(Level.WARNING, "Unexpected number of tokens when parsing email PATH: {0}, will use defaults", split.length); //NON-NLS + logger.log(Level.WARNING, "Unexpected number of tokens (count={0}) when parsing email path, will use defaults", split.length); //NON-NLS parsed.put(MAIL_ACCOUNT, NbBundle.getMessage(EmailExtracted.class, "EmailExtracted.defaultAcct.text")); parsed.put(MAIL_FOLDER, NbBundle.getMessage(EmailExtracted.class, "EmailExtracted.defaultFolder.text")); return parsed; @@ -153,85 +151,6 @@ public class EmailExtracted implements AutopsyVisitableItem { return v.visit(this); } - /** - * Mail root node showing all emails - */ -// public class FlatRootNode extends DisplayableItemNode { -// -// public FlatRootNode() { -// super(Children.create(new FlatRootFactory(), true), Lookups.singleton(DISPLAY_NAME)); -// super.setName(LABEL_NAME); -// super.setDisplayName(DISPLAY_NAME); -// this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/mail-icon-16.png"); //NON-NLS -// initArtifacts(); -// } -// -// @Override -// public boolean isLeafTypeNode() { -// return false; -// } -// -// @Override -// public T accept(DisplayableItemNodeVisitor v) { -// //return v.visit(this); -// return null; -// } -// -// @Override -// protected Sheet createSheet() { -// Sheet s = super.createSheet(); -// Sheet.Set ss = s.get(Sheet.PROPERTIES); -// if (ss == null) { -// ss = Sheet.createPropertiesSet(); -// s.put(ss); -// } -// -// ss.put(new NodeProperty<>(NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.name"), -// NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.displayName"), -// NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.desc"), -// getName())); -// return s; -// } -// } -// -// /** -// * Mail root child node showing flattened emails -// */ -// private class FlatRootFactory extends ChildFactory { -// -// private FlatRootFactory() { -// super(); -// } -// -// @Override -// protected boolean createKeys(List list) { -// //flatten all emails -// List tempList = new ArrayList<>(); -// for (String account : accounts.keySet()) { -// Map> folders = accounts.get(account); -// for (String folder : folders.keySet()) { -// List messages = folders.get(folder); -// for (long l : messages) { -// try { -// //TODO: bulk artifact gettings -// tempList.add(skCase.getBlackboardArtifact(l)); -// } catch (TskException ex) { -// logger.log(Level.WARNING, "Error creating mail messages nodes", ex); //NON-NLS -// } -// } -// } -// } -// -// list.addAll(tempList); -// return true; -// } -// -// @Override -// protected Node createNodeForKey(BlackboardArtifact artifact) { -// return new BlackboardArtifactNode(artifact); -// } -// } - /** * Mail root node grouping all mail accounts, supports account-> folder * structure @@ -253,7 +172,7 @@ public class EmailExtracted implements AutopsyVisitableItem { @Override public T accept(DisplayableItemNodeVisitor v) { - return v.visit(this); + return v.visit(this); // RJCTODO: In the old code, this returns null, why? } @Override @@ -344,7 +263,8 @@ public class EmailExtracted implements AutopsyVisitableItem { * Account node representation */ public class AccountNode extends DisplayableItemNode implements Observer { - private String accountName; + + private final String accountName; public AccountNode(String accountName) { super(Children.create(new FolderFactory(accountName), true), Lookups.singleton(accountName)); @@ -397,7 +317,7 @@ public class EmailExtracted implements AutopsyVisitableItem { */ private class FolderFactory extends ChildFactory implements Observer { - private String accountName; + private final String accountName; private FolderFactory(String accountName) { super(); @@ -426,13 +346,16 @@ public class EmailExtracted implements AutopsyVisitableItem { * Node representing mail folder */ public class FolderNode extends DisplayableItemNode implements Observer { - private String accountName; - private String folderName; + + private final String accountName; + private final String folderName; public FolderNode(String accountName, String folderName) { super(Children.create(new MessageFactory(accountName, folderName), true), Lookups.singleton(accountName)); super.setName(folderName); this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/folder-icon-16.png"); //NON-NLS + this.accountName = accountName; + this.folderName = folderName; updateDisplayName(); emailResults.addObserver(this); } @@ -480,8 +403,8 @@ public class EmailExtracted implements AutopsyVisitableItem { */ private class MessageFactory extends ChildFactory implements Observer { - private String accountName; - private String folderName; + private final String accountName; + private final String folderName; private MessageFactory(String accountName, String folderName) { super(); From f831a69083669f5d890cdf7155e934b3db4c8d3f Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Mon, 7 Jul 2014 18:21:22 -0400 Subject: [PATCH 15/16] Remove TODO comment --- Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java b/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java index 45daa99747..4503eaf76f 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java @@ -172,7 +172,7 @@ public class EmailExtracted implements AutopsyVisitableItem { @Override public T accept(DisplayableItemNodeVisitor v) { - return v.visit(this); // RJCTODO: In the old code, this returns null, why? + return v.visit(this); } @Override From 23bb648fa4bf3011e1d3176009ff21bace297877 Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Mon, 7 Jul 2014 18:44:34 -0400 Subject: [PATCH 16/16] Remove error message for normal cnodition --- Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java b/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java index 4503eaf76f..cf7c829c69 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java @@ -134,12 +134,10 @@ public class EmailExtracted implements AutopsyVisitableItem { Map parsed = new HashMap<>(); String[] split = path.split(MAIL_PATH_SEPARATOR); if (split.length < 4) { - logger.log(Level.WARNING, "Unexpected number of tokens (count={0}) when parsing email path, will use defaults", split.length); //NON-NLS parsed.put(MAIL_ACCOUNT, NbBundle.getMessage(EmailExtracted.class, "EmailExtracted.defaultAcct.text")); parsed.put(MAIL_FOLDER, NbBundle.getMessage(EmailExtracted.class, "EmailExtracted.defaultFolder.text")); return parsed; } - parsed.put(MAIL_ACCOUNT, split[2]); parsed.put(MAIL_FOLDER, split[3]); return parsed;