From 87144d9088f368808df109d28301c5d8b98f20c9 Mon Sep 17 00:00:00 2001 From: "U-BASIS\\tshahi" Date: Thu, 30 Jan 2014 10:26:45 -0500 Subject: [PATCH 01/34] zoom out bug fix --- .../org/sleuthkit/autopsy/timeline/Timeline.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java b/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java index 190aa2a7d5..cd6f1d37d7 100644 --- a/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java +++ b/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java @@ -129,6 +129,7 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, private ComboBox fxDropdownSelectYears; //Dropdown box for selecting years. Useful when the charts' scale means some years are unclickable, despite having events. private final Stack> fxStackPrevCharts = new Stack>(); //Stack for storing drill-up information. private BarChart fxChartTopLevel; //the topmost chart, used for resetting to default view. + private BarChart fxMonthView; //the month chart private DataResultPanel dataResultPanel; private DataContentPanel dataContentPanel; private ProgressHandle progress; @@ -142,7 +143,7 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, private EventHandler fxMouseExitedListener; private SleuthkitCase skCase; private boolean fxInited = false; - + private int monthCounter = 0; public Timeline() { super(); @@ -277,7 +278,7 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, if (fxStackPrevCharts.size() == 0) { bc = fxChartTopLevel; } else { - bc = fxStackPrevCharts.pop(); + bc = fxStackPrevCharts.pop(); } fxChartEvents = bc; fxScrollEvents.setContent(fxChartEvents); @@ -410,7 +411,6 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, * Always 12 per year, empty months are represented by no bar. */ private BarChart createMonthsWithDrill(final YearEpoch ye) { - final CategoryAxis xAxis = new CategoryAxis(); final NumberAxis yAxis = new NumberAxis(); xAxis.setLabel("Month (" + ye.year + ")"); @@ -465,7 +465,7 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, bc.autosize(); bc.setPrefWidth(FRAME_WIDTH); bc.setLegendVisible(false); - fxStackPrevCharts.push(bc); + fxMonthView= bc; return bc; } @@ -538,7 +538,13 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, }); } bc.autosize(); - bc.setPrefWidth(FRAME_WIDTH); + bc.setPrefWidth(FRAME_WIDTH); + monthCounter++; + if (monthCounter==12) + { + fxStackPrevCharts.push(fxMonthView); + monthCounter=0; + } return bc; } From 0d7abe2b1b0c1ad881479a2d507eb80c7c3fc238 Mon Sep 17 00:00:00 2001 From: "U-BASIS\\tshahi" Date: Mon, 3 Feb 2014 10:19:19 -0500 Subject: [PATCH 02/34] changed timezone and times to UTC for display --- Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java b/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java index 190aa2a7d5..3aeaf07cdb 100644 --- a/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java +++ b/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java @@ -41,6 +41,7 @@ import java.util.List; import java.util.Locale; import java.util.Scanner; import java.util.Stack; +import java.util.TimeZone; import java.util.logging.Level; import javafx.application.Platform; import javafx.beans.value.ChangeListener; @@ -75,7 +76,6 @@ import org.openide.awt.ActionReference; import org.openide.awt.ActionReferences; import org.openide.awt.ActionRegistration; import org.openide.modules.InstalledFileLocator; -import org.openide.modules.ModuleInstall; import org.openide.nodes.Children; import org.openide.nodes.Node; import org.openide.util.HelpCtx; @@ -112,7 +112,7 @@ import org.sleuthkit.datamodel.TskCoreException; * */ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, PropertyChangeListener { - + private static final Logger logger = Logger.getLogger(Timeline.class.getName()); private final java.io.File macRoot = InstalledFileLocator.getDefault().locate("mactime", Timeline.class.getPackage().getName(), false); private TimelineFrame mainFrame; //frame for holding all the elements @@ -147,7 +147,7 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, super(); fxInited = Installer.isJavaFxInited(); - + TimeZone.setDefault(TimeZone.getTimeZone("UTC")); //sets the default timezone to UTC unless otherwise stated } //Swing components and JavafX components don't play super well together From 2bf0f22002d86fb5ef9288d147c6f336bff29530 Mon Sep 17 00:00:00 2001 From: "U-BASIS\\tshahi" Date: Mon, 3 Feb 2014 13:06:21 -0500 Subject: [PATCH 03/34] added object ID column --- .../autopsy/datamodel/AbstractAbstractFileNode.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/AbstractAbstractFileNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/AbstractAbstractFileNode.java index 6b3a8cbc54..e37bff7245 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/AbstractAbstractFileNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/AbstractAbstractFileNode.java @@ -161,8 +161,14 @@ public abstract class AbstractAbstractFileNode extends A @Override public String toString() { return "MD5 Hash"; + } + }, + ObjectID { + @Override + public String toString() { + return "Object ID"; } - } + }, } @@ -201,6 +207,7 @@ public abstract class AbstractAbstractFileNode extends A map.put(AbstractFilePropertyType.KNOWN.toString(), content.getKnown().getName()); map.put(AbstractFilePropertyType.HASHSETS.toString(), getHashSetHitsForFile(content)); map.put(AbstractFilePropertyType.MD5HASH.toString(), content.getMd5Hash() == null ? "" : content.getMd5Hash()); + map.put(AbstractFilePropertyType.ObjectID.toString(), content.getId()); } From 4ded0acbf3ea5e534ee6510f187c5d106338b664 Mon Sep 17 00:00:00 2001 From: "U-BASIS\\tshahi" Date: Wed, 5 Feb 2014 16:58:45 -0500 Subject: [PATCH 04/34] Timeline bargraph now same as user timezone or GMT --- .../sleuthkit/autopsy/timeline/Timeline.java | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java b/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java index db32c74fdc..f223d547bd 100644 --- a/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java +++ b/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java @@ -43,6 +43,7 @@ import java.util.Scanner; import java.util.Stack; import java.util.TimeZone; import java.util.logging.Level; +import java.util.prefs.Preferences; import javafx.application.Platform; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; @@ -80,6 +81,7 @@ import org.openide.nodes.Children; import org.openide.nodes.Node; import org.openide.util.HelpCtx; import org.openide.util.NbBundle; +import org.openide.util.NbPreferences; import org.openide.util.actions.CallableSystemAction; import org.openide.util.actions.Presenter; import org.openide.util.lookup.Lookups; @@ -100,7 +102,8 @@ import org.sleuthkit.autopsy.coreutils.ExecUtil; import org.sleuthkit.datamodel.AbstractFile; import org.sleuthkit.datamodel.SleuthkitCase; import org.sleuthkit.datamodel.TskCoreException; - +import org.sleuthkit.autopsy.datamodel.ArtifactStringContent; +import org.sleuthkit.datamodel.Content; @ActionID(category = "Tools", id = "org.sleuthkit.autopsy.timeline.Timeline") @ActionRegistration(displayName = "#CTL_MakeTimeline", lazy = false) @ActionReferences(value = { @@ -147,7 +150,7 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, super(); fxInited = Installer.isJavaFxInited(); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); //sets the default timezone to UTC unless otherwise stated + // TimeZone.setDefault(TimeZone.getTimeZone("UTC")); //sets the default timezone to UTC unless otherwise stated } //Swing components and JavafX components don't play super well together @@ -914,17 +917,36 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, int prevYear = -1; YearEpoch ye = null; + while (scan.hasNextLine()) { String[] s = scan.nextLine().split(","); //1999-02-08T11:08:08Z, 78706, m..b, rrwxrwxrwx, 0, 0, 8355, /img... - // break the date into mon, day and year: Note that the ISO times are in GMT - String[] datetime = s[0].split("T"); //{1999-02-08, 11:08:08Z} - String[] date = datetime[0].split("-"); // {1999, 02, 08} + // break the date into year,month,day,hour,minute, and second: Note that the ISO times are in GMT + String delims = "[T:Z\\-]+"; + String[] date = s[0].split(delims); //{1999,02,08,11,08,08,...} + int year = Integer.valueOf(date[0]); int month = Integer.valueOf(date[1]) - 1; //Months are zero indexed: 1 = February, 6 = July, 11 = December int day = Integer.valueOf(date[2]); //Days are 1 indexed + int hour=Integer.valueOf(date[3]); + int minute=Integer.valueOf(date[4]); + int second=Integer.valueOf(date[5]); + + Preferences generalPanelPrefs = NbPreferences.root().node("/org/sleuthkit/autopsy/core"); //access Use GMT? checkbox + boolean useLocalTime = generalPanelPrefs.getBoolean("useLocalTime", true); - // get the object id out of the modified outpu + Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT")); //set calendar to GMT due to ISO format + calendar.set(year, month, day, hour, minute, second); + day=calendar.get(Calendar.DAY_OF_MONTH); // this is needed or else timezone change wont work for some reason + //conversion to GMT + if (!useLocalTime) + { + calendar.setTimeZone(TimeZone.getTimeZone("GMT")); + } + else calendar.setTimeZone(TimeZone.getDefault());// local timezone OF the user. should be what the user SETS at startup + + day=calendar.get(Calendar.DAY_OF_MONTH);//get the day which may be affected by timezone change + long ObjId = Long.valueOf(s[4]); // when the year changes, create and add a new YearEpoch object to the list @@ -961,7 +983,6 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, // Get report path String bodyFilePath = moduleDir.getAbsolutePath() + java.io.File.separator + currentCase.getName() + "-" + datenotime + ".txt"; - // Run query to get all files final String filesAndDirs = "name != '.' " + "AND name != '..'"; From e64efe3587939aba827b86f57da257454349984b Mon Sep 17 00:00:00 2001 From: "U-BASIS\\tshahi" Date: Thu, 6 Feb 2014 11:17:39 -0500 Subject: [PATCH 05/34] created methods to call localtime --- .../autopsy/corecomponents/GeneralPanel.form | 3 ++ .../autopsy/corecomponents/GeneralPanel.java | 11 ++++++ .../autopsy/datamodel/ContentUtils.java | 23 ++++++++--- .../sleuthkit/autopsy/timeline/Timeline.java | 39 ++++++++++++------- 4 files changed, 58 insertions(+), 18 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.form b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.form index a2c34ea3f8..432bd9b5c3 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.form +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.form @@ -148,6 +148,9 @@ + + + diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.java b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.java index 2b702bef4b..3b3c77a876 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.java @@ -20,6 +20,7 @@ package org.sleuthkit.autopsy.corecomponents; import java.util.prefs.Preferences; import org.openide.util.NbPreferences; +import org.sleuthkit.autopsy.datamodel.ContentUtils; final class GeneralPanel extends javax.swing.JPanel { @@ -33,6 +34,7 @@ final class GeneralPanel extends javax.swing.JPanel { GeneralPanel(GeneralOptionsPanelController controller) { this.controller = controller; initComponents(); + ContentUtils.setLocalTime(useLocalTimeRB.isSelected()); // TODO listen to changes in form fields and call controller.changed() } @@ -80,6 +82,11 @@ final class GeneralPanel extends javax.swing.JPanel { buttonGroup3.add(useGMTTimeRB); org.openide.awt.Mnemonics.setLocalizedText(useGMTTimeRB, org.openide.util.NbBundle.getMessage(GeneralPanel.class, "GeneralPanel.useGMTTimeRB.text")); // NOI18N + useGMTTimeRB.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + useGMTTimeRBActionPerformed(evt); + } + }); org.openide.awt.Mnemonics.setLocalizedText(jLabel3, org.openide.util.NbBundle.getMessage(GeneralPanel.class, "GeneralPanel.jLabel3.text")); // NOI18N @@ -144,6 +151,10 @@ final class GeneralPanel extends javax.swing.JPanel { // TODO add your handling code here: }//GEN-LAST:event_useBestViewerRBActionPerformed + private void useGMTTimeRBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_useGMTTimeRBActionPerformed + ContentUtils.setLocalTime(useLocalTimeRB.isSelected()); + }//GEN-LAST:event_useGMTTimeRBActionPerformed + void load() { boolean keepPreferredViewer = prefs.getBoolean(KEEP_PREFERRED_VIEWER, false); keepCurrentViewerRB.setSelected(keepPreferredViewer); diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ContentUtils.java b/Core/src/org/sleuthkit/autopsy/datamodel/ContentUtils.java index 121b5a1cfa..3dee14bff4 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ContentUtils.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ContentUtils.java @@ -50,7 +50,7 @@ public final class ContentUtils { private final static Logger logger = Logger.getLogger(ContentUtils.class.getName()); private static final SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z"); private static final SimpleDateFormat dateFormatterISO8601 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); - + private static boolean localTime; // don't instantiate private ContentUtils() { throw new AssertionError(); @@ -104,12 +104,11 @@ public final class ContentUtils { public static String getStringTimeISO8601(long epochSeconds, Content c) { return getStringTimeISO8601(epochSeconds, getTimeZone(c)); } - + public static TimeZone getTimeZone(Content c) { - Preferences generalPanelPrefs = NbPreferences.root().node("/org/sleuthkit/autopsy/core"); - boolean useLocalTime = generalPanelPrefs.getBoolean("useLocalTime", true); + try { - if (!useLocalTime) { + if (!localTime()) { return TimeZone.getTimeZone("GMT"); } else { @@ -360,4 +359,18 @@ public final class ContentUtils { + cntnt.getClass().getSimpleName()); } } + /**sets localTime value based on button in GeneralPanel.java + * + * @param flag + */ + public static void setLocalTime(boolean flag) { + localTime = flag; + } + /** returns true if local time is selected. + * returns false if GMT is selected. + * @return + */ + public static boolean localTime(){ + return localTime; + } } diff --git a/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java b/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java index f223d547bd..952e907562 100644 --- a/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java +++ b/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java @@ -99,11 +99,11 @@ import org.sleuthkit.autopsy.datamodel.DisplayableItemNodeVisitor; import org.sleuthkit.autopsy.datamodel.FileNode; import org.sleuthkit.autopsy.ingest.IngestManager; import org.sleuthkit.autopsy.coreutils.ExecUtil; +import org.sleuthkit.autopsy.datamodel.ContentUtils; import org.sleuthkit.datamodel.AbstractFile; import org.sleuthkit.datamodel.SleuthkitCase; import org.sleuthkit.datamodel.TskCoreException; -import org.sleuthkit.autopsy.datamodel.ArtifactStringContent; -import org.sleuthkit.datamodel.Content; + @ActionID(category = "Tools", id = "org.sleuthkit.autopsy.timeline.Timeline") @ActionRegistration(displayName = "#CTL_MakeTimeline", lazy = false) @ActionReferences(value = { @@ -145,7 +145,7 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, private EventHandler fxMouseExitedListener; private SleuthkitCase skCase; private boolean fxInited = false; - + private static boolean localTime = true; public Timeline() { super(); @@ -922,7 +922,7 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, String[] s = scan.nextLine().split(","); //1999-02-08T11:08:08Z, 78706, m..b, rrwxrwxrwx, 0, 0, 8355, /img... // break the date into year,month,day,hour,minute, and second: Note that the ISO times are in GMT - String delims = "[T:Z\\-]+"; + String delims = "[T:Z\\-]+"; //split by the delimiters String[] date = s[0].split(delims); //{1999,02,08,11,08,08,...} int year = Integer.valueOf(date[0]); @@ -932,21 +932,20 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, int minute=Integer.valueOf(date[4]); int second=Integer.valueOf(date[5]); - Preferences generalPanelPrefs = NbPreferences.root().node("/org/sleuthkit/autopsy/core"); //access Use GMT? checkbox - boolean useLocalTime = generalPanelPrefs.getBoolean("useLocalTime", true); - + setLocalTime(localTime); Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT")); //set calendar to GMT due to ISO format calendar.set(year, month, day, hour, minute, second); - day=calendar.get(Calendar.DAY_OF_MONTH); // this is needed or else timezone change wont work for some reason + day=calendar.get(Calendar.DAY_OF_MONTH); // this is needed or else timezone change wont work. probably incorrect optimization by compiler + //conversion to GMT - if (!useLocalTime) - { + if (!localTime()) { calendar.setTimeZone(TimeZone.getTimeZone("GMT")); } - else calendar.setTimeZone(TimeZone.getDefault());// local timezone OF the user. should be what the user SETS at startup + else{ + calendar.setTimeZone(TimeZone.getDefault());// local timezone OF the user. should be what the user SETS at startup + } day=calendar.get(Calendar.DAY_OF_MONTH);//get the day which may be affected by timezone change - long ObjId = Long.valueOf(s[4]); // when the year changes, create and add a new YearEpoch object to the list @@ -1128,7 +1127,21 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, public void performAction() { initTimeline(); } - + + /**set localTime by getting it from ContentUtils class + * + * @param flag + */ + public static void setLocalTime(boolean flag) { + localTime = ContentUtils.localTime(); + } + /**returns whether user has set localTime settings, or GMT if false + * + * @return + */ + public static boolean localTime() { + return localTime; + } private void initTimeline() { if (!Case.existsCurrentCase()) { return; From e16ef6082cbb31e7e6a25bd732cd0b891799f4d6 Mon Sep 17 00:00:00 2001 From: "U-BASIS\\tshahi" Date: Fri, 7 Feb 2014 13:26:17 -0500 Subject: [PATCH 06/34] renamed variables and functions for timezone check --- .../autopsy/corecomponents/GeneralPanel.java | 4 ++-- .../autopsy/datamodel/ContentUtils.java | 18 +++++++++--------- .../sleuthkit/autopsy/timeline/Timeline.java | 19 ++----------------- 3 files changed, 13 insertions(+), 28 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.java b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.java index 3b3c77a876..3d697b07ab 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.java @@ -34,7 +34,7 @@ final class GeneralPanel extends javax.swing.JPanel { GeneralPanel(GeneralOptionsPanelController controller) { this.controller = controller; initComponents(); - ContentUtils.setLocalTime(useLocalTimeRB.isSelected()); + ContentUtils.setDisplayInLocalTime(useLocalTimeRB.isSelected()); // TODO listen to changes in form fields and call controller.changed() } @@ -152,7 +152,7 @@ final class GeneralPanel extends javax.swing.JPanel { }//GEN-LAST:event_useBestViewerRBActionPerformed private void useGMTTimeRBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_useGMTTimeRBActionPerformed - ContentUtils.setLocalTime(useLocalTimeRB.isSelected()); + ContentUtils.setDisplayInLocalTime(useLocalTimeRB.isSelected()); }//GEN-LAST:event_useGMTTimeRBActionPerformed void load() { diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ContentUtils.java b/Core/src/org/sleuthkit/autopsy/datamodel/ContentUtils.java index 3dee14bff4..9cc844cae6 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ContentUtils.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ContentUtils.java @@ -50,7 +50,7 @@ public final class ContentUtils { private final static Logger logger = Logger.getLogger(ContentUtils.class.getName()); private static final SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z"); private static final SimpleDateFormat dateFormatterISO8601 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); - private static boolean localTime; + private static boolean displayInLocalTime; // don't instantiate private ContentUtils() { throw new AssertionError(); @@ -108,7 +108,7 @@ public final class ContentUtils { public static TimeZone getTimeZone(Content c) { try { - if (!localTime()) { + if (!getDisplayInLocalTime()) { return TimeZone.getTimeZone("GMT"); } else { @@ -359,18 +359,18 @@ public final class ContentUtils { + cntnt.getClass().getSimpleName()); } } - /**sets localTime value based on button in GeneralPanel.java + /**sets displayInlocalTime value based on button in GeneralPanel.java * * @param flag */ - public static void setLocalTime(boolean flag) { - localTime = flag; + public static void setDisplayInLocalTime(boolean flag) { + displayInLocalTime = flag; } - /** returns true if local time is selected. - * returns false if GMT is selected. + /** get global timezone setting for displaying time values + * * @return */ - public static boolean localTime(){ - return localTime; + public static boolean getDisplayInLocalTime(){ + return displayInLocalTime; } } diff --git a/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java b/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java index 952e907562..675bfc318f 100644 --- a/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java +++ b/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java @@ -145,7 +145,6 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, private EventHandler fxMouseExitedListener; private SleuthkitCase skCase; private boolean fxInited = false; - private static boolean localTime = true; public Timeline() { super(); @@ -932,13 +931,13 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, int minute=Integer.valueOf(date[4]); int second=Integer.valueOf(date[5]); - setLocalTime(localTime); Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT")); //set calendar to GMT due to ISO format calendar.set(year, month, day, hour, minute, second); day=calendar.get(Calendar.DAY_OF_MONTH); // this is needed or else timezone change wont work. probably incorrect optimization by compiler //conversion to GMT - if (!localTime()) { + + if (!ContentUtils.getDisplayInLocalTime()) { calendar.setTimeZone(TimeZone.getTimeZone("GMT")); } else{ @@ -1128,20 +1127,6 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, initTimeline(); } - /**set localTime by getting it from ContentUtils class - * - * @param flag - */ - public static void setLocalTime(boolean flag) { - localTime = ContentUtils.localTime(); - } - /**returns whether user has set localTime settings, or GMT if false - * - * @return - */ - public static boolean localTime() { - return localTime; - } private void initTimeline() { if (!Case.existsCurrentCase()) { return; From 6b5b8cf0aa64534463fbe335b3c3878fa8da43ec Mon Sep 17 00:00:00 2001 From: alexjacks92 Date: Tue, 11 Feb 2014 13:39:22 -0500 Subject: [PATCH 07/34] Added a command to switch report to HTML instead of XML format. --- .../src/org/sleuthkit/autopsy/testing/RegressionTest.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java index 6d6c078280..49a501c8eb 100755 --- a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java +++ b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java @@ -299,10 +299,13 @@ public class RegressionTest extends TestCase { logger.info("Generate Report Button"); JDialog reportDialog = JDialogOperator.waitJDialog("Generate Report", false, false); JDialogOperator reportDialogOperator = new JDialogOperator(reportDialog); + JListOperator listOperator = new JListOperator(reportDialogOperator); JButtonOperator jbo0 = new JButtonOperator(reportDialogOperator, "Next"); DateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy-HH-mm-ss"); Date date = new Date(); String datenotime = dateFormat.format(date); + listOperator.clickOnItem(2, 1); + new Timeout("pausing", 1000).sleep() jbo0.pushNoBlock(); new Timeout("pausing", 1000).sleep(); JButtonOperator jbo1 = new JButtonOperator(reportDialogOperator, "Finish"); From ece9456d029b8a4fe9105921a41f2430da1da21a Mon Sep 17 00:00:00 2001 From: alexjacks92 Date: Tue, 11 Feb 2014 13:46:40 -0500 Subject: [PATCH 08/34] Fixing a syntax error. --- .../src/org/sleuthkit/autopsy/testing/RegressionTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java index 49a501c8eb..35f96c96c4 100755 --- a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java +++ b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java @@ -305,7 +305,7 @@ public class RegressionTest extends TestCase { Date date = new Date(); String datenotime = dateFormat.format(date); listOperator.clickOnItem(2, 1); - new Timeout("pausing", 1000).sleep() + new Timeout("pausing", 1000).sleep(); jbo0.pushNoBlock(); new Timeout("pausing", 1000).sleep(); JButtonOperator jbo1 = new JButtonOperator(reportDialogOperator, "Finish"); From 8f8fe23bdb4e3a0427ce6007ac933d42419a3320 Mon Sep 17 00:00:00 2001 From: alexjacks92 Date: Tue, 11 Feb 2014 13:55:53 -0500 Subject: [PATCH 09/34] One more fixed syntax error. --- .../src/org/sleuthkit/autopsy/testing/RegressionTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java index 35f96c96c4..186be10a90 100755 --- a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java +++ b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java @@ -56,6 +56,7 @@ import org.netbeans.jemmy.operators.JLabelOperator; import org.netbeans.jemmy.operators.JTabbedPaneOperator; import org.netbeans.jemmy.operators.JTableOperator; import org.netbeans.jemmy.operators.JTextFieldOperator; +import org.netbeans.jemmy.operators.JListOperator; import org.netbeans.junit.NbModuleSuite; import org.openide.util.Exceptions; import org.sleuthkit.autopsy.ingest.IngestManager; From 41e0695bf212fdeaea3002f8eb2a64e7bc659bb5 Mon Sep 17 00:00:00 2001 From: alexjacks92 Date: Tue, 11 Feb 2014 15:28:18 -0500 Subject: [PATCH 10/34] Matching develop branch UI. --- .../src/org/sleuthkit/autopsy/testing/RegressionTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java index 186be10a90..fff49b76e6 100755 --- a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java +++ b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java @@ -305,7 +305,7 @@ public class RegressionTest extends TestCase { DateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy-HH-mm-ss"); Date date = new Date(); String datenotime = dateFormat.format(date); - listOperator.clickOnItem(2, 1); + listOperator.clickOnItem(1, 1); new Timeout("pausing", 1000).sleep(); jbo0.pushNoBlock(); new Timeout("pausing", 1000).sleep(); From 6b214095def795fb4de70f2dcaa46b2ba4f2bc92 Mon Sep 17 00:00:00 2001 From: Nick Davis Date: Fri, 21 Feb 2014 14:19:14 -0500 Subject: [PATCH 11/34] Pulled static strings into Bundle. --- Core/src/org/sleuthkit/autopsy/core/Bundle.properties | 2 ++ Core/src/org/sleuthkit/autopsy/core/Installer.java | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/core/Bundle.properties b/Core/src/org/sleuthkit/autopsy/core/Bundle.properties index 1bc91ef607..ff08a90d89 100644 --- a/Core/src/org/sleuthkit/autopsy/core/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/core/Bundle.properties @@ -10,3 +10,5 @@ OpenIDE-Module-Name=Autopsy-Core OpenIDE-Module-Short-Description=Autopsy Core Module org_sleuthkit_autopsy_core_update_center=http://sleuthkit.org/autopsy/updates.xml Services/AutoupdateType/org_sleuthkit_autopsy_core_update_center.settings=Autopsy Update Center +Installer.errorInitJavafx.msg=Error initializing JavaFX. +Installer.errorInitJavafx.details=\ Some features will not be available. Check that you have the right JRE installed (Oracle JRE > 1.7.10). diff --git a/Core/src/org/sleuthkit/autopsy/core/Installer.java b/Core/src/org/sleuthkit/autopsy/core/Installer.java index c1b9c2e29b..1b84c19c9c 100644 --- a/Core/src/org/sleuthkit/autopsy/core/Installer.java +++ b/Core/src/org/sleuthkit/autopsy/core/Installer.java @@ -23,6 +23,7 @@ import java.util.List; import java.util.logging.Level; import javafx.application.Platform; import javafx.embed.swing.JFXPanel; +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import org.openide.modules.ModuleInstall; import org.openide.windows.WindowManager; @@ -110,9 +111,8 @@ public class Installer extends ModuleInstall { javaFxInit = true; } catch (UnsatisfiedLinkError | NoClassDefFoundError | Exception e) { //in case javafx not present - final String msg = "Error initializing JavaFX. "; - final String details = " Some features will not be available. " - + " Check that you have the right JRE installed (Oracle JRE > 1.7.10). "; + final String msg = NbBundle.getMessage(Installer.class, "Installer.errorInitJavafx.msg"); + final String details = NbBundle.getMessage(Installer.class, "Installer.errorInitJavafx.details"); logger.log(Level.SEVERE, msg + details, e); From 97695395859abddc33efc078b165c9af6dcfe025 Mon Sep 17 00:00:00 2001 From: Nick Davis Date: Fri, 21 Feb 2014 14:20:52 -0500 Subject: [PATCH 12/34] Added empty ja properties file. --- Core/src/org/sleuthkit/autopsy/core/Bundle_ja.properties | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Core/src/org/sleuthkit/autopsy/core/Bundle_ja.properties diff --git a/Core/src/org/sleuthkit/autopsy/core/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/core/Bundle_ja.properties new file mode 100644 index 0000000000..e69de29bb2 From de72110a718af53e16ac5e91922dc3974f3156c7 Mon Sep 17 00:00:00 2001 From: Kay Bassi Date: Fri, 21 Feb 2014 18:24:13 -0800 Subject: [PATCH 13/34] Resolved the last 2 todo's. Translation completed. --- Core/src/org/sleuthkit/autopsy/actions/Bundle.properties | 2 -- Core/src/org/sleuthkit/autopsy/actions/Bundle_ja.properties | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/actions/Bundle.properties b/Core/src/org/sleuthkit/autopsy/actions/Bundle.properties index 370ea83377..2151fafa49 100755 --- a/Core/src/org/sleuthkit/autopsy/actions/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/actions/Bundle.properties @@ -14,9 +14,7 @@ GetTagNameAndCommentDialog.commentLabel.text=Comment: GetTagNameAndCommentDialog.cancelButton.text=Cancel GetTagNameAndCommentDialog.tagCombo.toolTipText=Select tag to use GetTagNameAndCommentDialog.tagLabel.text=Tag: -#todo this means to tag a result? not result of a tag? AddBlackboardArtifactTagAction.singularTagResult=Tag Result -#todo check meaning AddBlackboardArtifactTagAction.pluralTagResult=Tag Results AddBlackboardArtifactTagAction.unableToTag.msg=Unable to tag {0}. AddBlackboardArtifactTagAction.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 bb42ba0a82..0cf5a8be40 100644 --- a/Core/src/org/sleuthkit/autopsy/actions/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/actions/Bundle_ja.properties @@ -10,8 +10,8 @@ GetTagNameAndCommentDialog.commentLabel.text=\u30B3\u30E1\u30F3\u30C8\uFF1A GetTagNameAndCommentDialog.cancelButton.text=\u30AD\u30E3\u30F3\u30BB\u30EB GetTagNameAndCommentDialog.tagCombo.toolTipText=\u4F7F\u7528\u3059\u308B\u30BF\u30B0\u3092\u9078\u629E GetTagNameAndCommentDialog.tagLabel.text=\u30BF\u30B0\uFF1A -AddBlackboardArtifactTagAction.singularTagResult=\u30BF\u30B0\u306E\u7D50\u679C -AddBlackboardArtifactTagAction.pluralTagResult=\u30BF\u30B0\u306E\u7D50\u679C +AddBlackboardArtifactTagAction.singularTagResult=\u7D50\u679C\u306B\u30BF\u30B0\u3092\u8FFD\u52A0 +AddBlackboardArtifactTagAction.pluralTagResult=\u7D50\u679C\u306B\u30BF\u30B0\u3092\u8FFD\u52A0 AddBlackboardArtifactTagAction.unableToTag.msg={0}\u306B\u30BF\u30B0\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002 AddBlackboardArtifactTagAction.taggingErr=\u30BF\u30B0\u4ED8\u3051\u30A8\u30E9\u30FC AddContentTagAction.singularTagFile=\u30D5\u30A1\u30A4\u30EB\u306B\u30BF\u30B0\u3092\u8FFD\u52A0 From 9c0036c6239eed0adbf1b12d59f25ee367f3efe5 Mon Sep 17 00:00:00 2001 From: alexjacks92 Date: Mon, 24 Feb 2014 13:37:15 -0500 Subject: [PATCH 14/34] Print statements to debug lack of hashdb hits during regression tests. --- .../HashDatabaseOptionsPanelController.java | 2 ++ .../autopsy/hashdatabase/HashDbIngestModule.java | 11 ++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDatabaseOptionsPanelController.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDatabaseOptionsPanelController.java index 5ddac1c794..bd2f57edd4 100644 --- a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDatabaseOptionsPanelController.java +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDatabaseOptionsPanelController.java @@ -53,7 +53,9 @@ public final class HashDatabaseOptionsPanelController extends OptionsPanelContro @Override public void applyChanges() { + System.out.println("in applyChanges, before store"); getPanel().store(); + System.out.println("in applyChanges, after store"); changed = false; } diff --git a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestModule.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestModule.java index 78bf96bae1..d0ad256519 100644 --- a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestModule.java +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestModule.java @@ -209,6 +209,7 @@ public class HashDbIngestModule extends IngestModuleAbstractFile { private ProcessResult processFile(AbstractFile file) { // bail out if we have no hashes set if ((knownHashSets.isEmpty()) && (knownBadHashSets.isEmpty()) && (calcHashesIsSet == false)) { + System.out.println("processFile, no hashes set"); return ProcessResult.OK; } @@ -239,6 +240,7 @@ public class HashDbIngestModule extends IngestModuleAbstractFile { ProcessResult ret = ProcessResult.OK; for (HashDb db : knownBadHashSets) { try { + System.out.println("in processFile known bad"); long lookupstart = System.currentTimeMillis(); HashInfo hashInfo = db.lookUp(file); if (null != hashInfo) { @@ -247,6 +249,7 @@ public class HashDbIngestModule extends IngestModuleAbstractFile { try { skCase.setKnown(file, TskData.FileKnown.BAD); } catch (TskException ex) { + System.out.println("in processFile couldn't set known bad state 252"); logger.log(Level.WARNING, "Couldn't set known bad state for file " + name + " - see sleuthkit log for details", ex); services.postMessage(IngestMessage.createErrorMessage(++messageId, HashDbIngestModule.this, @@ -273,11 +276,13 @@ public class HashDbIngestModule extends IngestModuleAbstractFile { break; } } - + System.out.println("About to postHashHitToBlackboard"); postHashSetHitToBlackboard(file, md5Hash, hashSetName, comment, db.getSendIngestMessages()); + System.out.println("Out of postHashHitToBlackboard"); } lookuptime += (System.currentTimeMillis() - lookupstart); } catch (TskException ex) { + System.out.println("in processFile couldn't lookup known bad state 252"); logger.log(Level.WARNING, "Couldn't lookup known bad hash for file " + name + " - see sleuthkit log for details", ex); services.postMessage(IngestMessage.createErrorMessage(++messageId, HashDbIngestModule.this, @@ -297,12 +302,14 @@ public class HashDbIngestModule extends IngestModuleAbstractFile { if (!foundBad) { for (HashDb db : knownHashSets) { try { + System.out.println("in processFile 205"); long lookupstart = System.currentTimeMillis(); if (db.hasMd5HashOf(file)) { try { skCase.setKnown(file, TskData.FileKnown.KNOWN); break; } catch (TskException ex) { + System.out.println("in processFile couldn't set known bad state 311"); logger.log(Level.WARNING, "Couldn't set known state for file " + name + " - see sleuthkit log for details", ex); services.postMessage(IngestMessage.createErrorMessage(++messageId, HashDbIngestModule.this, @@ -317,6 +324,7 @@ public class HashDbIngestModule extends IngestModuleAbstractFile { } lookuptime += (System.currentTimeMillis() - lookupstart); } catch (TskException ex) { + System.out.println("in processFile couldn't lookup known bad state 326"); logger.log(Level.WARNING, "Couldn't lookup known hash for file " + name + " - see sleuthkit log for details", ex); services.postMessage(IngestMessage.createErrorMessage(++messageId, HashDbIngestModule.this, @@ -335,6 +343,7 @@ public class HashDbIngestModule extends IngestModuleAbstractFile { } private void postHashSetHitToBlackboard(AbstractFile abstractFile, String md5Hash, String hashSetName, String comment, boolean showInboxMessage) { + System.out.printf("at postHashSetHitToBlackboard"); try { BlackboardArtifact badFile = abstractFile.newArtifact(ARTIFACT_TYPE.TSK_HASHSET_HIT); //TODO Revisit usage of deprecated constructor as per TSK-583 From 590d5ef384887dcf0824837b64d1512ae39238f3 Mon Sep 17 00:00:00 2001 From: alexjacks92 Date: Mon, 24 Feb 2014 15:21:05 -0500 Subject: [PATCH 15/34] Print statements no longer needed. --- .../HashDatabaseOptionsPanelController.java | 2 -- .../autopsy/hashdatabase/HashDbIngestModule.java | 11 +---------- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDatabaseOptionsPanelController.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDatabaseOptionsPanelController.java index bd2f57edd4..5ddac1c794 100644 --- a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDatabaseOptionsPanelController.java +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDatabaseOptionsPanelController.java @@ -53,9 +53,7 @@ public final class HashDatabaseOptionsPanelController extends OptionsPanelContro @Override public void applyChanges() { - System.out.println("in applyChanges, before store"); getPanel().store(); - System.out.println("in applyChanges, after store"); changed = false; } diff --git a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestModule.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestModule.java index d0ad256519..78bf96bae1 100644 --- a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestModule.java +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestModule.java @@ -209,7 +209,6 @@ public class HashDbIngestModule extends IngestModuleAbstractFile { private ProcessResult processFile(AbstractFile file) { // bail out if we have no hashes set if ((knownHashSets.isEmpty()) && (knownBadHashSets.isEmpty()) && (calcHashesIsSet == false)) { - System.out.println("processFile, no hashes set"); return ProcessResult.OK; } @@ -240,7 +239,6 @@ public class HashDbIngestModule extends IngestModuleAbstractFile { ProcessResult ret = ProcessResult.OK; for (HashDb db : knownBadHashSets) { try { - System.out.println("in processFile known bad"); long lookupstart = System.currentTimeMillis(); HashInfo hashInfo = db.lookUp(file); if (null != hashInfo) { @@ -249,7 +247,6 @@ public class HashDbIngestModule extends IngestModuleAbstractFile { try { skCase.setKnown(file, TskData.FileKnown.BAD); } catch (TskException ex) { - System.out.println("in processFile couldn't set known bad state 252"); logger.log(Level.WARNING, "Couldn't set known bad state for file " + name + " - see sleuthkit log for details", ex); services.postMessage(IngestMessage.createErrorMessage(++messageId, HashDbIngestModule.this, @@ -276,13 +273,11 @@ public class HashDbIngestModule extends IngestModuleAbstractFile { break; } } - System.out.println("About to postHashHitToBlackboard"); + postHashSetHitToBlackboard(file, md5Hash, hashSetName, comment, db.getSendIngestMessages()); - System.out.println("Out of postHashHitToBlackboard"); } lookuptime += (System.currentTimeMillis() - lookupstart); } catch (TskException ex) { - System.out.println("in processFile couldn't lookup known bad state 252"); logger.log(Level.WARNING, "Couldn't lookup known bad hash for file " + name + " - see sleuthkit log for details", ex); services.postMessage(IngestMessage.createErrorMessage(++messageId, HashDbIngestModule.this, @@ -302,14 +297,12 @@ public class HashDbIngestModule extends IngestModuleAbstractFile { if (!foundBad) { for (HashDb db : knownHashSets) { try { - System.out.println("in processFile 205"); long lookupstart = System.currentTimeMillis(); if (db.hasMd5HashOf(file)) { try { skCase.setKnown(file, TskData.FileKnown.KNOWN); break; } catch (TskException ex) { - System.out.println("in processFile couldn't set known bad state 311"); logger.log(Level.WARNING, "Couldn't set known state for file " + name + " - see sleuthkit log for details", ex); services.postMessage(IngestMessage.createErrorMessage(++messageId, HashDbIngestModule.this, @@ -324,7 +317,6 @@ public class HashDbIngestModule extends IngestModuleAbstractFile { } lookuptime += (System.currentTimeMillis() - lookupstart); } catch (TskException ex) { - System.out.println("in processFile couldn't lookup known bad state 326"); logger.log(Level.WARNING, "Couldn't lookup known hash for file " + name + " - see sleuthkit log for details", ex); services.postMessage(IngestMessage.createErrorMessage(++messageId, HashDbIngestModule.this, @@ -343,7 +335,6 @@ public class HashDbIngestModule extends IngestModuleAbstractFile { } private void postHashSetHitToBlackboard(AbstractFile abstractFile, String md5Hash, String hashSetName, String comment, boolean showInboxMessage) { - System.out.printf("at postHashSetHitToBlackboard"); try { BlackboardArtifact badFile = abstractFile.newArtifact(ARTIFACT_TYPE.TSK_HASHSET_HIT); //TODO Revisit usage of deprecated constructor as per TSK-583 From 67c133f5c319eda3938272b6c786985dd4ea2830 Mon Sep 17 00:00:00 2001 From: Kay Bassi Date: Mon, 24 Feb 2014 14:32:11 -0800 Subject: [PATCH 16/34] Completed translation of core-core --- .../sleuthkit/autopsy/core/Bundle_ja.properties | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Core/src/org/sleuthkit/autopsy/core/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/core/Bundle_ja.properties index e69de29bb2..4acb349e27 100644 --- a/Core/src/org/sleuthkit/autopsy/core/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/core/Bundle_ja.properties @@ -0,0 +1,14 @@ +OpenIDE-Module-Display-Category=\u57FA\u76E4 +OpenIDE-Module-Long-Description=\ + Autopsy\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30B3\u30A2\u3067\u3059\u3002\n\n\ + \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u307F\u3067\u5B9F\u884C\u3059\u308B\u306E\u306B\u5FC5\u8981\u306A\u4E3B\u8981\u306A\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\uFF1ARCP\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u3001\u30A6\u30A3\u30F3\u30C9\u30A6\u30A4\u30F3\u30B0GUI\u3001Sleuth Kit\u30D0\u30A4\u30F3\u30C7\u30A3\u30F3\u30B0\u3001\u30C7\u30FC\u30BF\u30E2\u30C7\u30EB\uFF0F\u30B9\u30C8\u30EC\u30FC\u30B8\u3001\u30A8\u30AF\u30B9\u30D7\u30ED\u30FC\u30E9\u3001\u7D50\u679C\u30D3\u30E5\u30FC\u30A2\u30FC\u3001\u30B3\u30F3\u30C6\u30F3\u30C4\u30D3\u30E5\u30FC\u30A2\u30FC\u3001\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u7528\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF\u3001\u30EC\u30DD\u30FC\u30C8\u751F\u6210\u3001\u30D5\u30A1\u30A4\u30EB\u691C\u7D22\u7B49\u306E\u4E3B\u8981\u30C4\u30FC\u30EB\u3002\n\n\ + \u30E2\u30B8\u30E5\u30FC\u30EB\u5185\u306E\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF\u306B\u306F\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3001\u30D3\u30E5\u30FC\u30A2\u30FC\u3001\u30EC\u30DD\u30FC\u30C8\u751F\u6210\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u958B\u767A\u7528\u306EAPI\u304C\u542B\u307E\u308C\u307E\u3059\u3002\ + \u30E2\u30B8\u30E5\u30FC\u30EB\u306FAutopsy\u30D7\u30E9\u30B0\u30A4\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30E9\u30FC\u3092\u4F7F\u7528\u3057\u3001\u30D7\u30E9\u30B0\u30A4\u30F3\u3068\u3057\u3066\u5B9F\u88C5\u3067\u304D\u307E\u3059\u3002\n\ + \u3053\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306F\u30A2\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u306F\u3044\u3051\u307E\u305B\u3093\u3002\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u306A\u3051\u308C\u3070\u3001Autopsy\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\n\n\ + \u8A73\u7D30\u306F\u4E0B\u8A18\u3092\u3054\u89A7\u4E0B\u3055\u3044\u3002http\://www.sleuthkit.org/autopsy/ +OpenIDE-Module-Name=Autopsy-\u30B3\u30A2 +OpenIDE-Module-Short-Description=Autopsy\u30B3\u30A2\u30E2\u30B8\u30E5\u30FC\u30EB +org_sleuthkit_autopsy_core_update_center=http\://sleuthkit.org/autopsy/updates.xml +Services/AutoupdateType/org_sleuthkit_autopsy_core_update_center.settings=Autopsy\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u30BB\u30F3\u30BF\u30FC +Installer.errorInitJavafx.msg=JavaFX\u521D\u671F\u5316\u30A8\u30E9\u30FC +Installer.errorInitJavafx.details=\u4E00\u90E8\u306E\u6A5F\u80FD\u304C\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u6B63\u3057\u3044JRE\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u308B\u306E\u3092\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002\uFF08Oracle JRE > 1.7.10\uFF09 \ No newline at end of file From da60c4ec80ca84dc745da5df77cc80d5694e7e8b Mon Sep 17 00:00:00 2001 From: alexjacks92 Date: Tue, 25 Feb 2014 13:00:48 -0500 Subject: [PATCH 17/34] Testing a theory about timeouts causing the post-ingest hang. --- .../src/org/sleuthkit/autopsy/testing/RegressionTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java index fff49b76e6..bd762b4a4d 100755 --- a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java +++ b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java @@ -279,7 +279,8 @@ public class RegressionTest extends TestCase { // but randomize the timing so that we don't always get the same error // consistently, making it seem like default behavior Random rand = new Random(); - new Timeout("pausing", 10000 + (rand.nextInt(15000) + 5000)).sleep(); + new Timeout("pausing", 10000).sleep(); + //new Timeout("pausing", 10000 + (rand.nextInt(15000) + 5000)).sleep(); screenshot("Finished Ingest"); } From 7060219f585e17a88871f77d0e882df9b6b74142 Mon Sep 17 00:00:00 2001 From: alexjacks92 Date: Tue, 25 Feb 2014 13:37:31 -0500 Subject: [PATCH 18/34] Adding more logging. --- .../sleuthkit/autopsy/testing/RegressionTest.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java index bd762b4a4d..28379d5c5c 100755 --- a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java +++ b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java @@ -265,22 +265,27 @@ public class RegressionTest extends TestCase { new Timeout("pausing", 5000).sleep(); // give it a second (or five) to process } logger.info("Enqueue took " + (System.currentTimeMillis() - start) + "ms"); + int count = 0; while (man.isIngestRunning()) { - + count++; new Timeout("pausing", 1000).sleep(); // give it a second (or five) to process } + logger.info("count was " + count); + count = 0; new Timeout("pausing", 15000).sleep(); // give it a second (or fifteen) to process boolean sleep = true; while (man.areModulesRunning()) { - new Timeout("pausing", 5000).sleep(); // give it a second (or five) to process + count++; + logger.info("count is " + count); + new Timeout("pausing", 5000).sleep(); // give it a second (or five) to process } + logger.info("Ingest (including enqueue) took " + (System.currentTimeMillis() - start) + "ms"); // allow keyword search to finish saving artifacts, just in case // but randomize the timing so that we don't always get the same error // consistently, making it seem like default behavior Random rand = new Random(); - new Timeout("pausing", 10000).sleep(); - //new Timeout("pausing", 10000 + (rand.nextInt(15000) + 5000)).sleep(); + new Timeout("pausing", 10000 + (rand.nextInt(15000) + 5000)).sleep(); screenshot("Finished Ingest"); } From 9ea848b525558ba935661f9a8aeb1de3ca368238 Mon Sep 17 00:00:00 2001 From: alexjacks92 Date: Tue, 25 Feb 2014 14:17:42 -0500 Subject: [PATCH 19/34] Logging to see which module is hanging up regression tests. --- Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java | 1 + 1 file changed, 1 insertion(+) diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java index 6ccd1b89dd..485a9012e6 100644 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java @@ -591,6 +591,7 @@ public class IngestManager { public synchronized boolean areModulesRunning() { for (IngestModuleAbstract serv : abstractFileModules) { if (serv.hasBackgroundJobsRunning()) { + logger.info("module " + serv.toString() " is running"); return true; } } From a33fb0f115c9767f8964ec8ba3787768a232aca6 Mon Sep 17 00:00:00 2001 From: alexjacks92 Date: Tue, 25 Feb 2014 14:26:04 -0500 Subject: [PATCH 20/34] Making log statement a bit more clear. --- Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java index 485a9012e6..2e2f7bd6db 100644 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java @@ -591,7 +591,7 @@ public class IngestManager { public synchronized boolean areModulesRunning() { for (IngestModuleAbstract serv : abstractFileModules) { if (serv.hasBackgroundJobsRunning()) { - logger.info("module " + serv.toString() " is running"); + logger.log(Level.INFO, "Module " + serv.toString() + " is running"); return true; } } From aa5fc9766866c6cc56e8f6bfac7da717d5af9604 Mon Sep 17 00:00:00 2001 From: alexjacks92 Date: Tue, 25 Feb 2014 14:50:31 -0500 Subject: [PATCH 21/34] Trying a different logging method. --- Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java index 2e2f7bd6db..4e5eea7cc1 100644 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java @@ -591,7 +591,7 @@ public class IngestManager { public synchronized boolean areModulesRunning() { for (IngestModuleAbstract serv : abstractFileModules) { if (serv.hasBackgroundJobsRunning()) { - logger.log(Level.INFO, "Module " + serv.toString() + " is running"); + logger.info("Module " + serv.toString() + " is running"); return true; } } From b9f14fc61b2eab455dadf8678514573f21e48065 Mon Sep 17 00:00:00 2001 From: alexjacks92 Date: Tue, 25 Feb 2014 15:45:31 -0500 Subject: [PATCH 22/34] removing unused variable --- .../src/org/sleuthkit/autopsy/testing/RegressionTest.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java index 28379d5c5c..bc57c6caea 100755 --- a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java +++ b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java @@ -267,13 +267,10 @@ public class RegressionTest extends TestCase { logger.info("Enqueue took " + (System.currentTimeMillis() - start) + "ms"); int count = 0; while (man.isIngestRunning()) { - count++; new Timeout("pausing", 1000).sleep(); // give it a second (or five) to process } - logger.info("count was " + count); - count = 0; new Timeout("pausing", 15000).sleep(); // give it a second (or fifteen) to process - boolean sleep = true; + //boolean sleep = true; while (man.areModulesRunning()) { count++; logger.info("count is " + count); From aa76bcc372523bc3556620a56f4aa9ac8c0619ff Mon Sep 17 00:00:00 2001 From: Brian Carrier Date: Wed, 26 Feb 2014 00:43:25 -0500 Subject: [PATCH 23/34] Moved SQLiteDBConnect and LocalDisk to better packages --- Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskPanel.java | 1 + .../autopsy/{casemodule => coreutils}/LocalDisk.java | 2 +- Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java | 1 - .../src/org/sleuthkit/autopsy/recentactivity/Extract.java | 1 - .../sleuthkit/autopsy/recentactivity}/SQLiteDBConnect.java | 4 ++-- .../src/org/sleuthkit/autopsy/recentactivity/Util.java | 1 - 6 files changed, 4 insertions(+), 6 deletions(-) rename Core/src/org/sleuthkit/autopsy/{casemodule => coreutils}/LocalDisk.java (97%) rename {Core/src/org/sleuthkit/autopsy/report => RecentActivity/src/org/sleuthkit/autopsy/recentactivity}/SQLiteDBConnect.java (98%) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskPanel.java b/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskPanel.java index 5c61abbd1f..b85ec86e4f 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskPanel.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskPanel.java @@ -18,6 +18,7 @@ */ package org.sleuthkit.autopsy.casemodule; +import org.sleuthkit.autopsy.coreutils.LocalDisk; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDisk.java b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java similarity index 97% rename from Core/src/org/sleuthkit/autopsy/casemodule/LocalDisk.java rename to Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java index 14853bcc12..c082250dea 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDisk.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java @@ -16,7 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.sleuthkit.autopsy.casemodule; +package org.sleuthkit.autopsy.coreutils; /** * Representation of a PhysicalDisk or partition. diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java b/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java index 40ced93327..1ccc4132a4 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java @@ -37,7 +37,6 @@ import org.hyperic.sigar.Sigar; import org.hyperic.sigar.ptql.ProcessFinder; import org.openide.modules.InstalledFileLocator; import org.openide.modules.Places; -import org.sleuthkit.autopsy.casemodule.LocalDisk; import org.sleuthkit.datamodel.SleuthkitJNI; import org.sleuthkit.datamodel.TskCoreException; diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Extract.java b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Extract.java index 66a628f389..12b82bbc65 100644 --- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Extract.java +++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Extract.java @@ -30,7 +30,6 @@ import java.util.logging.Level; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.ingest.IngestModuleDataSource; -import org.sleuthkit.autopsy.report.SQLiteDBConnect; import org.sleuthkit.datamodel.*; abstract class Extract extends IngestModuleDataSource{ diff --git a/Core/src/org/sleuthkit/autopsy/report/SQLiteDBConnect.java b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/SQLiteDBConnect.java similarity index 98% rename from Core/src/org/sleuthkit/autopsy/report/SQLiteDBConnect.java rename to RecentActivity/src/org/sleuthkit/autopsy/recentactivity/SQLiteDBConnect.java index 97142c840a..067145c5e6 100644 --- a/Core/src/org/sleuthkit/autopsy/report/SQLiteDBConnect.java +++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/SQLiteDBConnect.java @@ -20,7 +20,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.sleuthkit.autopsy.report; +package org.sleuthkit.autopsy.recentactivity; import java.sql.Connection; import java.sql.DriverManager; @@ -32,7 +32,7 @@ import org.sleuthkit.autopsy.coreutils.Logger; /** * Database connection class & utilities * */ - public class SQLiteDBConnect { +class SQLiteDBConnect { public String sDriver = ""; public String sUrl = null; diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Util.java b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Util.java index c5346df9b1..c27d216ae8 100644 --- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Util.java +++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Util.java @@ -41,7 +41,6 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.casemodule.services.FileManager; -import org.sleuthkit.autopsy.report.SQLiteDBConnect; import org.sleuthkit.datamodel.AbstractFile; import org.sleuthkit.datamodel.Content; import org.sleuthkit.datamodel.TskCoreException; From 46e93d71295024f58bde1bb9a430ce0d24784e8d Mon Sep 17 00:00:00 2001 From: Nick Davis Date: Mon, 3 Mar 2014 16:59:01 -0500 Subject: [PATCH 24/34] Pulled strings into Bundle. Created _ja. Added NbBundle dep to project.xml. --- thunderbirdparser/nbproject/project.xml | 8 +++ .../thunderbirdparser/Bundle.properties | 21 ++++++++ .../thunderbirdparser/Bundle_ja.properties | 0 .../autopsy/thunderbirdparser/MboxParser.java | 14 ++++-- .../autopsy/thunderbirdparser/PstParser.java | 9 +++- .../ThunderbirdMboxFileIngestModule.java | 50 +++++++++++++------ 6 files changed, 81 insertions(+), 21 deletions(-) create mode 100644 thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle_ja.properties diff --git a/thunderbirdparser/nbproject/project.xml b/thunderbirdparser/nbproject/project.xml index 950a9d78b0..c31a584419 100644 --- a/thunderbirdparser/nbproject/project.xml +++ b/thunderbirdparser/nbproject/project.xml @@ -6,6 +6,14 @@ org.sleuthkit.autopsy.thunderbirdparser + + org.openide.util + + + + 8.25.1 + + org.sleuthkit.autopsy.core diff --git a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle.properties b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle.properties index c94d63cf4f..ddbf65245e 100644 --- a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle.properties +++ b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle.properties @@ -4,3 +4,24 @@ OpenIDE-Module-Long-Description=\ The module extracts Thunderbird e-mail folder hierarchy from the ingested disk image and posts the folder hierarchy and e-mail messages found as results. OpenIDE-Module-Name=ThunderbirdParser OpenIDE-Module-Short-Description=Thunderbird Parser e-mail extractor ingest module +MboxParser.parse.errMsg.failedToReadFile=Failed to read mbox file from disk. +MboxParser.parse.errMsg.couldntFindCharset=Couldn't 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.hashDbModuleName=Hash Lookup +ThunderbirdMboxFileIngestModule.processPst.errMsg.outOfDiskSpace=Out of disk space. Can''t 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.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} +ThunderbirdMboxFileIngestModule.handleAttch.errMsg.details=Failed to add attachment named {0} to the case. +ThunderbirdMboxFileIngestModule.notAvail=Not available diff --git a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle_ja.properties b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle_ja.properties new file mode 100644 index 0000000000..e69de29bb2 diff --git a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/MboxParser.java b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/MboxParser.java index 05086b1ee6..f30b9ce27c 100755 --- a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/MboxParser.java +++ b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/MboxParser.java @@ -54,6 +54,7 @@ import org.apache.james.mime4j.message.DefaultMessageBuilder; import org.apache.james.mime4j.stream.MimeConfig; import org.apache.tika.parser.txt.CharsetDetector; import org.apache.tika.parser.txt.CharsetMatch; +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.ingest.IngestServices; /** @@ -116,14 +117,14 @@ import org.sleuthkit.autopsy.ingest.IngestServices; // Not the right encoder } catch (IOException ex) { logger.log(Level.WARNING, "couldn't find mbox file.", ex); - addErrorMessage("Failed to read mbox file from disk."); + addErrorMessage(NbBundle.getMessage(this.getClass(), "MboxParser.parse.errMsg.failedToReadFile")); return Collections.EMPTY_LIST; } } // If no encoders work, post an error message and return. if (mboxIterator == null || theEncoder == null) { - addErrorMessage("Couldn't find appropriate charset encoder."); + addErrorMessage(NbBundle.getMessage(this.getClass(), "MboxParser.parse.errMsg.couldntFindCharset")); return Collections.EMPTY_LIST; } @@ -142,7 +143,8 @@ import org.sleuthkit.autopsy.ingest.IngestServices; } if (failCount > 0) { - addErrorMessage("Failed to extract " + failCount + " email messages."); + addErrorMessage( + NbBundle.getMessage(this.getClass(), "MboxParser.parse.errMsg.failedToParseNMsgs", failCount)); } return emails; } @@ -255,7 +257,9 @@ import org.sleuthkit.autopsy.ingest.IngestServices; try { fos = new FileOutputStream(outPath); } catch (FileNotFoundException ex) { - addErrorMessage("Failed to extract attachment to disk: " + filename); + addErrorMessage( + NbBundle.getMessage(this.getClass(), + "MboxParser.handleAttch.errMsg.failedToCreateOnDisk", filename)); logger.log(Level.INFO, "Failed to create file output stream for: " + outPath, ex); return; } @@ -270,7 +274,7 @@ import org.sleuthkit.autopsy.ingest.IngestServices; } } catch (IOException ex) { logger.log(Level.INFO, "Failed to write mbox email attachment to disk.", ex); - addErrorMessage("Failed to extract attachment to disk: " + filename); + addErrorMessage(NbBundle.getMessage(this.getClass(), "MboxParser.handleAttch.failedWriteToDisk", filename)); return; } finally { try { diff --git a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/PstParser.java b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/PstParser.java index a43aef5dc9..566ab3eb48 100755 --- a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/PstParser.java +++ b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/PstParser.java @@ -33,6 +33,8 @@ import java.util.Collections; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.ingest.IngestServices; import static org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.getRelModuleOutputPath; import org.sleuthkit.datamodel.AbstractFile; @@ -80,7 +82,8 @@ class PstParser { pstFile = new PSTFile(file); failures = processFolder(pstFile.getRootFolder(), "\\", true); if (failures > 0) { - addErrorMessage("Failed to extract " + failures + " email messages."); + addErrorMessage( + NbBundle.getMessage(this.getClass(), "PstParser.parse.errMsg.failedToParseNMsgs", failures)); } return ParseResult.OK; } catch (PSTException | IOException ex) { @@ -219,7 +222,9 @@ class PstParser { attachment.setSize(attach.getFilesize()); email.addAttachment(attachment); } catch (PSTException | IOException ex) { - addErrorMessage("Failed to extract attachment to disk: " + filename); + addErrorMessage( + NbBundle.getMessage(this.getClass(), "PstParser.extractAttch.errMsg.failedToExtractToDisk", + filename)); logger.log(Level.WARNING, "Failed to extract attachment from pst file.", ex); } } diff --git a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/ThunderbirdMboxFileIngestModule.java b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/ThunderbirdMboxFileIngestModule.java index 82a4ffcb6e..b6ae70ba60 100644 --- a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/ThunderbirdMboxFileIngestModule.java +++ b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/ThunderbirdMboxFileIngestModule.java @@ -23,6 +23,8 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.casemodule.services.FileManager; import org.sleuthkit.autopsy.coreutils.Logger; @@ -53,8 +55,10 @@ public class ThunderbirdMboxFileIngestModule extends IngestModuleAbstractFile { private static final Logger logger = Logger.getLogger(ThunderbirdMboxFileIngestModule.class.getName()); private static ThunderbirdMboxFileIngestModule instance = null; private IngestServices services; - private static final String MODULE_NAME = "Email Parser"; - private final String hashDBModuleName = "Hash Lookup"; + private static final String MODULE_NAME = NbBundle.getMessage(ThunderbirdMboxFileIngestModule.class, + "ThunderbirdMboxFileIngestModule.moduleName"); + private final String hashDBModuleName = NbBundle.getMessage(ThunderbirdMboxFileIngestModule.class, + "ThunderbirdMboxFileIngestModule.hashDbModuleName"); final public static String MODULE_VERSION = Version.getVersion(); private int messageId = 0; private FileManager fileManager; @@ -132,7 +136,10 @@ public class ThunderbirdMboxFileIngestModule extends IngestModuleAbstractFile { if (abstractFile.getSize() >= services.getFreeDiskSpace()) { logger.log(Level.WARNING, "Not enough disk space to write file to disk."); - IngestMessage msg = IngestMessage.createErrorMessage(messageId++, this, getName(), "Out of disk space. Can't copy " + abstractFile.getName() + " to parse."); + IngestMessage msg = IngestMessage.createErrorMessage(messageId++, this, getName(), + NbBundle.getMessage(this.getClass(), + "ThunderbirdMboxFileIngestModule.processPst.errMsg.outOfDiskSpace", + abstractFile.getName())); services.postMessage(msg); return ProcessResult.OK; } @@ -155,14 +162,18 @@ public class ThunderbirdMboxFileIngestModule extends IngestModuleAbstractFile { try { BlackboardArtifact generalInfo = abstractFile.getGenInfoArtifact(); generalInfo.addAttribute(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_ENCRYPTION_DETECTED.getTypeID(), - MODULE_NAME, "File-level Encryption")); + MODULE_NAME, + NbBundle.getMessage(this.getClass(), "ThunderbirdMboxFileIngestModule.encryptionFileLevel"))); } catch (TskCoreException ex) { logger.log(Level.INFO, "Failed to add encryption attribute to file: " + abstractFile.getName()); } } else { // parsing error: log message - postErrorMessage("Error while processing " + abstractFile.getName(), - "Only files from Outlook 2003 and later are supported."); + postErrorMessage( + NbBundle.getMessage(this.getClass(), "ThunderbirdMboxFileIngestModule.processPst.errProcFile.msg", + abstractFile.getName()), + NbBundle.getMessage(this.getClass(), + "ThunderbirdMboxFileIngestModule.processPst.errProcFile.details")); logger.log(Level.INFO, "PSTParser failed to parse " + abstractFile.getName()); return ProcessResult.ERROR; } @@ -173,7 +184,9 @@ public class ThunderbirdMboxFileIngestModule extends IngestModuleAbstractFile { String errors = parser.getErrors(); if (errors.isEmpty() == false) { - postErrorMessage("Error while processing " + abstractFile.getName(), errors); + postErrorMessage( + NbBundle.getMessage(this.getClass(), "ThunderbirdMboxFileIngestModule.processPst.errProcFile.msg2", + abstractFile.getName()), errors); } return ProcessResult.OK; @@ -206,8 +219,11 @@ public class ThunderbirdMboxFileIngestModule extends IngestModuleAbstractFile { if (abstractFile.getSize() >= services.getFreeDiskSpace()) { logger.log(Level.WARNING, "Not enough disk space to write file to disk."); - postErrorMessage("Error while processing " + abstractFile.getName(), - "Out of disk space. Can't copy file to parse."); + postErrorMessage( + NbBundle.getMessage(this.getClass(), "ThunderbirdMboxFileIngestModule.processMBox.errProcFile.msg", + abstractFile.getName()), + NbBundle.getMessage(this.getClass(), + "ThunderbirdMboxFileIngestModule.processMBox.errProfFile.details")); return ProcessResult.OK; } @@ -229,7 +245,9 @@ public class ThunderbirdMboxFileIngestModule extends IngestModuleAbstractFile { String errors = parser.getErrors(); if (errors.isEmpty() == false) { - postErrorMessage("Error while processing " + abstractFile.getName(), errors); + postErrorMessage( + NbBundle.getMessage(this.getClass(), "ThunderbirdMboxFileIngestModule.processMBox.errProcFile.msg2", + abstractFile.getName()), errors); } return ProcessResult.OK; @@ -275,7 +293,7 @@ public class ThunderbirdMboxFileIngestModule extends IngestModuleAbstractFile { @Override public String getDescription() { - return "This module detects and parses mbox and pst/ost files and populates email artifacts in the blackboard."; + return NbBundle.getMessage(this.getClass(), "ThunderbirdMboxFileIngestModule.getDesc.text"); } @Override @@ -347,8 +365,11 @@ public class ThunderbirdMboxFileIngestModule extends IngestModuleAbstractFile { MODULE_NAME, MODULE_VERSION, ""); files.add(df); } catch (TskCoreException ex) { - postErrorMessage("Error processing " + abstractFile.getName(), - "Failed to add attachment named " + filename + " to the case."); + postErrorMessage( + NbBundle.getMessage(this.getClass(), "ThunderbirdMboxFileIngestModule.handleAttch.errMsg", + abstractFile.getName()), + NbBundle.getMessage(this.getClass(), + "ThunderbirdMboxFileIngestModule.handleAttch.errMsg.details", filename)); logger.log(Level.INFO, "", ex); } } @@ -399,7 +420,8 @@ public class ThunderbirdMboxFileIngestModule extends IngestModuleAbstractFile { if (rtf.isEmpty() == false) { bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_EMAIL_CONTENT_RTF.getTypeID(), MODULE_NAME, rtf)); } - bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_MSG_ID.getTypeID(), MODULE_NAME, ((id < 0L) ? "Not available" : String.valueOf(id)))); + bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_MSG_ID.getTypeID(), MODULE_NAME, ((id < 0L) ? NbBundle + .getMessage(this.getClass(), "ThunderbirdMboxFileIngestModule.notAvail") : String.valueOf(id)))); if (subject.isEmpty() == false) { bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_SUBJECT.getTypeID(), MODULE_NAME, subject)); } From 82612a9ca507e75de2347506c310b89824b2fa69 Mon Sep 17 00:00:00 2001 From: Nick Davis Date: Mon, 3 Mar 2014 17:24:58 -0500 Subject: [PATCH 25/34] Pulled strings into Bundle. Created _ja. --- .../autopsy/timeline/Bundle.properties | 23 +++++++ .../autopsy/timeline/Bundle_ja.properties | 0 .../sleuthkit/autopsy/timeline/Timeline.java | 65 ++++++++++++------- 3 files changed, 63 insertions(+), 25 deletions(-) create mode 100644 Timeline/src/org/sleuthkit/autopsy/timeline/Bundle_ja.properties diff --git a/Timeline/src/org/sleuthkit/autopsy/timeline/Bundle.properties b/Timeline/src/org/sleuthkit/autopsy/timeline/Bundle.properties index ac06311ca1..b997744697 100644 --- a/Timeline/src/org/sleuthkit/autopsy/timeline/Bundle.properties +++ b/Timeline/src/org/sleuthkit/autopsy/timeline/Bundle.properties @@ -4,6 +4,29 @@ OpenIDE-Module-Long-Description=\ Events for a selected day are viewable in the built-in result and content viewers. OpenIDE-Module-Name=Timeline CTL_MakeTimeline="Make Timeline (Beta)" +CTL_TimelineView=Generate Timeline OpenIDE-Module-Short-Description=Displays user activity timeline TimelineProgressDialog.jLabel1.text=Creating timeline . . . TimelineFrame.title=Timeline +Timeline.frameName.text={0} - Autopsy Timeline (Beta) +Timeline.resultsPanel.title=Timeline Results +Timeline.getName=Make Timeline (Beta) +Timeline.runJavaFxThread.progress.creating=Creating timeline . . . +Timeline.runJavaFxThread.progress.genBodyFile=Generating Bodyfile +Timeline.runJavaFxThread.progress.genMacTime=Generating Mactime +Timeline.runJavaFxThread.progress.parseMacTime=Parsing Mactime +Timeline.zoomOutButton.text=Zoom Out +Timeline.goToButton.text=Go To\: +Timeline.yearBarChart.x.years=Years +Timeline.yearBarChart.y.numEvents=Number of Events +Timeline.MonthsBarChart.x.monthYY=Month ({0}) +Timeline.MonthsBarChart.y.numEvents=Number of Events +Timeline.eventsByMoBarChart.x.dayOfMo=Day of Month +Timeline.eventsByMoBarChart.y.numEvents=Number of Events +Timeline.node.emptyRoot=Empty Root +Timeline.resultPanel.loading=Loading... +Timeline.node.root=Root +Timeline.propChg.confDlg.timelineOOD.msg=Timeline is out of date. Would you like to regenerate it? +Timeline.propChg.confDlg.timelineOOD.details=Select an option +Timeline.initTimeline.confDlg.genBeforeIngest.msg=You are trying to generate a timeline before ingest has been completed. The timeline may be incomplete. Do you want to continue? +Timeline.initTimeline.confDlg.genBeforeIngest.deails=Timeline diff --git a/Timeline/src/org/sleuthkit/autopsy/timeline/Bundle_ja.properties b/Timeline/src/org/sleuthkit/autopsy/timeline/Bundle_ja.properties new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java b/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java index 479b98cfe0..7333516663 100644 --- a/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java +++ b/Timeline/src/org/sleuthkit/autopsy/timeline/Timeline.java @@ -75,7 +75,6 @@ import org.openide.awt.ActionReference; import org.openide.awt.ActionReferences; import org.openide.awt.ActionRegistration; import org.openide.modules.InstalledFileLocator; -import org.openide.modules.ModuleInstall; import org.openide.nodes.Children; import org.openide.nodes.Node; import org.openide.util.HelpCtx; @@ -105,7 +104,7 @@ import org.sleuthkit.datamodel.TskCoreException; @ActionRegistration(displayName = "#CTL_MakeTimeline", lazy = false) @ActionReferences(value = { @ActionReference(path = "Menu/Tools", position = 100)}) -@NbBundle.Messages(value = "CTL_TimelineView=Generate Timeline") +//@NbBundle.Messages(value = "CTL_TimelineView=Generate Timeline") /** * The Timeline Action entry point. Collects data and pushes data to javafx * widgets @@ -175,7 +174,8 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, //Making the main frame * mainFrame = new TimelineFrame(); - mainFrame.setFrameName(Case.getCurrentCase().getName() + " - Autopsy Timeline (Beta)"); + mainFrame.setFrameName( + NbBundle.getMessage(this.getClass(), "Timeline.frameName.text", Case.getCurrentCase().getName())); //use the same icon on jframe as main application mainFrame.setIconImage(WindowManager.getDefault().getMainWindow().getIconImage()); @@ -186,7 +186,9 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, //dataContentPanel.setAlignmentX(Component.RIGHT_ALIGNMENT); //dataContentPanel.setPreferredSize(new Dimension(FRAME_WIDTH, (int) (FRAME_HEIGHT * 0.4))); - dataResultPanel = DataResultPanel.createInstance("Timeline Results", "", Node.EMPTY, 0, dataContentPanel); + dataResultPanel = DataResultPanel.createInstance( + NbBundle.getMessage(this.getClass(), "Timeline.resultsPanel.title"), + "", Node.EMPTY, 0, dataContentPanel); dataResultPanel.setContentViewer(dataContentPanel); //dataResultPanel.setAlignmentX(Component.LEFT_ALIGNMENT); //dataResultPanel.setPreferredSize(new Dimension((int)(FRAME_WIDTH * 0.5), (int) (FRAME_HEIGHT * 0.5))); @@ -211,7 +213,8 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, public void run() { try { // start the progress bar - progress = ProgressHandleFactory.createHandle("Creating timeline . . ."); + progress = ProgressHandleFactory.createHandle( + NbBundle.getMessage(this.getClass(), "Timeline.runJavaFxThread.progress.creating")); progress.start(); fxChartEvents = null; //important to reset old data @@ -239,11 +242,13 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, if (!mactimeFile.exists()) { progressDialog.setProgressTotal(3); //total 3 units logger.log(Level.INFO, "Creating body file"); - progressDialog.updateProgressBar("Generating Bodyfile"); + progressDialog.updateProgressBar( + NbBundle.getMessage(this.getClass(), "Timeline.runJavaFxThread.progress.genBodyFile")); String bodyFilePath = makeBodyFile(); progressDialog.updateProgressBar(++currentProgress); logger.log(Level.INFO, "Creating mactime file: " + mactimeFile.getAbsolutePath()); - progressDialog.updateProgressBar("Generating Mactime"); + progressDialog.updateProgressBar( + NbBundle.getMessage(this.getClass(), "Timeline.runJavaFxThread.progress.genMacTime")); makeMacTime(bodyFilePath); progressDialog.updateProgressBar(++currentProgress); data = null; @@ -253,7 +258,8 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, } - progressDialog.updateProgressBar("Parsing Mactime"); + progressDialog.updateProgressBar( + NbBundle.getMessage(this.getClass(), "Timeline.runJavaFxThread.progress.parseMacTime")); if (data == null) { logger.log(Level.INFO, "Parsing mactime file: " + mactimeFile.getAbsolutePath()); data = parseMacTime(mactimeFile); //The sum total of the mactime parsing. YearEpochs contain everything you need to make a timeline. @@ -269,7 +275,7 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, fxDropdownSelectYears = new ComboBox(listSelect); //Buttons for navigating up and down the timeline - fxZoomOutButton = new Button("Zoom Out"); + fxZoomOutButton = new Button(NbBundle.getMessage(this.getClass(), "Timeline.zoomOutButton.text")); fxZoomOutButton.setOnAction(new EventHandler() { @Override public void handle(ActionEvent e) { @@ -301,7 +307,8 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, //Adding things to the V and H boxes. //hBox_Charts stores the pseudo menu bar at the top of the timeline. |Zoom Out|View Year: [Select Year]|â–º| - fxHBoxCharts.getChildren().addAll(fxZoomOutButton, new Label("Go To:"), fxDropdownSelectYears); + fxHBoxCharts.getChildren().addAll(fxZoomOutButton, new Label( + NbBundle.getMessage(this.getClass(), "Timeline.goToButton.text")), fxDropdownSelectYears); fxVBox.getChildren().addAll(fxHBoxCharts, fxScrollEvents); //FxBox_V holds things in a visual stack. fxGroupCharts.getChildren().add(fxVBox); //Adding the FxBox to the group. Groups make things easier to manipulate without having to update a hundred things every change. fxPanelCharts.setScene(fxSceneCharts); @@ -346,8 +353,8 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, final Label l = new Label(""); l.setStyle("-fx-font: 24 arial;"); l.setTextFill(Color.AZURE); - xAxis.setLabel("Years"); - yAxis.setLabel("Number of Events"); + xAxis.setLabel(NbBundle.getMessage(this.getClass(), "Timeline.yearBarChart.x.years")); + yAxis.setLabel(NbBundle.getMessage(this.getClass(), "Timeline.yearBarChart.y.numEvents")); //Charts are made up of individual pieces of Chart.Data. In this case, a piece of barData is a single bar on the graph. //Data is packaged into a series, which can be assigned custom colors or styling //After the series are created, 1 or more series are packaged into a single chart. @@ -413,8 +420,8 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, final CategoryAxis xAxis = new CategoryAxis(); final NumberAxis yAxis = new NumberAxis(); - xAxis.setLabel("Month (" + ye.year + ")"); - yAxis.setLabel("Number of Events"); + xAxis.setLabel(NbBundle.getMessage(this.getClass(), "Timeline.MonthsBarChart.x.monthYY", ye.year)); + yAxis.setLabel(NbBundle.getMessage(this.getClass(), "Timeline.MonthsBarChart.y.numEvents")); ObservableList> bcData = FXCollections.observableArrayList(); BarChart.Series se = new BarChart.Series(); @@ -477,8 +484,8 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, private BarChart createEventsByMonth(final MonthEpoch me, final YearEpoch ye) { final CategoryAxis xAxis = new CategoryAxis(); final NumberAxis yAxis = new NumberAxis(); - xAxis.setLabel("Day of Month"); - yAxis.setLabel("Number of Events"); + xAxis.setLabel(NbBundle.getMessage(this.getClass(), "Timeline.eventsByMoBarChart.x.dayOfMo")); + yAxis.setLabel(NbBundle.getMessage(this.getClass(), "Timeline.eventsByMoBarChart.y.numEvents")); ObservableList> bcData = makeObservableListByMonthAllDays(me, ye.getYear()); BarChart.Series series = new BarChart.Series(bcData); series.setName(me.getMonthName() + " " + ye.getYear()); @@ -507,9 +514,10 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, @Override public void run() { //reset the view and free the current nodes before loading new ones - final FileRootNode d = new FileRootNode("Empty Root", new ArrayList()); + final FileRootNode d = new FileRootNode( + NbBundle.getMessage(this.getClass(), "Timeline.node.emptyRoot"), new ArrayList()); dataResultPanel.setNode(d); - dataResultPanel.setPath("Loading..."); + dataResultPanel.setPath(NbBundle.getMessage(this.getClass(), "Timeline.resultPanel.loading")); } }); final int day = (Integer.valueOf((barData.getXValue()).split("-")[1])); @@ -525,7 +533,8 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, SwingUtilities.invokeLater(new Runnable() { @Override public void run() { - final FileRootNode d = new FileRootNode("Root", afs); + final FileRootNode d = new FileRootNode( + NbBundle.getMessage(this.getClass(), "Timeline.node.root"), afs); dataResultPanel.setNode(d); //set result viewer title path with the current date String dateString = ye.getYear() + "-" + (1 + me.getMonthInt()) + "-" + +de.dayNum; @@ -620,7 +629,12 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, return; } - int answer = JOptionPane.showConfirmDialog(mainFrame, "Timeline is out of date. Would you like to regenerate it?", "Select an option", JOptionPane.YES_NO_OPTION); + int answer = JOptionPane.showConfirmDialog(mainFrame, + NbBundle.getMessage(this.getClass(), + "Timeline.propChg.confDlg.timelineOOD.msg"), + NbBundle.getMessage(this.getClass(), + "Timeline.propChg.confDlg.timelineOOD.details"), + JOptionPane.YES_NO_OPTION); if (answer != JOptionPane.YES_OPTION) { return; } @@ -1123,10 +1137,11 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, if (IngestManager.getDefault().isIngestRunning()) { int answer = JOptionPane.showConfirmDialog(new JFrame(), - "You are trying to generate a timeline before " - + "ingest has been completed. The timeline may be " - + "incomplete. Do you want to continue?", "Timeline", - JOptionPane.YES_NO_OPTION); + NbBundle.getMessage(this.getClass(), + "Timeline.initTimeline.confDlg.genBeforeIngest.msg"), + NbBundle.getMessage(this.getClass(), + "Timeline.initTimeline.confDlg.genBeforeIngest.deails"), + JOptionPane.YES_NO_OPTION); if (answer != JOptionPane.YES_OPTION) { return; } @@ -1177,7 +1192,7 @@ public class Timeline extends CallableSystemAction implements Presenter.Toolbar, @Override public String getName() { - return "Make Timeline (Beta)"; + return NbBundle.getMessage(this.getClass(), "Timeline.getName"); } @Override From 71e6d2a2adc535c41e7a072afc5ec0a8f76030b4 Mon Sep 17 00:00:00 2001 From: Nick Davis Date: Mon, 3 Mar 2014 18:21:01 -0500 Subject: [PATCH 26/34] Pulled remaining strings into Bundle. Removed unused string. --- .../keywordsearch/AbstractFileChunk.java | 5 +- .../AbstractFileStringContentStream.java | 7 +- .../autopsy/keywordsearch/Bundle.properties | 76 ++++++++++++++++++- .../keywordsearch/Bundle_ja.properties | 1 - .../keywordsearch/ByteContentStream.java | 4 +- .../keywordsearch/ExtractedContentPanel.java | 6 +- .../keywordsearch/ExtractedContentViewer.java | 21 +++-- .../HighlightedMatchesSource.java | 12 ++- .../autopsy/keywordsearch/Ingester.java | 43 +++++++---- .../autopsy/keywordsearch/Keyword.java | 3 +- .../autopsy/keywordsearch/KeywordSearch.java | 6 +- .../KeywordSearchIngestModule.java | 4 +- .../KeywordSearchListsEncase.java | 13 +++- .../KeywordSearchListsManagementPanel.java | 5 +- .../KeywordSearchListsViewerPanel.java | 6 +- .../KeywordSearchOptionsPanelController.java | 11 ++- .../keywordsearch/KeywordSearchPanel.java | 7 +- .../KeywordSearchQueryManager.java | 2 +- .../KeywordSearchResultFactory.java | 5 +- .../keywordsearch/KeywordSearchSettings.java | 10 ++- .../keywordsearch/NoOpenCoreException.java | 4 +- .../autopsy/keywordsearch/Server.java | 75 +++++++++++------- 22 files changed, 245 insertions(+), 81 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AbstractFileChunk.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AbstractFileChunk.java index 9e5e0a2da2..cccd6896b0 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AbstractFileChunk.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AbstractFileChunk.java @@ -20,6 +20,8 @@ package org.sleuthkit.autopsy.keywordsearch; import java.nio.charset.Charset; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.keywordsearch.Ingester.IngesterException; /** @@ -59,7 +61,8 @@ class AbstractFileChunk { //logger.log(Level.INFO, "Ingesting string chunk: " + this.getName() + ": " + chunkID); } catch (Exception ingEx) { success = false; - throw new IngesterException("Problem ingesting file string chunk: " + parent.getSourceFile().getId() + ", chunk: " + chunkID, ingEx); + throw new IngesterException(NbBundle.getMessage(this.getClass(), "AbstractFileChunk.index.exception.msg", + parent.getSourceFile().getId(), chunkID), ingEx); } return success; } diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AbstractFileStringContentStream.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AbstractFileStringContentStream.java index 63873f9dd3..22c3c5a5fb 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AbstractFileStringContentStream.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AbstractFileStringContentStream.java @@ -23,6 +23,8 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.nio.charset.Charset; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import org.apache.solr.common.util.ContentStream; import org.sleuthkit.datamodel.AbstractContent; @@ -69,12 +71,13 @@ import org.sleuthkit.datamodel.AbstractFile; @Override public Long getSize() { //return convertedLength; - throw new UnsupportedOperationException("Cannot tell how many chars in converted string, until entire string is converted"); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), "AbstractFileStringContentStream.getSize.exception.msg")); } @Override public String getSourceInfo() { - return "File:" + content.getId(); + return NbBundle.getMessage(this.getClass(), "AbstractFileStringContentStream.getSrcInfo.text", content.getId()); } @Override diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties index eca055301d..37fab7bb11 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties @@ -90,7 +90,6 @@ KeywordSearchListsViewerPanel.manageListsButton.toolTipText=Manage keyword lists KeywordSearchConfigurationPanel2.frequencyLabel.text=Results update frequency during ingest: KeywordSearchConfigurationPanel2.timeRadioButton4.text_1=1 minute (faster feedback, longest ingest) KeywordSearchConfigurationPanel2.timeRadioButton4.toolTipText=1 minute (overall ingest time will be longest) -KeywordSearchConfigurationPanel2.showSnippetsCB.text=Show Keyword Preview in Keyword Search Results (will result in longer search times) AbstractKeywordSearchPerformer.search.dialogErrorHeader=Keyword Search Error AbstractKeywordSearchPerformer.search.invalidSyntaxHeader=Invalid query syntax. AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=Keyword Search Ingest in Progress @@ -183,4 +182,79 @@ KeywordSearch.listImportFeatureTitle=Keyword List Import KeywordSearchIngestModule.hashDbModuleName=Hash Lookup KeywordSearchIngestModule.moduleName=Keyword Search KeywordSearchIngestModule.moduleDescription=Performs file indexing and periodic search using keywords and regular expressions in lists. +AbstractFileChunk.index.exception.msg=Problem ingesting file string chunk\: {0}, chunk\: {1} +AbstractFileStringContentStream.getSize.exception.msg=Cannot tell how many chars in converted string, until entire string is converted +AbstractFileStringContentStream.getSrcInfo.text=File\:{0} +ByteContentStream.getSrcInfo.text=File\:{0} +ExtractedContentPanel.SetMarkup.progress.loading=Loading text +ExtractedContentPanel.SetMarkup.progress.displayName=Loading text +ExtractedContentViewer.nextPage.exception.msg=No next page. +ExtractedContentViewer.previousPage.exception.msg=No previous page. +ExtractedContentViewer.hasNextItem.exception.msg=Not supported, not a searchable source. +ExtractedContentViewer.hasPreviousItem.exception.msg=Not supported, not a searchable source. +ExtractedContentViewer.nextItem.exception.msg=Not supported, not a searchable source. +ExtractedContentViewer.previousItem.exception.msg=Not supported, not a searchable source. +ExtractedContentViewer.currentItem.exception.msg=Not supported, not a searchable source. +HighlightedMatchesSource.nextPage.exception.msg=No next page. +HighlightedMatchesSource.previousPage.exception.msg=No previous page. +HighlightedMatchesSource.nextItem.exception.msg=No next item. +HighlightedMatchesSource.previousItem.exception.msg=No previous item. +Ingester.ingest.exception.unknownImgId.msg=Skipping indexing the file, unknown image id, for file\: {0} +Ingester.ingest.exception.cantReadStream.msg=Could not read content stream\: {0} +Ingester.ingest.exception.err.msg=Error ingestint document\: {0} +Ingester.ingestExtract.exception.solrTimeout.msg=Solr index request time out for id\: {0}, name\: {1} +Ingester.ingestExtract.exception.probPostToSolr.msg=Problem posting content to Solr, id\: {0}, name\: {1} +Ingester.UpReqestTask.run.exception.sorlNotAvail.msg=No Solr core available, cannot index the content +Ingester.UpRequestTask.run.exception.probReadFile.msg=Problem reading file. +Ingester.UpRequestTask.run.exception.solrProb.msg=Problem with Solr +Ingester.UpRequestTask.run.exception.probPostToSolr.msg=Problem posting file contents to Solr. SolrException error code\: {0} +Ingester.FscContentStream.getSrcInfo=File\:{0} +Ingester.FscContentStream.getReader=Not supported yet. +Ingester.NullContentStream.getSrcInfo.text=File\:{0} +Ingester.NullContentStream.getReader=Not supported yet. +Keyword.toString.text=Keyword'{'query\={0}, isLiteral\={1}, keywordType\={2}'}' +KeywordSearch.moduleErr=Module Error +KeywordSearch.fireNumIdxFileChg.moduleErr.msg=A module caused an error listening to KeywordSearch updates. See log to determine which module. Some data could be incomplete. +KeywordSearchIngestModule.init.exception.errConnToSolr.msg=Error connecting to SOLR server\: {0} +KeywordSearchListsEncase.save.exception.msg=Not supported yet. +KeywordSearchListsEncase.save2.exception.msg=Not supported yet. +KeywordSearchListsEncase.encaseMetaType.exception.msg=Unsupported EncaseMetaType\: {0} +KeywordSearchListsManagementPanel.getColName.text=Name +KeywordSearchListsManagementPanel.setValueAt.exception.msg=Editing of cells is not supported +KeywordSearchListsViewerPanel.isLuceneQuerySel.exception.msg=Not supported for multi-word queries. +KeywordSearchListsViewerPanel.getQueryText.exception.msg=Not supported for multi-word queries. +KeywordSearchOptionsPanelController.moduleErr=Module Error +KeywordSearchOptionsPanelController.moduleErr.msg1=A module caused an error listening to KeywordSearchOptionsPanelController updates. See log to determine which module. Some data could be incomplete. +KeywordSearchOptionsPanelController.moduleErr.msg2=A module caused an error listening to KeywordSearchOptionsPanelController updates. See log to determine which module. Some data could be incomplete. +KeywordSearchPanel.getQueryList.exception.msg=No list for single-keyword search +KeywordSearchQueryManager.pathText.text=Keyword search +KeywordSearchResultFactory.progress.saving=Saving results\: {0} +KeywordSearchSettings.moduleName.text=KeywordSearch +KeywordSearchSettings.properties_options.text={0}_Options +KeywordSearchSettings.propertiesNSRL.text={0}_NSRL +KeywordSearchSettings.propertiesScripts.text={0}_Scripts +NoOpenCoreException.err.noOpenSorlCore.msg=No currently open Solr core. +Server.start.exception.cantStartSolr.msg=Could not start Solr server process +Server.start.exception.cantStartSolr.msg2=Could not start Solr server process +Server.isRunning.exception.errCheckSolrRunning.msg=Error checking if Solr server is running +Server.isRunning.exception.errCheckSolrRunning.msg2=Error checking if Solr server is running +Server.openCore.exception.alreadyOpen.msg=Already an open Core\! Explicitely close Core first. +Server.queryNumIdxFiles.exception.msg=Error querying number of indexed files, +Server.queryNumIdxChunks.exception.msg=Error querying number of indexed chunks, +Server.queryNumIdxDocs.exception.msg=Error querying number of indexed documents, +Server.queryIsIdxd.exception.msg=Error checkign if content is indexed, +Server.queryNumFileChunks.exception.msg=Error getting number of file chunks, +Server.query.exception.msg=Error running query\: {0} +Server.query2.exception.msg=Error running query\: {0} +Server.queryTerms.exception.msg=Error running terms query\: {0} +Server.openCore.exception.msg=Core open requested, but server not yet running +Server.openCore.exception.cantOpen.msg=Could not open Core +Server.openCore.exception.cantOpen.msg2=Could not open Core +Server.request.exception.exception.msg=Could not issue Solr request +Server.commit.exception.msg=Could not commit index +Server.addDoc.exception.msg=Could not add document to index via update handler\: {0} +Server.addDoc.exception.msg2=Could not add document to index via update handler\: {0} +Server.close.exception.msg=Cannot close Core +Server.close.exception.msg2=Cannot close Core +Server.solrServerNoPortException.msg=Indexing server could not bind to port {0}, port is not available, consider change the default {1} port. diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties index 993ce3cad9..b0b3009c07 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties @@ -70,7 +70,6 @@ KeywordSearchListsViewerPanel.manageListsButton.toolTipText=\u30AD\u30FC\u30EF\u KeywordSearchConfigurationPanel2.frequencyLabel.text=\u51E6\u7406\u4E2D\u306E\u7D50\u679C\u66F4\u65B0\u306E\u983B\u5EA6\uFF1A KeywordSearchConfigurationPanel2.timeRadioButton4.text_1=\uFF11\u5206\uFF08\u3088\u308A\u901F\u3044\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3001\u6700\u3082\u9577\u3044\u51E6\u7406\u6642\u9593\uFF09 KeywordSearchConfigurationPanel2.timeRadioButton4.toolTipText=\uFF11\u5206\uFF08\u5168\u4F53\u7684\u306A\u51E6\u7406\u6642\u9593\u304C\u9577\u304F\u306A\u308A\u307E\u3059\uFF09 -KeywordSearchConfigurationPanel2.showSnippetsCB.text=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\u7D50\u679C\u306B\u30AD\u30FC\u30EF\u30FC\u30C9\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u8868\u793A\uFF08\u691C\u7D22\u6642\u9593\u304C\u9577\u304F\u306A\u308A\u307E\u3059\uFF09 AbstractKeywordSearchPerformer.search.dialogErrorHeader=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\u30A8\u30E9\u30FC AbstractKeywordSearchPerformer.search.invalidSyntaxHeader=\u30B7\u30F3\u30BF\u30C3\u30AF\u30B9\u30A8\u30E9\u30FC AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=\u30AD\u30FC\u30EF\u30FC\u30C9\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3092\u5B9F\u884C\u4E2D diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ByteContentStream.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ByteContentStream.java index fc8d132596..8dc2b4fe80 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ByteContentStream.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ByteContentStream.java @@ -24,6 +24,8 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.nio.charset.Charset; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import org.apache.solr.common.util.ContentStream; import org.sleuthkit.datamodel.AbstractContent; @@ -84,7 +86,7 @@ class ByteContentStream implements ContentStream { @Override public String getSourceInfo() { - return "File:" + aContent.getId(); + return NbBundle.getMessage(this.getClass(), "ByteContentStream.getSrcInfo.text", aContent.getId()); } @Override diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java index bbad85160f..4b72619614 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java @@ -682,8 +682,10 @@ class ExtractedContentPanel extends javax.swing.JPanel { @Override protected Object doInBackground() throws Exception { - progress = ProgressHandleFactory.createHandle("Loading text"); - progress.setDisplayName("Loading text"); + progress = ProgressHandleFactory.createHandle( + NbBundle.getMessage(this.getClass(), "ExtractedContentPanel.SetMarkup.progress.loading")); + progress.setDisplayName( + NbBundle.getMessage(this.getClass(), "ExtractedContentPanel.SetMarkup.progress.displayName")); progress.start(); progress.switchToIndeterminate(); diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java index e8368e14b6..a72b33bd37 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java @@ -134,7 +134,8 @@ public class ExtractedContentViewer implements DataContentViewer { @Override public int nextPage() { if (!hasNextPage()) { - throw new IllegalStateException("No next page."); + throw new IllegalStateException( + NbBundle.getMessage(this.getClass(), "ExtractedContentViewer.nextPage.exception.msg")); } ++currentPage; return currentPage; @@ -143,7 +144,8 @@ public class ExtractedContentViewer implements DataContentViewer { @Override public int previousPage() { if (!hasPreviousPage()) { - throw new IllegalStateException("No previous page."); + throw new IllegalStateException( + NbBundle.getMessage(this.getClass(), "ExtractedContentViewer.previousPage.exception.msg")); } --currentPage; return currentPage; @@ -151,27 +153,32 @@ public class ExtractedContentViewer implements DataContentViewer { @Override public boolean hasNextItem() { - throw new UnsupportedOperationException("Not supported, not a searchable source."); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), "ExtractedContentViewer.hasNextItem.exception.msg")); } @Override public boolean hasPreviousItem() { - throw new UnsupportedOperationException("Not supported, not a searchable source."); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), "ExtractedContentViewer.hasPreviousItem.exception.msg")); } @Override public int nextItem() { - throw new UnsupportedOperationException("Not supported, not a searchable source."); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), "ExtractedContentViewer.nextItem.exception.msg")); } @Override public int previousItem() { - throw new UnsupportedOperationException("Not supported, not a searchable source."); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), "ExtractedContentViewer.previousItem.exception.msg")); } @Override public int currentItem() { - throw new UnsupportedOperationException("Not supported, not a searchable source."); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), "ExtractedContentViewer.currentItem.exception.msg")); } @Override diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/HighlightedMatchesSource.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/HighlightedMatchesSource.java index a7d08fdcd3..a94d2865ad 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/HighlightedMatchesSource.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/HighlightedMatchesSource.java @@ -223,7 +223,8 @@ class HighlightedMatchesSource implements MarkupSource, HighlightLookup { @Override public int nextPage() { if (!hasNextPage()) { - throw new IllegalStateException("No next page."); + throw new IllegalStateException( + NbBundle.getMessage(this.getClass(), "HighlightedMatchesSource.nextPage.exception.msg")); } int idx = pages.indexOf(this.currentPage); currentPage = pages.get(idx + 1); @@ -233,7 +234,8 @@ class HighlightedMatchesSource implements MarkupSource, HighlightLookup { @Override public int previousPage() { if (!hasPreviousPage()) { - throw new IllegalStateException("No previous page."); + throw new IllegalStateException( + NbBundle.getMessage(this.getClass(), "HighlightedMatchesSource.previousPage.exception.msg")); } int idx = pages.indexOf(this.currentPage); currentPage = pages.get(idx - 1); @@ -259,7 +261,8 @@ class HighlightedMatchesSource implements MarkupSource, HighlightLookup { @Override public int nextItem() { if (!hasNextItem()) { - throw new IllegalStateException("No next item."); + throw new IllegalStateException( + NbBundle.getMessage(this.getClass(), "HighlightedMatchesSource.nextItem.exception.msg")); } int cur = pagesToHits.get(currentPage) + 1; pagesToHits.put(currentPage, cur); @@ -269,7 +272,8 @@ class HighlightedMatchesSource implements MarkupSource, HighlightLookup { @Override public int previousItem() { if (!hasPreviousItem()) { - throw new IllegalStateException("No previous item."); + throw new IllegalStateException( + NbBundle.getMessage(this.getClass(), "HighlightedMatchesSource.previousItem.exception.msg")); } int cur = pagesToHits.get(currentPage) - 1; pagesToHits.put(currentPage, cur); diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Ingester.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Ingester.java index d4a7c2fffc..12d9999b01 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Ingester.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Ingester.java @@ -41,6 +41,7 @@ import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.util.ContentStream; import org.apache.solr.common.SolrInputDocument; import org.openide.util.Exceptions; +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.datamodel.ContentUtils; @@ -279,7 +280,8 @@ class Ingester { if (fields.get(Server.Schema.IMAGE_ID.toString()) == null) { //skip the file, image id unknown - String msg = "Skipping indexing the file, unknown image id, for file: " + cs.getName(); + String msg = NbBundle.getMessage(this.getClass(), + "Ingester.ingest.exception.unknownImgId.msg", cs.getName()); logger.log(Level.SEVERE, msg); throw new IngesterException(msg); } @@ -301,7 +303,9 @@ class Ingester { is = cs.getStream(); read = is.read(docChunkContentBuf); } catch (IOException ex) { - throw new IngesterException("Could not read content stream: " + cs.getName()); + throw new IngesterException( + NbBundle.getMessage(this.getClass(), "Ingester.ingest.exception.cantReadStream.msg", + cs.getName())); } finally { try { is.close(); @@ -333,7 +337,8 @@ class Ingester { solrServer.addDocument(updateDoc); uncommitedIngests = true; } catch (KeywordSearchModuleException ex) { - throw new IngesterException("Error ingestint document: " + cs.getName(), ex); + throw new IngesterException( + NbBundle.getMessage(this.getClass(), "Ingester.ingest.exception.err.msg", cs.getName()), ex); } @@ -373,9 +378,13 @@ class Ingester { logger.log(Level.WARNING, "Solr timeout encountered, trying to restart Solr"); //restart may be needed to recover from some error conditions hardSolrRestart(); - throw new IngesterException("Solr index request time out for id: " + fields.get("id") + ", name: " + fields.get("file_name")); + throw new IngesterException( + NbBundle.getMessage(this.getClass(), "Ingester.ingestExtract.exception.solrTimeout.msg", + fields.get("id"), fields.get("file_name"))); } catch (Exception e) { - throw new IngesterException("Problem posting content to Solr, id: " + fields.get("id") + ", name: " + fields.get("file_name"), e); + throw new IngesterException( + NbBundle.getMessage(this.getClass(), "Ingester.ingestExtract.exception.probPostToSolr.msg", + fields.get("id"), fields.get("file_name")), e); } uncommitedIngests = true; } @@ -443,14 +452,17 @@ class Ingester { up.setMethod(METHOD.POST); solrServer.request(up); } catch (NoOpenCoreException ex) { - throw new RuntimeException("No Solr core available, cannot index the content", ex); + throw new RuntimeException( + NbBundle.getMessage(this.getClass(), "Ingester.UpReqestTask.run.exception.sorlNotAvail.msg"), ex); } catch (IllegalStateException ex) { // problems with content - throw new RuntimeException("Problem reading file.", ex); + throw new RuntimeException( + NbBundle.getMessage(this.getClass(), "Ingester.UpRequestTask.run.exception.probReadFile.msg"), ex); } catch (SolrServerException ex) { // If there's a problem talking to Solr, something is fundamentally // wrong with ingest - throw new RuntimeException("Problem with Solr", ex); + throw new RuntimeException( + NbBundle.getMessage(this.getClass(), "Ingester.UpRequestTask.run.exception.solrProb.msg"), ex); } catch (SolrException ex) { // Tika problems result in an unchecked SolrException ErrorCode ec = ErrorCode.getErrorCode(ex.code()); @@ -458,7 +470,10 @@ class Ingester { // When Tika has problems with a document, it throws a server error // but it's okay to continue with other documents if (ec.equals(ErrorCode.SERVER_ERROR)) { - throw new RuntimeException("Problem posting file contents to Solr. SolrException error code: " + ec, ex); + throw new RuntimeException(NbBundle.getMessage(this.getClass(), + "Ingester.UpRequestTask.run.exception.probPostToSolr.msg", + ec), + ex); } else { // shouldn't get any other error codes throw ex; @@ -513,7 +528,7 @@ class Ingester { @Override public String getSourceInfo() { - return "File:" + f.getId(); + return NbBundle.getMessage(this.getClass(), "Ingester.FscContentStream.getSrcInfo", f.getId()); } @Override @@ -533,7 +548,8 @@ class Ingester { @Override public Reader getReader() throws IOException { - throw new UnsupportedOperationException("Not supported yet."); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), "Ingester.FscContentStream.getReader")); } } @@ -555,7 +571,7 @@ class Ingester { @Override public String getSourceInfo() { - return "File:" + aContent.getId(); + return NbBundle.getMessage(this.getClass(), "Ingester.NullContentStream.getSrcInfo.text", aContent.getId()); } @Override @@ -575,7 +591,8 @@ class Ingester { @Override public Reader getReader() throws IOException { - throw new UnsupportedOperationException("Not supported yet."); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), "Ingester.NullContentStream.getReader")); } } diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Keyword.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Keyword.java index 39035a1684..65acb171b1 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Keyword.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Keyword.java @@ -19,6 +19,7 @@ package org.sleuthkit.autopsy.keywordsearch; +import org.openide.util.NbBundle; import org.sleuthkit.datamodel.BlackboardAttribute; /** @@ -72,7 +73,7 @@ class Keyword { @Override public String toString() { - return "Keyword{" + "query=" + keywordString + ", isLiteral=" + isLiteral + ", keywordType=" + keywordType + '}'; + return NbBundle.getMessage(this.getClass(), "Keyword.toString.text", keywordString, isLiteral, keywordType); } diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearch.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearch.java index 59f218fc09..c849833d00 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearch.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearch.java @@ -28,6 +28,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.logging.SimpleFormatter; import org.openide.util.Exceptions; +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.coreutils.PlatformUtil; import org.sleuthkit.autopsy.keywordsearch.KeywordSearchResultFactory.ResultWriter; @@ -107,7 +108,10 @@ public class KeywordSearch { } catch (Exception e) { logger.log(Level.SEVERE, "KeywordSearch listener threw exception", e); - MessageNotifyUtil.Notify.show("Module Error", "A module caused an error listening to KeywordSearch updates. See log to determine which module. Some data could be incomplete.", MessageNotifyUtil.MessageType.ERROR); + MessageNotifyUtil.Notify.show(NbBundle.getMessage(KeywordSearch.class, "KeywordSearch.moduleErr"), + NbBundle.getMessage(KeywordSearch.class, + "KeywordSearch.fireNumIdxFileChg.moduleErr.msg"), + MessageNotifyUtil.MessageType.ERROR); } } diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestModule.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestModule.java index 7220d4d485..376dcf41f3 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestModule.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestModule.java @@ -377,7 +377,9 @@ public final class KeywordSearchIngestModule extends IngestModuleAbstractFile { // we had cases where getStatus was OK, but the connection resulted in a 404 server.queryNumIndexedDocuments(); } catch (KeywordSearchModuleException | NoOpenCoreException ex) { - throw new IngestModuleException("Error connecting to SOLR server: " + ex.getMessage()); + throw new IngestModuleException( + NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.init.exception.errConnToSolr.msg", + ex.getMessage())); } //initialize extractors diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsEncase.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsEncase.java index 9ad11804a3..a8ea8dee9e 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsEncase.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsEncase.java @@ -18,6 +18,8 @@ */ package org.sleuthkit.autopsy.keywordsearch; +import org.openide.util.NbBundle; + import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; @@ -115,12 +117,14 @@ class KeywordSearchListsEncase extends KeywordSearchListsAbstract{ @Override public boolean save() { - throw new UnsupportedOperationException("Not supported yet."); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), "KeywordSearchListsEncase.save.exception.msg")); } @Override public boolean save(boolean isExport) { - throw new UnsupportedOperationException("Not supported yet."); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), "KeywordSearchListsEncase.save2.exception.msg")); } @Override @@ -173,7 +177,10 @@ class KeywordSearchListsEncase extends KeywordSearchListsAbstract{ } else if(type.equals("")) { return Expression; } else { - throw new IllegalArgumentException("Unsupported EncaseMetaType: " + type); + throw new IllegalArgumentException( + NbBundle.getMessage(KeywordSearchListsEncase.class, + "KeywordSearchListsEncase.encaseMetaType.exception.msg", + type)); } } } diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsManagementPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsManagementPanel.java index e406580f7d..225a077610 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsManagementPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsManagementPanel.java @@ -342,7 +342,7 @@ class KeywordSearchListsManagementPanel extends javax.swing.JPanel implements Op @Override public String getColumnName(int column) { - return "Name"; + return NbBundle.getMessage(this.getClass(), "KeywordSearchListsManagementPanel.getColName.text"); } @Override @@ -357,7 +357,8 @@ class KeywordSearchListsManagementPanel extends javax.swing.JPanel implements Op @Override public void setValueAt(Object aValue, int rowIndex, int columnIndex) { - throw new UnsupportedOperationException("Editing of cells is not supported"); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), "KeywordSearchListsManagementPanel.setValueAt.exception.msg")); } @Override diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsViewerPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsViewerPanel.java index 3444d19d16..aff684af70 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsViewerPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsViewerPanel.java @@ -322,12 +322,14 @@ class KeywordSearchListsViewerPanel extends AbstractKeywordSearchPerformer { @Override public boolean isLuceneQuerySelected() { - throw new UnsupportedOperationException("Not supported for multi-word queries."); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), "KeywordSearchListsViewerPanel.isLuceneQuerySel.exception.msg")); } @Override public String getQueryText() { - throw new UnsupportedOperationException("Not supported for multi-word queries."); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), "KeywordSearchListsViewerPanel.getQueryText.exception.msg")); } void addSearchButtonActionListener(ActionListener al) { diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchOptionsPanelController.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchOptionsPanelController.java index cf28279578..9d050184df 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchOptionsPanelController.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchOptionsPanelController.java @@ -10,6 +10,7 @@ import javax.swing.JComponent; import org.netbeans.spi.options.OptionsPanelController; import org.openide.util.HelpCtx; import org.openide.util.Lookup; +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil; import java.util.logging.Level; import org.sleuthkit.autopsy.coreutils.Logger; @@ -82,7 +83,10 @@ public final class KeywordSearchOptionsPanelController extends OptionsPanelContr } catch (Exception e) { logger.log(Level.SEVERE, "KeywordSearchOptionsPanelController listener threw exception", e); - MessageNotifyUtil.Notify.show("Module Error", "A module caused an error listening to KeywordSearchOptionsPanelController updates. See log to determine which module. Some data could be incomplete.", MessageNotifyUtil.MessageType.ERROR); + MessageNotifyUtil.Notify.show( + NbBundle.getMessage(this.getClass(), "KeywordSearchOptionsPanelController.moduleErr"), + NbBundle.getMessage(this.getClass(), "KeywordSearchOptionsPanelController.moduleErr.msg1"), + MessageNotifyUtil.MessageType.ERROR); } } try { @@ -90,7 +94,10 @@ public final class KeywordSearchOptionsPanelController extends OptionsPanelContr } catch (Exception e) { logger.log(Level.SEVERE, "KeywordSearchOptionsPanelController listener threw exception", e); - MessageNotifyUtil.Notify.show("Module Error", "A module caused an error listening to KeywordSearchOptionsPanelController updates. See log to determine which module. Some data could be incomplete.", MessageNotifyUtil.MessageType.ERROR); + MessageNotifyUtil.Notify.show( + NbBundle.getMessage(this.getClass(), "KeywordSearchOptionsPanelController.moduleErr"), + NbBundle.getMessage(this.getClass(), "KeywordSearchOptionsPanelController.moduleErr.msg2"), + MessageNotifyUtil.MessageType.ERROR); } } diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchPanel.java index 3dd2b3f14f..d402eecba9 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchPanel.java @@ -34,12 +34,14 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import javax.swing.JMenuItem; import javax.swing.SwingUtilities; import javax.swing.event.PopupMenuEvent; import javax.swing.event.PopupMenuListener; -import org.apache.solr.client.solrj.SolrServerException; + import org.sleuthkit.autopsy.casemodule.Case; /** @@ -384,7 +386,8 @@ class KeywordSearchPanel extends AbstractKeywordSearchPerformer { @Override public List getQueryList() { - throw new UnsupportedOperationException("No list for single-keyword search"); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), "KeywordSearchPanel.getQueryList.exception.msg")); } private class KeywordPropertyChangeListener implements PropertyChangeListener { diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchQueryManager.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchQueryManager.java index b3243cf9b1..2982c5cb0a 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchQueryManager.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchQueryManager.java @@ -165,7 +165,7 @@ class KeywordSearchQueryManager { rootNode = Node.EMPTY; } - final String pathText = "Keyword search"; + final String pathText = NbBundle.getMessage(this.getClass(), "KeywordSearchQueryManager.pathText.text"); DataResultTopComponent.initInstance(pathText, rootNode, things.size(), searchResultWin); diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchResultFactory.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchResultFactory.java index dbd03d5f07..50c5bf770f 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchResultFactory.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchResultFactory.java @@ -27,6 +27,8 @@ import java.util.List; import java.util.Map; import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import javax.swing.SwingUtilities; import javax.swing.SwingWorker; @@ -569,7 +571,8 @@ class KeywordSearchResultFactory extends ChildFactory { try { final String queryStr = query.getQueryString(); final String queryDisp = queryStr.length() > QUERY_DISPLAY_LEN ? queryStr.substring(0, QUERY_DISPLAY_LEN - 1) + " ..." : queryStr; - progress = ProgressHandleFactory.createHandle("Saving results: " + queryDisp, new Cancellable() { + progress = ProgressHandleFactory.createHandle( + NbBundle.getMessage(this.getClass(), "KeywordSearchResultFactory.progress.saving", queryDisp), new Cancellable() { @Override public boolean cancel() { diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSettings.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSettings.java index e4b667141e..0f0dca2956 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSettings.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSettings.java @@ -25,6 +25,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.coreutils.ModuleSettings; import org.sleuthkit.autopsy.coreutils.StringExtract; @@ -34,10 +36,10 @@ import org.sleuthkit.autopsy.keywordsearch.KeywordSearchIngestModule.UpdateFrequ //This file contains constants and settings for KeywordSearch class KeywordSearchSettings { - public static final String MODULE_NAME = "KeywordSearch"; - static final String PROPERTIES_OPTIONS = MODULE_NAME+"_Options"; - static final String PROPERTIES_NSRL = MODULE_NAME+"_NSRL"; - static final String PROPERTIES_SCRIPTS = MODULE_NAME+"_Scripts"; + public static final String MODULE_NAME = NbBundle.getMessage(KeywordSearchSettings.class, "KeywordSearchSettings.moduleName.text"); + static final String PROPERTIES_OPTIONS = NbBundle.getMessage(KeywordSearchSettings.class, "KeywordSearchSettings.properties_options.text", MODULE_NAME); + static final String PROPERTIES_NSRL = NbBundle.getMessage(KeywordSearchSettings.class, "KeywordSearchSettings.propertiesNSRL.text", MODULE_NAME); + static final String PROPERTIES_SCRIPTS = NbBundle.getMessage(KeywordSearchSettings.class, "KeywordSearchSettings.propertiesScripts.text", MODULE_NAME); private static boolean skipKnown = true; private static final Logger logger = Logger.getLogger(KeywordSearchSettings.class.getName()); private static UpdateFrequency UpdateFreq = UpdateFrequency.DEFAULT; diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/NoOpenCoreException.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/NoOpenCoreException.java index dc9f0b61ac..8c18f39423 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/NoOpenCoreException.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/NoOpenCoreException.java @@ -18,6 +18,8 @@ */ package org.sleuthkit.autopsy.keywordsearch; +import org.openide.util.NbBundle; + /** * * Exception thrown when no core is open @@ -25,7 +27,7 @@ package org.sleuthkit.autopsy.keywordsearch; public class NoOpenCoreException extends Exception { NoOpenCoreException() { - super("No currently open Solr core."); + super(NbBundle.getMessage(NoOpenCoreException.class, "NoOpenCoreException.err.noOpenSorlCore.msg")); } diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Server.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Server.java index 998d25f24c..a6e55758d9 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Server.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Server.java @@ -30,7 +30,6 @@ import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.lang.Long; -import java.lang.Long; import java.net.ConnectException; import java.net.ServerSocket; import java.net.SocketException; @@ -38,9 +37,10 @@ import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Paths; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import javax.swing.AbstractAction; import org.apache.solr.client.solrj.SolrQuery; @@ -57,7 +57,6 @@ import org.openide.modules.Places; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.coreutils.ModuleSettings; import org.sleuthkit.autopsy.coreutils.PlatformUtil; -import org.sleuthkit.autopsy.coreutils.Version; import org.sleuthkit.datamodel.Content; import org.apache.solr.common.SolrInputDocument; import org.apache.solr.client.solrj.impl.XMLResponseParser; @@ -403,10 +402,12 @@ public class Server { } catch (SecurityException ex) { logger.log(Level.WARNING, "Could not start Solr process!", ex); - throw new KeywordSearchModuleException("Could not start Solr server process", ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.start.exception.cantStartSolr.msg"), ex); } catch (IOException ex) { logger.log(Level.WARNING, "Could not start Solr server process!", ex); - throw new KeywordSearchModuleException("Could not start Solr server process", ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.start.exception.cantStartSolr.msg2"), ex); } } else { logger.log(Level.WARNING, "Could not start Solr server process, port [" + currentSolrServerPort + "] not available!"); @@ -537,10 +538,12 @@ public class Server { logger.log(Level.INFO, "Solr server is not running, cause: " + cause.getMessage()); return false; } else { - throw new KeywordSearchModuleException("Error checking if Solr server is running", ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.isRunning.exception.errCheckSolrRunning.msg"), ex); } } catch (IOException ex) { - throw new KeywordSearchModuleException("Error checking if Solr server is running", ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.isRunning.exception.errCheckSolrRunning.msg2"), ex); } return true; @@ -552,7 +555,8 @@ public class Server { synchronized void openCore() throws KeywordSearchModuleException { if (currentCore != null) { - throw new KeywordSearchModuleException("Already an open Core! Explicitely close Core first. "); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.openCore.exception.alreadyOpen.msg")); } Case currentCase = Case.getCurrentCase(); @@ -665,7 +669,8 @@ public class Server { try { return currentCore.queryNumIndexedFiles(); } catch (SolrServerException ex) { - throw new KeywordSearchModuleException("Error querying number of indexed files, ", ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.queryNumIdxFiles.exception.msg"), ex); } @@ -686,7 +691,8 @@ public class Server { try { return currentCore.queryNumIndexedChunks(); } catch (SolrServerException ex) { - throw new KeywordSearchModuleException("Error querying number of indexed chunks, ", ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.queryNumIdxChunks.exception.msg"), ex); } } @@ -705,7 +711,8 @@ public class Server { try { return currentCore.queryNumIndexedDocuments(); } catch (SolrServerException ex) { - throw new KeywordSearchModuleException("Error querying number of indexed documents, ", ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.queryNumIdxDocs.exception.msg"), ex); } } @@ -724,7 +731,8 @@ public class Server { try { return currentCore.queryIsIndexed(contentID); } catch (SolrServerException ex) { - throw new KeywordSearchModuleException("Error checkign if content is indexed, ", ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.queryIsIdxd.exception.msg"), ex); } } @@ -744,7 +752,8 @@ public class Server { try { return currentCore.queryNumFileChunks(fileID); } catch (SolrServerException ex) { - throw new KeywordSearchModuleException("Error getting number of file chunks, ", ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.queryNumFileChunks.exception.msg"), ex); } } @@ -763,7 +772,8 @@ public class Server { try { return currentCore.query(sq); } catch (SolrServerException ex) { - throw new KeywordSearchModuleException("Error running query: " + sq.getQuery(), ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.query.exception.msg", sq.getQuery()), ex); } } @@ -783,7 +793,8 @@ public class Server { try { return currentCore.query(sq, method); } catch (SolrServerException ex) { - throw new KeywordSearchModuleException("Error running query: " + sq.getQuery(), ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.query2.exception.msg", sq.getQuery()), ex); } } @@ -802,7 +813,8 @@ public class Server { try { return currentCore.queryTerms(sq); } catch (SolrServerException ex) { - throw new KeywordSearchModuleException("Error running terms query: " + sq.getQuery(), ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.queryTerms.exception.msg", sq.getQuery()), ex); } } @@ -873,7 +885,8 @@ public class Server { //handle a possible scenario when server process might not be fully started if (!this.isRunning()) { logger.log(Level.WARNING, "Core open requested, but server not yet running"); - throw new KeywordSearchModuleException("Core open requested, but server not yet running"); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.openCore.exception.msg")); } CoreAdminRequest.Create createCore = new CoreAdminRequest.Create(); @@ -888,9 +901,11 @@ public class Server { return newCore; } catch (SolrServerException ex) { - throw new KeywordSearchModuleException("Could not open Core", ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.openCore.exception.cantOpen.msg"), ex); } catch (IOException ex) { - throw new KeywordSearchModuleException("Could not open Core", ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.openCore.exception.cantOpen.msg2"), ex); } } @@ -931,7 +946,8 @@ public class Server { return solrCore.request(request); } catch (IOException e) { logger.log(Level.WARNING, "Could not issue Solr request. ", e); - throw new SolrServerException("Could not issue Solr request", e); + throw new SolrServerException( + NbBundle.getMessage(this.getClass(), "Server.request.exception.exception.msg"), e); } } @@ -951,7 +967,7 @@ public class Server { solrCore.commit(true, true); } catch (IOException e) { logger.log(Level.WARNING, "Could not commit index. ", e); - throw new SolrServerException("Could not commit index", e); + throw new SolrServerException(NbBundle.getMessage(this.getClass(), "Server.commit.exception.msg"), e); } } @@ -960,10 +976,12 @@ public class Server { solrCore.add(doc); } catch (SolrServerException ex) { logger.log(Level.SEVERE, "Could not add document to index via update handler: " + doc.getField("id"), ex); - throw new KeywordSearchModuleException("Could not add document to index via update handler: " + doc.getField("id"), ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.addDoc.exception.msg", doc.getField("id")), ex); } catch (IOException ex) { logger.log(Level.SEVERE, "Could not add document to index via update handler: " + doc.getField("id"), ex); - throw new KeywordSearchModuleException("Could not add document to index via update handler: " + doc.getField("id"), ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.addDoc.exception.msg2", doc.getField("id")), ex); } } @@ -994,9 +1012,11 @@ public class Server { try { CoreAdminRequest.unloadCore(this.name, solrServer); } catch (SolrServerException ex) { - throw new KeywordSearchModuleException("Cannot close Core", ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.close.exception.msg"), ex); } catch (IOException ex) { - throw new KeywordSearchModuleException("Cannot close Core", ex); + throw new KeywordSearchModuleException( + NbBundle.getMessage(this.getClass(), "Server.close.exception.msg2"), ex); } } @@ -1092,9 +1112,8 @@ public class Server { private int port; SolrServerNoPortException(int port) { - super("Indexing server could not bind to port " + port - + ", port is not available, consider change the default " - + Server.PROPERTIES_CURRENT_SERVER_PORT + " port."); + super(NbBundle.getMessage(Server.class, "Server.solrServerNoPortException.msg", port, + Server.PROPERTIES_CURRENT_SERVER_PORT)); this.port = port; } From 384af092404cb7883ec447674f1ec4c2aaad6854 Mon Sep 17 00:00:00 2001 From: alexjacks92 Date: Tue, 4 Mar 2014 10:47:41 -0500 Subject: [PATCH 27/34] Added missing property strings for keyword search to finish. --- .../src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties | 3 +++ 1 file changed, 3 insertions(+) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties index eca055301d..ee167b1569 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties @@ -149,6 +149,9 @@ KeywordSearchIngestModule.init.badInitMsg=Keyword search server was not properly KeywordSearchIngestModule.init.tryStopSolrMsg={0}
Please try stopping old java Solr process (if it exists) and restart the application. KeywordSearchIngestModule.init.noKwInLstMsg=No keywords in keyword list. KeywordSearchIngestModule.init.onlyIdxKwSkipMsg=Only indexing will be done and and keyword search will be skipped (you can still add keyword lists using the Keyword Lists - Add to Ingest). +KeywordSearchIngestModule.doInBackGround.displayName=Keyword Search +KeywordSearchIngestModule.doInBackGround.finalizeMsg = Finalizing... +KeywordSearchIngestModule.doInBackGround.pendingMsg=Working on Keyword Search... KeywordSearchIngestModule.postIndexSummary.knowFileHeaderLbl=Files with known types KeywordSearchIngestModule.postIndexSummary.fileGenStringsHead=Files with general strings extracted KeywordSearchIngestModule.postIndexSummary.mdOnlyLbl=Metadata only was indexed From cec87ba3900a623af7499f562e2dd779be63ce2a Mon Sep 17 00:00:00 2001 From: Nick Davis Date: Tue, 4 Mar 2014 12:42:51 -0500 Subject: [PATCH 28/34] Added missing strings to Bundle. --- .../src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties index 37fab7bb11..35571d02c8 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties @@ -257,4 +257,8 @@ Server.addDoc.exception.msg2=Could not add document to index via update handler\ Server.close.exception.msg=Cannot close Core Server.close.exception.msg2=Cannot close Core Server.solrServerNoPortException.msg=Indexing server could not bind to port {0}, port is not available, consider change the default {1} port. +KeywordSearchIngestModule.doInBackGround.displayName=Keyword Search +KeywordSearchIngestModule.doInBackGround.finalizeMsg= - Finalizing +KeywordSearchIngestModule.doInBackGround.pendingMsg= (Pending) +KeywordSearchIngestModule.doInBackGround.cancelMsg= (Cancelling...) From 4ff69ee8d473e33fdaf7c5e49d77e9747fd26343 Mon Sep 17 00:00:00 2001 From: alexjacks92 Date: Tue, 4 Mar 2014 17:01:17 -0500 Subject: [PATCH 29/34] Removing logging that is no longer needed. --- Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java | 1 - .../src/org/sleuthkit/autopsy/testing/RegressionTest.java | 3 --- 2 files changed, 4 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java index 4e5eea7cc1..6ccd1b89dd 100644 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java @@ -591,7 +591,6 @@ public class IngestManager { public synchronized boolean areModulesRunning() { for (IngestModuleAbstract serv : abstractFileModules) { if (serv.hasBackgroundJobsRunning()) { - logger.info("Module " + serv.toString() + " is running"); return true; } } diff --git a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java index bc57c6caea..c72372eaae 100755 --- a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java +++ b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java @@ -265,15 +265,12 @@ public class RegressionTest extends TestCase { new Timeout("pausing", 5000).sleep(); // give it a second (or five) to process } logger.info("Enqueue took " + (System.currentTimeMillis() - start) + "ms"); - int count = 0; while (man.isIngestRunning()) { new Timeout("pausing", 1000).sleep(); // give it a second (or five) to process } new Timeout("pausing", 15000).sleep(); // give it a second (or fifteen) to process //boolean sleep = true; while (man.areModulesRunning()) { - count++; - logger.info("count is " + count); new Timeout("pausing", 5000).sleep(); // give it a second (or five) to process } From 4bab284366865ff17e052386449c4d7bf58b9259 Mon Sep 17 00:00:00 2001 From: Kay Bassi Date: Tue, 4 Mar 2014 16:42:35 -0800 Subject: [PATCH 30/34] Partial translation of keywordsearch --- .../keywordsearch/Bundle_ja.properties | 93 ++++++++++++++++++- 1 file changed, 88 insertions(+), 5 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties index b0b3009c07..03c842ef6c 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties @@ -17,7 +17,7 @@ ExtractedContentPanel.copyMenuItem.text=\u30B3\u30D4\u30FC ExtractedContentPanel.selectAllMenuItem.text=\u3059\u3079\u3066\u9078\u629E KeywordSearchEditListPanel.saveListButton.text=\u30EA\u30B9\u30C8\u3092\u30B3\u30D4\u30FC KeywordSearchEditListPanel.addWordButton.text=\u8FFD\u52A0 -KeywordSearchEditListPanel.chRegex.text=\u4E00\u822C\u7684\u306A\u8868\u73FE +KeywordSearchEditListPanel.chRegex.text=\u6B63\u898F\u8868\u73FE KeywordSearchEditListPanel.deleteWordButton.text=\u9078\u629E\u3057\u305F\u3082\u306E\u3092\u524A\u9664 KeywordSearchEditListPanel.cutMenuItem.text=\u30AB\u30C3\u30C8 KeywordSearchEditListPanel.selectAllMenuItem.text=\u3059\u3079\u3066\u9078\u629E @@ -29,7 +29,7 @@ KeywordSearchListsManagementPanel.newListButton.text=\u65B0\u898F\u30EA\u30B9\u3 KeywordSearchEditListPanel.useForIngestCheckbox.text=\u51E6\u7406\u4E2D\u306B\u4F7F\u7528 KeywordSearchListsManagementPanel.importButton.text=\u30EA\u30B9\u30C8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8 KeywordSearchPanel.searchBox.text=\u691C\u7D22... -KeywordSearchPanel.regExCheckboxMenuItem.text=\u4E00\u822C\u7684\u306A\u8868\u73FE\u3092\u4F7F\u7528 +KeywordSearchPanel.regExCheckboxMenuItem.text=\u6B63\u898F\u8868\u73FE\u3092\u4F7F\u7528 KeywordSearchListsViewerPanel.searchAddButton.text=\u691C\u7D22 KeywordSearchListsViewerPanel.manageListsButton.text=\u30EA\u30B9\u30C8\u3092\u7BA1\u7406 KeywordSearchListsViewerPanel.ingestIndexLabel.text=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\uFF1A @@ -119,7 +119,7 @@ KeywordSearchEditListPanel.exportButtonActionPerformed.fileFilterLabel=\u30AD\u3 KeywordSearchEditListPanel.exportButtonActionPerformed.fileExistPrompt=\ {0} \u30D5\u30A1\u30A4\u30EB\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u4E0A\u66F8\u304D\u3057\u307E\u3059\u304B\uFF1F KeywordSearchEditListPanel.exportButtonActionPerformed.kwListExportedMsg=\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u305F\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8 KeywordSearchEditListPanel.kwColName=\u30AD\u30FC\u30EF\u30FC\u30C9 -KeywordSearchEditListPanel.exportButtonActionPerformed.regExColName=\u4E00\u822C\u7684\u306A\u8868\u73FE +KeywordSearchEditListPanel.exportButtonActionPerformed.regExColName=\u6B63\u898F\u8868\u73FE KeywordSearchFilterNode.getFileActions.openExternViewActLbl=\u5916\u90E8\u30D3\u30E5\u30FC\u30A2\u3067\u958B\u304F KeywordSearchFilterNode.getFileActions.searchSameMd5=\u540C\u4E00\u306EMD5\u30CF\u30C3\u30B7\u30E5\u3092\u6301\u3064\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22 KeywordSearchFilterNode.getFileActions.viewInNewWinActionLbl=\u65B0\u3057\u3044\u30A6\u30A3\u30F3\u30C9\u30A6\u3067\u8868\u793A @@ -146,7 +146,7 @@ KeywordSearchListsViewerPanel.initIngest.ongoingIngestMsg=\u30A4\u30F3\u30C7\u30 KeywordSearchListsViewerPanel.initIngest.fileIndexCtMsg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\uFF1A {0} KeywordSearch.selectedColLbl=\u9078\u629E\u6E08\u307F KeywordSearch.nameColLbl=\u540D\u524D -KeywordSearch.regExColLbl=\u4E00\u822C\u7684\u306A\u8868\u73FE +KeywordSearch.regExColLbl=\u6B63\u898F\u8868\u73FE KeywordSearchQueryManager.execute.exeWinTitle=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22 {0} - {1} KeywordSearch.newKeywordListMsg=\u65B0\u898F\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8 KeywordSearch.importListFileDialogMsg=\ {0}\u3000\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3059\u308B\u306E\u306B\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3057\u305F @@ -162,4 +162,87 @@ KeywordSearchIngestModule.hashDbModuleName=\u30CF\u30C3\u30B7\u30E5\u30EB\u30C3\ KeywordSearchIngestModule.moduleName=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22 KeywordSearchIngestModule.moduleDescription=\u30EA\u30B9\u30C8\u5185\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u304A\u3088\u3073\u4E00\u822C\u7684\u306A\u8868\u73FE\u3092\u4F7F\u3044\u3001\u30D5\u30A1\u30A4\u30EB\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u304A\u3088\u3073\u5B9A\u671F\u7684\u306A\u691C\u7D22\u3092\u5B9F\u884C\u3057\u307E\u3059\u3002 OptionsCategory_Name_KeywordSearchOptions=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22 -OptionsCategory_Keywords_KeywordSearchOptions=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22 \ No newline at end of file +OptionsCategory_Keywords_KeywordSearchOptions=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22 +ExtractedContentPanel.pagePreviousButton.actionCommand= +ExtractedContentPanel.pageOfLabel.text=of +ExtractedContentPanel.pageCurLabel.text=- +ExtractedContentPanel.pageTotalLabel.text=- +KeywordSearchConfigurationPanel2.filesIndexedValue.text=- +KeywordSearchIngestSimplePanel.languagesValLabel.text=- +KeywordSearchConfigurationPanel2.chunksValLabel.text=- +KeywordSearchIngestSimplePanel.keywordSearchEncodings.text=- +AbstractFileChunk.index.exception.msg=\u30D5\u30A1\u30A4\u30EB\u30B9\u30C8\u30EA\u30F3\u30B0\u30C1\u30E3\u30F3\u30AF\u306E\u51E6\u7406\u4E2D\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A {0}, \u30C1\u30E3\u30F3\u30AF\: {1} +AbstractFileStringContentStream.getSize.exception.msg=\u30B9\u30C8\u30EA\u30F3\u30B0\u5168\u4F53\u304C\u5909\u63DB\u3055\u308C\u306A\u3051\u308C\u3070\u3001\u5909\u63DB\u3055\u308C\u305F\u30B9\u30C8\u30EA\u30F3\u30B0\u5185\u306E\u30AD\u30E3\u30E9\u30AF\u30BF\u30FC\u6570\u306F\u4E0D\u660E\u3067\u3059\u3002 +AbstractFileStringContentStream.getSrcInfo.text=\u30D5\u30A1\u30A4\u30EB\uFF1A{0} +ByteContentStream.getSrcInfo.text=\u30D5\u30A1\u30A4\u30EB\uFF1A{0} +ExtractedContentPanel.SetMarkup.progress.loading=\u30C6\u30AD\u30B9\u30C8\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D +ExtractedContentPanel.SetMarkup.progress.displayName=\u30C6\u30AD\u30B9\u30C8\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D +ExtractedContentViewer.nextPage.exception.msg=\u6B21\u306E\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u305B\u3093\u3002 +ExtractedContentViewer.previousPage.exception.msg=\u524D\u306E\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u305B\u3093\u3002 +ExtractedContentViewer.hasNextItem.exception.msg=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u691C\u7D22\u53EF\u80FD\u306A\u30BD\u30FC\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 +ExtractedContentViewer.hasPreviousItem.exception.msg=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u691C\u7D22\u53EF\u80FD\u306A\u30BD\u30FC\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 +ExtractedContentViewer.nextItem.exception.msg=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u691C\u7D22\u53EF\u80FD\u306A\u30BD\u30FC\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 +ExtractedContentViewer.previousItem.exception.msg=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u691C\u7D22\u53EF\u80FD\u306A\u30BD\u30FC\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 +ExtractedContentViewer.currentItem.exception.msg=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u691C\u7D22\u53EF\u80FD\u306A\u30BD\u30FC\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 +HighlightedMatchesSource.nextPage.exception.msg=\u6B21\u306E\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u305B\u3093\u3002 +HighlightedMatchesSource.previousPage.exception.msg=\u524D\u306E\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u305B\u3093\u3002 +HighlightedMatchesSource.nextItem.exception.msg=\u6B21\u306E\u30A2\u30A4\u30C6\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\u3002 +HighlightedMatchesSource.previousItem.exception.msg=\u524D\u306E\u30A2\u30A4\u30C6\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\u3002 +Ingester.ingest.exception.unknownImgId.msg=\u4E0B\u8A18\u306E\u30D5\u30A1\u30A4\u30EB\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u3066\u3044\u307E\u3059\u3002\u4E0D\u660E\u306A\u30A4\u30E1\u30FC\u30B8ID\uFF1A{0} +Ingester.ingest.exception.cantReadStream.msg=\u30B3\u30F3\u30C6\u30F3\u30C4\u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u8AAD\u3081\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0} +#todo check meaning +Ingester.ingest.exception.err.msg=\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u51E6\u7406 +Ingester.ingestExtract.exception.solrTimeout.msg=\u4E0B\u8A18\u306EID\u306B\u5BFE\u3059\u308B\u3001Solr\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u30EA\u30AF\u30A8\u30B9\u30C8\u306F\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\u3057\u307E\u3057\u305F\uFF1A{0}, name\: {1} +Ingester.ingestExtract.exception.probPostToSolr.msg=Solr\u306B\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u30DD\u30B9\u30C8\u3059\u308B\u306E\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002ID\uFF1A{0}, \u540D\u79F0\: {1} +Ingester.UpReqestTask.run.exception.sorlNotAvail.msg=Solr\u30B3\u30A2\u304C\u5229\u7528\u4E0D\u53EF\u3067\u3059\u3002\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3067\u304D\u307E\u305B\u3093\u3002 +Ingester.UpRequestTask.run.exception.probReadFile.msg=\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u307F\u53D6\u308A\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 +Ingester.UpRequestTask.run.exception.solrProb.msg=Solr\u306B\u306F\u554F\u984C\u304C\u3042\u308A\u307E\u3059 +Ingester.UpRequestTask.run.exception.probPostToSolr.msg=\u30D5\u30A1\u30A4\u30EB\u30B3\u30F3\u30C6\u30F3\u30C4\u3092Solr\u306B\u30DD\u30B9\u30C8\u3059\u308B\u306E\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002SolrException\u30A8\u30E9\u30FC\u30B3\u30FC\u30C9\uFF1A{0} +Ingester.FscContentStream.getSrcInfo=\u30D5\u30A1\u30A4\u30EB\uFF1A{0} +Ingester.FscContentStream.getReader=\u307E\u3060\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 +Ingester.NullContentStream.getSrcInfo.text=\u30D5\u30A1\u30A4\u30EB\uFF1A{0} +Ingester.NullContentStream.getReader=\u307E\u3060\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 +KeywordSearch.moduleErr=\u30E2\u30B8\u30E5\u30FC\u30EB\u30A8\u30E9\u30FC +KeywordSearch.fireNumIdxFileChg.moduleErr.msg=KeywordSearch\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 +KeywordSearchIngestModule.init.exception.errConnToSolr.msg=Solr\u30B5\u30FC\u30D0\u3078\u63A5\u7D9A\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A{0} +KeywordSearchListsEncase.save.exception.msg=\u307E\u3060\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 +KeywordSearchListsEncase.save2.exception.msg=\u307E\u3060\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 +KeywordSearchListsEncase.encaseMetaType.exception.msg=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044EncaseMetaType\uFF1A{0} +KeywordSearchListsManagementPanel.getColName.text=\u540D\u79F0 +KeywordSearchListsManagementPanel.setValueAt.exception.msg=\u30BB\u30EB\u306E\u7DE8\u96C6\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093 +KeywordSearchListsViewerPanel.isLuceneQuerySel.exception.msg=\u30DE\u30EB\u30C1\u30EF\u30FC\u30C9\u30AF\u30A8\u30EA\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 +KeywordSearchListsViewerPanel.getQueryText.exception.msg=\u30DE\u30EB\u30C1\u30EF\u30FC\u30C9\u30AF\u30A8\u30EA\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 +KeywordSearchOptionsPanelController.moduleErr=\u30E2\u30B8\u30E5\u30FC\u30EB\u30A8\u30E9\u30FC +KeywordSearchOptionsPanelController.moduleErr.msg1=KeywordSearchOptionsPanelController\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 +KeywordSearchOptionsPanelController.moduleErr.msg2=KeywordSearchOptionsPanelController\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 +KeywordSearchPanel.getQueryList.exception.msg=\u30B7\u30F3\u30B0\u30EB\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\u306E\u30EA\u30B9\u30C8\u304C\u3042\u308A\u307E\u305B\u3093 +KeywordSearchQueryManager.pathText.text=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22 +KeywordSearchResultFactory.progress.saving=\u7D50\u679C\u3092\u4FDD\u5B58\u4E2D\uFF1A{0} +KeywordSearchSettings.moduleName.text=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22 +KeywordSearchSettings.properties_options.text={0}_\u30AA\u30D7\u30B7\u30E7\u30F3 +KeywordSearchSettings.propertiesNSRL.text={0}_NSRL +KeywordSearchSettings.propertiesScripts.text={0}_\u30B9\u30AF\u30EA\u30D7\u30C8 +NoOpenCoreException.err.noOpenSorlCore.msg=\u73FE\u5728\u7A7A\u3044\u3066\u3044\u308BSolr\u30B3\u30A2\u306F\u3042\u308A\u307E\u305B\u3093\u3002 +Server.start.exception.cantStartSolr.msg=Solr\u30B5\u30FC\u30D0\u30D7\u30ED\u30BB\u30B9\u3092\u958B\u59CB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F +Server.start.exception.cantStartSolr.msg2=Solr\u30B5\u30FC\u30D0\u30D7\u30ED\u30BB\u30B9\u3092\u958B\u59CB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F +Server.isRunning.exception.errCheckSolrRunning.msg=Solr\u30B5\u30FC\u30D0\u304C\u7A3C\u50CD\u3057\u3066\u3044\u308B\u304B\u78BA\u8A8D\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F +Server.isRunning.exception.errCheckSolrRunning.msg2=Solr\u30B5\u30FC\u30D0\u304C\u7A3C\u50CD\u3057\u3066\u3044\u308B\u304B\u78BA\u8A8D\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F +Server.openCore.exception.alreadyOpen.msg=\u3059\u3067\u306B\u958B\u3044\u3066\u3044\u308B\u30B3\u30A2\u3067\u3059\uFF01\u307E\u305A\u660E\u793A\u7684\u306B\u30B3\u30A2\u3092\u9589\u3058\u3066\u4E0B\u3055\u3044\u3002 +Server.queryNumIdxFiles.exception.msg=\u8907\u6570\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u306B\u5BFE\u3057\u3066\u306E\u30AF\u30A8\u30EA\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 +Server.queryNumIdxChunks.exception.msg=\u8907\u6570\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30AF\u306B\u5BFE\u3057\u3066\u306E\u30AF\u30A8\u30EA\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 +Server.queryNumIdxDocs.exception.msg=\u8907\u6570\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u305F\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306B\u5BFE\u3057\u3066\u306E\u30AF\u30A8\u30EA\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 +Server.queryIsIdxd.exception.msg=\u30B3\u30F3\u30C6\u30F3\u30C4\u304C\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u305F\u304B\u78BA\u8A8D\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 +Server.queryNumFileChunks.exception.msg=\u30D5\u30A1\u30A4\u30EB\u30C1\u30E3\u30F3\u30AF\u306E\u6570\u3092\u78BA\u8A8D\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 +Server.query.exception.msg=\u30AF\u30A8\u30EA\u306E\u5B9F\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A{0} +Server.query2.exception.msg=\u30AF\u30A8\u30EA\u306E\u5B9F\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A{0} +Server.queryTerms.exception.msg=Terms\u30AF\u30A8\u30EA\u306E\u5B9F\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F +#todo better translation? +Server.openCore.exception.msg=\u30B3\u30A2\u30AA\u30FC\u30D7\u30F3\u3092\u30EA\u30AF\u30A8\u30B9\u30C8\u3057\u307E\u3057\u305F\u304C\u3001\u30B5\u30FC\u30D0\u304C\u307E\u3060\u7A3C\u50CD\u3057\u3066\u3044\u307E\u305B\u3093\u3002 +Server.openCore.exception.cantOpen.msg=\u30B3\u30A2\u3092\u30AA\u30FC\u30D7\u30F3\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F +Server.openCore.exception.cantOpen.msg2=\u30B3\u30A2\u3092\u30AA\u30FC\u30D7\u30F3\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F +Server.request.exception.exception.msg=Solr\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u767A\u884C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F +Server.commit.exception.msg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u3092\u30B3\u30DF\u30C3\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F +#todo check meaning +Server.addDoc.exception.msg=\u4E0B\u8A18\u306E\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u30CF\u30F3\u30C9\u30E9\u30FC\u3092\u901A\u3057\u3066\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u306B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0} +Server.close.exception.msg=\u30B3\u30A2\u3092\u9589\u3058\u308C\u307E\u305B\u3093 +Server.close.exception.msg2=\u30B3\u30A2\u3092\u9589\u3058\u308C\u307E\u305B\u3093 \ No newline at end of file From dac5cf0fad6a6249d5f5e6ff3b3b309b3da58300 Mon Sep 17 00:00:00 2001 From: Kay Bassi Date: Tue, 4 Mar 2014 18:46:05 -0800 Subject: [PATCH 31/34] Partial translation of keywordsearch --- .../org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties index 03c842ef6c..8f0473508d 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties @@ -245,4 +245,7 @@ Server.commit.exception.msg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u3092\u30B3\u30 #todo check meaning Server.addDoc.exception.msg=\u4E0B\u8A18\u306E\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u30CF\u30F3\u30C9\u30E9\u30FC\u3092\u901A\u3057\u3066\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u306B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0} Server.close.exception.msg=\u30B3\u30A2\u3092\u9589\u3058\u308C\u307E\u305B\u3093 -Server.close.exception.msg2=\u30B3\u30A2\u3092\u9589\u3058\u308C\u307E\u305B\u3093 \ No newline at end of file +Server.close.exception.msg2=\u30B3\u30A2\u3092\u9589\u3058\u308C\u307E\u305B\u3093 +Server.solrServerNoPortException.msg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u306B\u4F7F\u7528\u3057\u3066\u3044\u308B\u30B5\u30FC\u30D0\u306F\u30DD\u30FC\u30C8{0}\u306B\u30D0\u30A4\u30F3\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30DD\u30FC\u30C8\u306F\u4F7F\u7528\u4E0D\u53EF\u3067\u3059\u3002\u30C7\u30D5\u30A9\u30EB\u30C8{1}\u30DD\u30FC\u30C8\u306E\u5909\u66F4\u3092\u691C\u8A0E\u3057\u3066\u4E0B\u3055\u3044\u3002 +KeywordSearchIngestModule.doInBackGround.displayName=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22 +KeywordSearchIngestModule.doInBackGround.finalizeMsg=-\u3000\u6700\u7D42\u51E6\u7406\u306E\u5B9F\u884C\u4E2D \ No newline at end of file From 02464443e4430b407810d7a3b1179ed7d97ccf09 Mon Sep 17 00:00:00 2001 From: Kay Bassi Date: Wed, 5 Mar 2014 09:32:21 -0800 Subject: [PATCH 32/34] One more to translate. --- .../autopsy/keywordsearch/Bundle_ja.properties | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties index 8f0473508d..ed6e080757 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties @@ -242,10 +242,14 @@ Server.openCore.exception.cantOpen.msg=\u30B3\u30A2\u3092\u30AA\u30FC\u30D7\u30F Server.openCore.exception.cantOpen.msg2=\u30B3\u30A2\u3092\u30AA\u30FC\u30D7\u30F3\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F Server.request.exception.exception.msg=Solr\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u767A\u884C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F Server.commit.exception.msg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u3092\u30B3\u30DF\u30C3\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F -#todo check meaning -Server.addDoc.exception.msg=\u4E0B\u8A18\u306E\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u30CF\u30F3\u30C9\u30E9\u30FC\u3092\u901A\u3057\u3066\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u306B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0} +Server.addDoc.exception.msg=\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u30CF\u30F3\u30C9\u30E9\u30FC\u3092\u4F7F\u7528\u3057\u307E\u3057\u305F\u304C\u3001\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u306B\u4E0B\u8A18\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0} Server.close.exception.msg=\u30B3\u30A2\u3092\u9589\u3058\u308C\u307E\u305B\u3093 Server.close.exception.msg2=\u30B3\u30A2\u3092\u9589\u3058\u308C\u307E\u305B\u3093 Server.solrServerNoPortException.msg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u306B\u4F7F\u7528\u3057\u3066\u3044\u308B\u30B5\u30FC\u30D0\u306F\u30DD\u30FC\u30C8{0}\u306B\u30D0\u30A4\u30F3\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30DD\u30FC\u30C8\u306F\u4F7F\u7528\u4E0D\u53EF\u3067\u3059\u3002\u30C7\u30D5\u30A9\u30EB\u30C8{1}\u30DD\u30FC\u30C8\u306E\u5909\u66F4\u3092\u691C\u8A0E\u3057\u3066\u4E0B\u3055\u3044\u3002 KeywordSearchIngestModule.doInBackGround.displayName=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22 -KeywordSearchIngestModule.doInBackGround.finalizeMsg=-\u3000\u6700\u7D42\u51E6\u7406\u306E\u5B9F\u884C\u4E2D \ No newline at end of file +KeywordSearchIngestModule.doInBackGround.finalizeMsg=-\u3000\u6700\u7D42\u51E6\u7406\u306E\u5B9F\u884C\u4E2D +KeywordSearchIngestModule.doInBackGround.pendingMsg=\uFF08\u30DA\u30F3\u30C7\u30A3\u30F3\u30B0\uFF09 +KeywordSearchIngestModule.doInBackGround.cancelMsg=\uFF08\u30AD\u30E3\u30F3\u30BB\u30EB\u4E2D\u2026\uFF09 +Server.addDoc.exception.msg2=\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u30CF\u30F3\u30C9\u30E9\u30FC\u3092\u4F7F\u7528\u3057\u307E\u3057\u305F\u304C\u3001\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u306B\u4E0B\u8A18\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0} +ExtractedContentViewer.getSolrContent.txtBodyItal={0} +Keyword.toString.text=Keyword'{'query\={0}, isLiteral\={1}, keywordType\={2}'}' \ No newline at end of file From 38479cc673e7be8fe58d489bef293c72cd1464d6 Mon Sep 17 00:00:00 2001 From: Kay Bassi Date: Wed, 5 Mar 2014 11:24:33 -0800 Subject: [PATCH 33/34] Completed and checked over translation. --- .../autopsy/keywordsearch/Bundle.properties | 2 +- .../keywordsearch/Bundle_ja.properties | 46 +++++++++---------- 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties index 35571d02c8..9dfeee3663 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties @@ -201,7 +201,7 @@ HighlightedMatchesSource.nextItem.exception.msg=No next item. HighlightedMatchesSource.previousItem.exception.msg=No previous item. Ingester.ingest.exception.unknownImgId.msg=Skipping indexing the file, unknown image id, for file\: {0} Ingester.ingest.exception.cantReadStream.msg=Could not read content stream\: {0} -Ingester.ingest.exception.err.msg=Error ingestint document\: {0} +Ingester.ingest.exception.err.msg=Error ingesting document\: {0} Ingester.ingestExtract.exception.solrTimeout.msg=Solr index request time out for id\: {0}, name\: {1} Ingester.ingestExtract.exception.probPostToSolr.msg=Problem posting content to Solr, id\: {0}, name\: {1} Ingester.UpReqestTask.run.exception.sorlNotAvail.msg=No Solr core available, cannot index the content diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties index ed6e080757..7a662bfabc 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties @@ -8,10 +8,10 @@ ListBundleName=\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8 ListBundleConfig=\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u8A2D\u5B9A IndexProgressPanel.statusText.text=\u30B9\u30C6\u30FC\u30BF\u30B9\u30C6\u30AD\u30B9\u30C8 IndexProgressPanel.cancelButton.text=\u30AD\u30E3\u30F3\u30BB\u30EB -ExtractedContentPanel.hitLabel.text=\u30DA\u30FC\u30B8\u4E0A\u306E\u4E00\u81F4 -ExtractedContentPanel.hitCountLabel.text= -ExtractedContentPanel.hitOfLabel.text= -ExtractedContentPanel.hitTotalLabel.text= +ExtractedContentPanel.hitLabel.text=\u30DA\u30FC\u30B8\u5185\u306E\u4E00\u81F4\uFF1A +ExtractedContentPanel.hitCountLabel.text=- +ExtractedContentPanel.hitOfLabel.text=of +ExtractedContentPanel.hitTotalLabel.text=- ExtractedContentPanel.hitButtonsLabel.text=\u4E00\u81F4 ExtractedContentPanel.copyMenuItem.text=\u30B3\u30D4\u30FC ExtractedContentPanel.selectAllMenuItem.text=\u3059\u3079\u3066\u9078\u629E @@ -28,7 +28,7 @@ KeywordSearchEditListPanel.deleteListButton.text=\u30EA\u30B9\u30C8\u3092\u524A\ KeywordSearchListsManagementPanel.newListButton.text=\u65B0\u898F\u30EA\u30B9\u30C8 KeywordSearchEditListPanel.useForIngestCheckbox.text=\u51E6\u7406\u4E2D\u306B\u4F7F\u7528 KeywordSearchListsManagementPanel.importButton.text=\u30EA\u30B9\u30C8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8 -KeywordSearchPanel.searchBox.text=\u691C\u7D22... +KeywordSearchPanel.searchBox.text=\u691C\u7D22\u2026 KeywordSearchPanel.regExCheckboxMenuItem.text=\u6B63\u898F\u8868\u73FE\u3092\u4F7F\u7528 KeywordSearchListsViewerPanel.searchAddButton.text=\u691C\u7D22 KeywordSearchListsViewerPanel.manageListsButton.text=\u30EA\u30B9\u30C8\u3092\u7BA1\u7406 @@ -42,10 +42,10 @@ ExtractedContentPanel.pagesLabel.text=\u30DA\u30FC\u30B8\uFF1A KeywordSearchEditListPanel.ingestMessagesCheckbox.text=\u51E6\u7406\u4E2D\u306B\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u30A4\u30F3\u30DC\u30C3\u30AF\u30B9\u306B\u9001\u4FE1 KeywordSearchEditListPanel.ingestMessagesCheckbox.toolTipText=\u3053\u306E\u30EA\u30B9\u30C8\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u304C\u691C\u7D22\u306B\u30D2\u30C3\u30C8\u3057\u305F\u5834\u5408\u3001\u51E6\u7406\u4E2D\u306B\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u30A4\u30F3\u30DC\u30C3\u30AF\u30B9\u306B\u9001\u4FE1 KeywordSearchConfigurationPanel2.skipNSRLCheckBox.text=\u51E6\u7406\u4E2D\u306BNSRL\u306E\u30D5\u30A1\u30A4\u30EB\uFF08\u65E2\u77E5\u306E\u30D5\u30A1\u30A4\u30EB\uFF09\u3092\u30AD\u30FC\u30EF\u30FC\u30C9\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u306B\u8FFD\u52A0\u3057\u306A\u3044 -KeywordSearchConfigurationPanel2.skipNSRLCheckBox.toolTipText=Hash DB\u30B5\u30FC\u30D3\u30B9\u3092\u4E8B\u524D\u306B\u5B9F\u884C\u3059\u308B\u304B\u3001\u6B21\u56DE\u306E\u51E6\u7406\u6642\u306B\u9078\u629E\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 +KeywordSearchConfigurationPanel2.skipNSRLCheckBox.toolTipText=Hash DB\u30B5\u30FC\u30D3\u30B9\u3092\u4E8B\u524D\u306B\u5B9F\u884C\u3059\u308B\u304B\u3001\u6B21\u56DE\u306E\u51E6\u7406\u306B\u9078\u629E\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 KeywordSearchConfigurationPanel2.filesIndexedLabel.text=\u30AD\u30FC\u30EF\u30FC\u30C9\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5185\u306E\u30D5\u30A1\u30A4\u30EB\uFF1A KeywordSearchIngestSimplePanel.languagesLabel.text=\u4E0D\u660E\u306A\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u304B\u3089\u306E\u30B9\u30C8\u30EA\u30F3\u30B0\u62BD\u51FA\u3092\u6709\u52B9\u306B\u3057\u305F\u30B9\u30AF\u30EA\u30D7\u30C8\uFF1A -KeywordSearchIngestSimplePanel.languagesLabel.toolTipText=\u4E0D\u660E\u306A\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u304B\u3089\u306E\u30B9\u30C8\u30EA\u30F3\u30B0\u62BD\u51FA\u3092\u6709\u52B9\u306B\u3057\u305F\u30B9\u30AF\u30EA\u30D7\u30C8\u3002\u30A2\u30C9\u30D0\u30F3\u30B9\u8A2D\u5B9A\u3067\u5909\u66F4\u304C\u53EF\u80FD\u3067\u3059\u3002 +KeywordSearchIngestSimplePanel.languagesLabel.toolTipText=\u4E0D\u660E\u306A\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u304B\u3089\u306E\u30B9\u30C8\u30EA\u30F3\u30B0\u62BD\u51FA\u3092\u6709\u52B9\u306B\u3057\u305F\u30B9\u30AF\u30EA\u30D7\u30C8\u3002\u30A2\u30C9\u30D0\u30F3\u30B9\u8A2D\u5B9A\u304B\u3089\u5909\u66F4\u304C\u53EF\u80FD\u3067\u3059\u3002 KeywordSearchConfigurationPanel3.languagesLabel.text=\u6709\u52B9\u306A\u30B9\u30AF\u30EA\u30D7\u30C8\uFF08\u8A00\u8A9E\uFF09\uFF1A KeywordSearchConfigurationPanel2.chunksLabel.text=\u30AD\u30FC\u30EF\u30FC\u30C9\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5185\u306E\u30C1\u30E3\u30F3\u30AF\uFF1A KeywordSearchConfigurationPanel3.enableUTF8Checkbox.text=UTF8\u30C6\u30AD\u30B9\u30C8\u62BD\u51FA\u306E\u6709\u52B9\u5316 @@ -104,15 +104,15 @@ KeywordSearch.newKwListTitle=\u65B0\u898F\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u3 KeywordSearchConfigurationPanel1.customizeComponents.noOwDefaultMsg=\u30C7\u30D5\u30A9\u30EB\u30C8\u30EA\u30B9\u30C8\u306F\u4E0A\u66F8\u304D\u3067\u304D\u307E\u305B\u3093 KeywordSearchConfigurationPanel1.customizeComponents.kwListExistMsg=\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8 <{0}> \u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u4E0A\u66F8\u304D\u3057\u307E\u3059\u304B\uFF1F KeywordSearchConfigurationPanel1.customizeComponents.kwListSavedMsg=\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8 <{0}> \u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F -KeywordSearchEditListPanel.customizeComponents.kwReToolTip=\u30AD\u30FC\u30EF\u30FC\u30C9\u306F\u4E00\u822C\u7684\u306A\u8868\u73FE\u3067\u3059 +KeywordSearchEditListPanel.customizeComponents.kwReToolTip=\u30AD\u30FC\u30EF\u30FC\u30C9\u306F\u6B63\u7FA9\u8868\u73FE\u3067\u3059 KeywordSearchEditListPanel.customizeComponents.addWordToolTip=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\u30EA\u30B9\u30C8\u306B\u5358\u8A9E\u3092\u8FFD\u52A0 -KeywordSearchEditListPanel.customizeComponents.enterNewWordToolTip=\u65B0\u898F\u5358\u8A9E\u3084\u4E00\u822C\u7684\u306A\u8868\u73FE\u3092\u5165\u529B +KeywordSearchEditListPanel.customizeComponents.enterNewWordToolTip=\u65B0\u898F\u5358\u8A9E\u3084\u4E00\u6B63\u898F\u8868\u73FE\u3092\u5165\u529B KeywordSearchEditListPanel.customizeComponents.exportToFile=\u65E2\u5B58\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u3092\u30D5\u30A1\u30A4\u30EB\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8 KeywordSearchEditListPanel.customizeComponents.saveCurrentWIthNewNameToolTip=\u65E2\u5B58\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u306B\u540D\u524D\u3092\u4ED8\u3051\u3066\u4FDD\u5B58 KeywordSearchEditListPanel.customizeComponents.removeSelectedMsg=\u9078\u629E\u3057\u305F\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u30EA\u30B9\u30C8\u304B\u3089\u524A\u9664 KeywordSearchEditListPanel.newKwTitle=\u65B0\u898F\u30AD\u30FC\u30EF\u30FC\u30C9\u30A8\u30F3\u30C8\u30EA\u30FC KeywordSearchEditListPanel.addWordButtonAction.kwAlreadyExistsMsg=\u30AD\u30FC\u30EF\u30FC\u30C9\u306F\u65E2\u306B\u30EA\u30B9\u30C8\u306B\u5B58\u5728\u3057\u307E\u3059\u3002 -KeywordSearchEditListPanel.invalidKwMsg=\u7121\u52B9\u306A\u30AD\u30FC\u30EF\u30FC\u30C9\u30D1\u30BF\u30FC\u30F3\u3002\u5358\u8A9E\u3082\u3057\u304F\u306F\u6B63\u3057\u3044\u4E00\u822C\u7684\u306A\u8868\u73FE\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 +KeywordSearchEditListPanel.invalidKwMsg=\u7121\u52B9\u306A\u30AD\u30FC\u30EF\u30FC\u30C9\u30D1\u30BF\u30FC\u30F3\u3002\u5358\u8A9E\u3082\u3057\u304F\u306F\u6B63\u3057\u3044\u6B63\u898F\u8868\u73FE\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 KeywordSearchEditListPanel.removeKwMsg=\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u524A\u9664 KeywordSearchEditListPanel.deleteWordButtonActionPerformed.delConfirmMsg=\u5168\u3066\u306E\u30B1\u30FC\u30B9\u306B\u304A\u3051\u308B\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u3092\u524A\u9664\u3057\u307E\u3059\u3002\u3053\u306E\u524A\u9664\u3092\u5B9F\u884C\u3057\u307E\u3059\u304B\uFF1F KeywordSearchEditListPanel.exportButtonActionPerformed.fileFilterLabel=\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8XML\u30D5\u30A1\u30A4\u30EB @@ -127,7 +127,7 @@ KeywordSearchIngestModule.init.badInitMsg=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u KeywordSearchIngestModule.init.tryStopSolrMsg={0}
\u53E4\u3044java Solr\u51E6\u7406\u3092\u505C\u6B62\u3057\uFF08\u3082\u3057\u5B58\u5728\u3059\u308C\u3070\uFF09\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002 KeywordSearchIngestModule.init.noKwInLstMsg=\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u306B\u30AD\u30FC\u30EF\u30FC\u30C9\u304C\u3042\u308A\u307E\u305B\u3093\u3002 KeywordSearchIngestModule.init.onlyIdxKwSkipMsg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3060\u3051\u5B9F\u884C\u3055\u308C\u3001\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\u306F\u30B9\u30AD\u30C3\u30D7\u3055\u308C\u307E\u3059\uFF08\u300C\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8 - \u51E6\u7406\u306B\u8FFD\u52A0\u300D\u3092\u4F7F\u7528\u3057\u3001\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u3092\u8FFD\u52A0\u3059\u308B\u306E\u306F\u53EF\u80FD\u3067\u3059 -KeywordSearchIngestModule.postIndexSummary.knowFileHeaderLbl=\u65E2\u77E5\u306E\u7A2E\u985E\u306E\u30D5\u30A1\u30A4\u30EB +KeywordSearchIngestModule.postIndexSummary.knowFileHeaderLbl=\u65E2\u77E5\u30BF\u30A4\u30D7\u306E\u30D5\u30A1\u30A4\u30EB KeywordSearchIngestModule.postIndexSummary.fileGenStringsHead=\u4E00\u822C\u7684\u306A\u30B9\u30C8\u30EA\u30F3\u30B0\u304C\u62BD\u51FA\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB KeywordSearchIngestModule.postIndexSummary.mdOnlyLbl=\u30E1\u30BF\u30C7\u30FC\u30BF\u306E\u307F\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u307E\u3057\u305F KeywordSearchIngestModule.postIndexSummary.idxErrLbl=\u30A8\u30E9\u30FC\uFF08\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u30A8\u30E9\u30FC\uFF09 @@ -135,7 +135,7 @@ KeywordSearchIngestModule.postIndexSummary.errTxtLbl=\u30A8\u30E9\u30FC\uFF08\u3 KeywordSearchIngestModule.postIndexSummary.errIoLbl=\u30A8\u30E9\u30FC\uFF08I/O\uFF09 KeywordSearchIngestModule.postIndexSummary.kwIdxResultsLbl=\u30AD\u30FC\u30EF\u30FC\u30C9\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u7D50\u679C KeywordSearchIngestModule.postIndexSummary.kwIdxErrsTitle=\u30AD\u30FC\u30EF\u30FC\u30C9\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u30A8\u30E9\u30FC -KeywordSearchIngestModule.postIndexSummary.kwIdxErrMsgFiles=\u30AD\u30FC\u30EF\u30FC\u30C9\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u30B5\u30FC\u30D3\u30B9\u4E2D\u306B {0} \u30D5\u30A1\u30A4\u30EB\u306E\u51E6\u7406\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3057\u305F\u3002 +KeywordSearchIngestModule.postIndexSummary.kwIdxErrMsgFiles=\u30AD\u30FC\u30EF\u30FC\u30C9\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u30B5\u30FC\u30D3\u30B9\u4E2D\u306B{0}\u30D5\u30A1\u30A4\u30EB\u306E\u51E6\u7406\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3057\u305F\u3002 KeywordSearchIngestModule.postIndexSummary.kwIdxWarnMsgTitle=\u30AD\u30FC\u30EF\u30FC\u30C9\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u8B66\u544A KeywordSearchIngestModule.postIndexSummary.idxErrReadFilesMsg=\u30AD\u30FC\u30EF\u30FC\u30C9\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u30B5\u30FC\u30D3\u30B9\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u307F\u8FBC\u307F\u3084\u30C6\u30AD\u30B9\u30C8\u62BD\u51FA\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3057\u305F\u3002\u539F\u56E0\u306F\u7834\u640D\u3057\u305F\u30E1\u30C7\u30A3\u30A2\u3084\u30D5\u30A1\u30A4\u30EB\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002 KeywordSearchListsViewerPanel.initIngest.addIngestTitle=\u51E6\u7406\u306B\u8FFD\u52A0 @@ -145,11 +145,11 @@ KeywordSearchListsViewerPanel.initIngest.addIdxSearchMsg=\u9078\u629E\u3057\u305 KeywordSearchListsViewerPanel.initIngest.ongoingIngestMsg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\uFF1A {0} \uFF08\u51E6\u7406\u306F\u5B9F\u884C\u4E2D\uFF09 KeywordSearchListsViewerPanel.initIngest.fileIndexCtMsg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\uFF1A {0} KeywordSearch.selectedColLbl=\u9078\u629E\u6E08\u307F -KeywordSearch.nameColLbl=\u540D\u524D +KeywordSearch.nameColLbl=\u540D\u79F0 KeywordSearch.regExColLbl=\u6B63\u898F\u8868\u73FE KeywordSearchQueryManager.execute.exeWinTitle=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22 {0} - {1} KeywordSearch.newKeywordListMsg=\u65B0\u898F\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8 -KeywordSearch.importListFileDialogMsg=\ {0}\u3000\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3059\u308B\u306E\u306B\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3057\u305F +KeywordSearch.importListFileDialogMsg={0}\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3057\u305F KeywordSearch.yesOwMsg=\u306F\u3044\u3001\u4E0A\u66F8\u304D\u3057\u307E\u3059 KeywordSearch.noSkipMsg=\u3044\u3044\u3048\u3001\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3059 KeywordSearch.cancelImportMsg=\u30A4\u30F3\u30DD\u30FC\u30C8\u3092\u30AD\u30E3\u30F3\u30BB\u30EB @@ -160,7 +160,7 @@ KeywordSearchListsManagementPanel.fileExtensionFilterLbl=\u30AD\u30FC\u30EF\u30F KeywordSearch.listImportFeatureTitle=\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u30A4\u30F3\u30DD\u30FC\u30C8 KeywordSearchIngestModule.hashDbModuleName=\u30CF\u30C3\u30B7\u30E5\u30EB\u30C3\u30AF\u30A2\u30C3\u30D7 KeywordSearchIngestModule.moduleName=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22 -KeywordSearchIngestModule.moduleDescription=\u30EA\u30B9\u30C8\u5185\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u304A\u3088\u3073\u4E00\u822C\u7684\u306A\u8868\u73FE\u3092\u4F7F\u3044\u3001\u30D5\u30A1\u30A4\u30EB\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u304A\u3088\u3073\u5B9A\u671F\u7684\u306A\u691C\u7D22\u3092\u5B9F\u884C\u3057\u307E\u3059\u3002 +KeywordSearchIngestModule.moduleDescription=\u30EA\u30B9\u30C8\u5185\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u304A\u3088\u3073\u6B63\u898F\u8868\u73FE\u3092\u4F7F\u3044\u3001\u30D5\u30A1\u30A4\u30EB\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u304A\u3088\u3073\u5B9A\u671F\u7684\u306A\u691C\u7D22\u3092\u5B9F\u884C\u3057\u307E\u3059\u3002 OptionsCategory_Name_KeywordSearchOptions=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22 OptionsCategory_Keywords_KeywordSearchOptions=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22 ExtractedContentPanel.pagePreviousButton.actionCommand= @@ -189,9 +189,8 @@ HighlightedMatchesSource.previousPage.exception.msg=\u524D\u306E\u30DA\u30FC\u30 HighlightedMatchesSource.nextItem.exception.msg=\u6B21\u306E\u30A2\u30A4\u30C6\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\u3002 HighlightedMatchesSource.previousItem.exception.msg=\u524D\u306E\u30A2\u30A4\u30C6\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\u3002 Ingester.ingest.exception.unknownImgId.msg=\u4E0B\u8A18\u306E\u30D5\u30A1\u30A4\u30EB\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u3066\u3044\u307E\u3059\u3002\u4E0D\u660E\u306A\u30A4\u30E1\u30FC\u30B8ID\uFF1A{0} -Ingester.ingest.exception.cantReadStream.msg=\u30B3\u30F3\u30C6\u30F3\u30C4\u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u8AAD\u3081\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0} -#todo check meaning -Ingester.ingest.exception.err.msg=\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u51E6\u7406 +Ingester.ingest.exception.cantReadStream.msg=\u30B3\u30F3\u30C6\u30F3\u30C4\u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u8AAD\u307F\u53D6\u308C\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0} +Ingester.ingest.exception.err.msg=\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u51E6\u7406\u4E2D\u306E\u30A8\u30E9\u30FC\uFF1A{0} Ingester.ingestExtract.exception.solrTimeout.msg=\u4E0B\u8A18\u306EID\u306B\u5BFE\u3059\u308B\u3001Solr\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u30EA\u30AF\u30A8\u30B9\u30C8\u306F\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\u3057\u307E\u3057\u305F\uFF1A{0}, name\: {1} Ingester.ingestExtract.exception.probPostToSolr.msg=Solr\u306B\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u30DD\u30B9\u30C8\u3059\u308B\u306E\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002ID\uFF1A{0}, \u540D\u79F0\: {1} Ingester.UpReqestTask.run.exception.sorlNotAvail.msg=Solr\u30B3\u30A2\u304C\u5229\u7528\u4E0D\u53EF\u3067\u3059\u3002\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3067\u304D\u307E\u305B\u3093\u3002 @@ -222,7 +221,7 @@ KeywordSearchSettings.moduleName.text=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22 KeywordSearchSettings.properties_options.text={0}_\u30AA\u30D7\u30B7\u30E7\u30F3 KeywordSearchSettings.propertiesNSRL.text={0}_NSRL KeywordSearchSettings.propertiesScripts.text={0}_\u30B9\u30AF\u30EA\u30D7\u30C8 -NoOpenCoreException.err.noOpenSorlCore.msg=\u73FE\u5728\u7A7A\u3044\u3066\u3044\u308BSolr\u30B3\u30A2\u306F\u3042\u308A\u307E\u305B\u3093\u3002 +NoOpenCoreException.err.noOpenSorlCore.msg=\u73FE\u5728\u958B\u3044\u3066\u3044\u308BSolr\u30B3\u30A2\u306F\u3042\u308A\u307E\u305B\u3093\u3002 Server.start.exception.cantStartSolr.msg=Solr\u30B5\u30FC\u30D0\u30D7\u30ED\u30BB\u30B9\u3092\u958B\u59CB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F Server.start.exception.cantStartSolr.msg2=Solr\u30B5\u30FC\u30D0\u30D7\u30ED\u30BB\u30B9\u3092\u958B\u59CB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F Server.isRunning.exception.errCheckSolrRunning.msg=Solr\u30B5\u30FC\u30D0\u304C\u7A3C\u50CD\u3057\u3066\u3044\u308B\u304B\u78BA\u8A8D\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F @@ -236,10 +235,9 @@ Server.queryNumFileChunks.exception.msg=\u30D5\u30A1\u30A4\u30EB\u30C1\u30E3\u30 Server.query.exception.msg=\u30AF\u30A8\u30EA\u306E\u5B9F\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A{0} Server.query2.exception.msg=\u30AF\u30A8\u30EA\u306E\u5B9F\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A{0} Server.queryTerms.exception.msg=Terms\u30AF\u30A8\u30EA\u306E\u5B9F\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F -#todo better translation? -Server.openCore.exception.msg=\u30B3\u30A2\u30AA\u30FC\u30D7\u30F3\u3092\u30EA\u30AF\u30A8\u30B9\u30C8\u3057\u307E\u3057\u305F\u304C\u3001\u30B5\u30FC\u30D0\u304C\u307E\u3060\u7A3C\u50CD\u3057\u3066\u3044\u307E\u305B\u3093\u3002 -Server.openCore.exception.cantOpen.msg=\u30B3\u30A2\u3092\u30AA\u30FC\u30D7\u30F3\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F -Server.openCore.exception.cantOpen.msg2=\u30B3\u30A2\u3092\u30AA\u30FC\u30D7\u30F3\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F +Server.openCore.exception.msg=\u30B3\u30A2\u3092\u958B\u304F\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u3057\u307E\u3057\u305F\u304C\u3001\u30B5\u30FC\u30D0\u304C\u307E\u3060\u7A3C\u50CD\u3057\u3066\u3044\u307E\u305B\u3093\u3002 +Server.openCore.exception.cantOpen.msg=\u30B3\u30A2\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F +Server.openCore.exception.cantOpen.msg2=\u30B3\u30A2\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F Server.request.exception.exception.msg=Solr\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u767A\u884C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F Server.commit.exception.msg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u3092\u30B3\u30DF\u30C3\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F Server.addDoc.exception.msg=\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u30CF\u30F3\u30C9\u30E9\u30FC\u3092\u4F7F\u7528\u3057\u307E\u3057\u305F\u304C\u3001\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u306B\u4E0B\u8A18\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0} @@ -247,7 +245,7 @@ Server.close.exception.msg=\u30B3\u30A2\u3092\u9589\u3058\u308C\u307E\u305B\u309 Server.close.exception.msg2=\u30B3\u30A2\u3092\u9589\u3058\u308C\u307E\u305B\u3093 Server.solrServerNoPortException.msg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u306B\u4F7F\u7528\u3057\u3066\u3044\u308B\u30B5\u30FC\u30D0\u306F\u30DD\u30FC\u30C8{0}\u306B\u30D0\u30A4\u30F3\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30DD\u30FC\u30C8\u306F\u4F7F\u7528\u4E0D\u53EF\u3067\u3059\u3002\u30C7\u30D5\u30A9\u30EB\u30C8{1}\u30DD\u30FC\u30C8\u306E\u5909\u66F4\u3092\u691C\u8A0E\u3057\u3066\u4E0B\u3055\u3044\u3002 KeywordSearchIngestModule.doInBackGround.displayName=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22 -KeywordSearchIngestModule.doInBackGround.finalizeMsg=-\u3000\u6700\u7D42\u51E6\u7406\u306E\u5B9F\u884C\u4E2D +KeywordSearchIngestModule.doInBackGround.finalizeMsg=-\u3000\u6700\u7D42\u51E6\u7406\u4E2D KeywordSearchIngestModule.doInBackGround.pendingMsg=\uFF08\u30DA\u30F3\u30C7\u30A3\u30F3\u30B0\uFF09 KeywordSearchIngestModule.doInBackGround.cancelMsg=\uFF08\u30AD\u30E3\u30F3\u30BB\u30EB\u4E2D\u2026\uFF09 Server.addDoc.exception.msg2=\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u30CF\u30F3\u30C9\u30E9\u30FC\u3092\u4F7F\u7528\u3057\u307E\u3057\u305F\u304C\u3001\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u306B\u4E0B\u8A18\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0} From 0e7338443334fe321e9cd41ae3cdef845459b43a Mon Sep 17 00:00:00 2001 From: alexjacks92 Date: Wed, 5 Mar 2014 16:26:39 -0500 Subject: [PATCH 34/34] Style issues. --- .../src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties | 2 +- .../src/org/sleuthkit/autopsy/testing/RegressionTest.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties index ee167b1569..91b7a67008 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties @@ -150,7 +150,7 @@ KeywordSearchIngestModule.init.tryStopSolrMsg={0}
Please try stopping old j KeywordSearchIngestModule.init.noKwInLstMsg=No keywords in keyword list. KeywordSearchIngestModule.init.onlyIdxKwSkipMsg=Only indexing will be done and and keyword search will be skipped (you can still add keyword lists using the Keyword Lists - Add to Ingest). KeywordSearchIngestModule.doInBackGround.displayName=Keyword Search -KeywordSearchIngestModule.doInBackGround.finalizeMsg = Finalizing... +KeywordSearchIngestModule.doInBackGround.finalizeMsg=Finalizing... KeywordSearchIngestModule.doInBackGround.pendingMsg=Working on Keyword Search... KeywordSearchIngestModule.postIndexSummary.knowFileHeaderLbl=Files with known types KeywordSearchIngestModule.postIndexSummary.fileGenStringsHead=Files with general strings extracted diff --git a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java index c72372eaae..b331d47518 100755 --- a/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java +++ b/Testing/test/qa-functional/src/org/sleuthkit/autopsy/testing/RegressionTest.java @@ -269,7 +269,6 @@ public class RegressionTest extends TestCase { new Timeout("pausing", 1000).sleep(); // give it a second (or five) to process } new Timeout("pausing", 15000).sleep(); // give it a second (or fifteen) to process - //boolean sleep = true; while (man.areModulesRunning()) { new Timeout("pausing", 5000).sleep(); // give it a second (or five) to process }