diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestJobConfigurationPanel.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestJobConfigurationPanel.java index 20b9f50e3d..0e0ce8d74d 100644 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestJobConfigurationPanel.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestJobConfigurationPanel.java @@ -58,7 +58,7 @@ class IngestJobConfigurationPanel extends javax.swing.JPanel { for (IngestModuleModel module : modules) { IngestModuleTemplate moduleTemplate = module.getIngestModuleTemplate(); if (module.hasModuleSettingsPanel()) { - IngestModuleSettings settings = module.getModuleSettingsPanel().getSettings(); + IngestModuleIngestJobSettings settings = module.getModuleSettingsPanel().getSettings(); moduleTemplate.setModuleSettings(settings); } moduleTemplates.add(moduleTemplate); @@ -295,7 +295,7 @@ class IngestJobConfigurationPanel extends javax.swing.JPanel { private final IngestModuleTemplate moduleTemplate; private IngestModuleGlobalSetttingsPanel globalSettingsPanel = null; - private IngestModuleSettingsPanel moduleSettingsPanel = null; + private IngestModuleIngestJobSettingsPanel moduleSettingsPanel = null; IngestModuleModel(IngestModuleTemplate moduleTemplate) { this.moduleTemplate = moduleTemplate; @@ -331,7 +331,7 @@ class IngestJobConfigurationPanel extends javax.swing.JPanel { return moduleTemplate.hasModuleSettingsPanel(); } - IngestModuleSettingsPanel getModuleSettingsPanel() { + IngestModuleIngestJobSettingsPanel getModuleSettingsPanel() { return moduleSettingsPanel; } diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleFactory.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleFactory.java index 7070309021..e34e4921de 100755 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleFactory.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleFactory.java @@ -117,7 +117,7 @@ public interface IngestModuleFactory { * * @return The ingest options. */ - IngestModuleSettings getDefaultModuleSettings(); + IngestModuleIngestJobSettings getDefaultModuleSettings(); /** * Queries the factory to determine if it provides user interface panels to @@ -152,7 +152,7 @@ public interface IngestModuleFactory { * @param ingestOptions Per ingest job options to initialize the panel. * @return A user interface panel. */ - IngestModuleSettingsPanel getModuleSettingsPanel(IngestModuleSettings settings); + IngestModuleIngestJobSettingsPanel getModuleSettingsPanel(IngestModuleIngestJobSettings settings); /** * Queries the factory to determine if it is capable of creating file ingest @@ -182,7 +182,7 @@ public interface IngestModuleFactory { * @param ingestOptions The ingest options for the module instance. * @return A data source ingest module instance. */ - DataSourceIngestModule createDataSourceIngestModule(IngestModuleSettings settings); + DataSourceIngestModule createDataSourceIngestModule(IngestModuleIngestJobSettings settings); /** * Queries the factory to determine if it is capable of creating file ingest @@ -212,5 +212,5 @@ public interface IngestModuleFactory { * @param ingestOptions The ingest options for the module instance. * @return A file ingest module instance. */ - FileIngestModule createFileIngestModule(IngestModuleSettings settings); + FileIngestModule createFileIngestModule(IngestModuleIngestJobSettings settings); } diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleFactoryAdapter.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleFactoryAdapter.java index e750e89b45..75a6b79a75 100755 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleFactoryAdapter.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleFactoryAdapter.java @@ -44,7 +44,7 @@ public abstract class IngestModuleFactoryAdapter implements IngestModuleFactory } @Override - public IngestModuleSettings getDefaultModuleSettings() { + public IngestModuleIngestJobSettings getDefaultModuleSettings() { return new NoIngestModuleSettings(); } @@ -54,7 +54,7 @@ public abstract class IngestModuleFactoryAdapter implements IngestModuleFactory } @Override - public IngestModuleSettingsPanel getModuleSettingsPanel(IngestModuleSettings ingestOptions) { + public IngestModuleIngestJobSettingsPanel getModuleSettingsPanel(IngestModuleIngestJobSettings ingestOptions) { throw new UnsupportedOperationException(); } @@ -64,7 +64,7 @@ public abstract class IngestModuleFactoryAdapter implements IngestModuleFactory } @Override - public DataSourceIngestModule createDataSourceIngestModule(IngestModuleSettings ingestOptions) { + public DataSourceIngestModule createDataSourceIngestModule(IngestModuleIngestJobSettings ingestOptions) { throw new UnsupportedOperationException(); } @@ -74,7 +74,7 @@ public abstract class IngestModuleFactoryAdapter implements IngestModuleFactory } @Override - public FileIngestModule createFileIngestModule(IngestModuleSettings ingestOptions) { + public FileIngestModule createFileIngestModule(IngestModuleIngestJobSettings ingestOptions) { throw new UnsupportedOperationException(); } } diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleSettings.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleIngestJobSettings.java similarity index 73% rename from Core/src/org/sleuthkit/autopsy/ingest/IngestModuleSettings.java rename to Core/src/org/sleuthkit/autopsy/ingest/IngestModuleIngestJobSettings.java index b55b0341c6..06e0f4b725 100755 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleSettings.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleIngestJobSettings.java @@ -21,9 +21,9 @@ package org.sleuthkit.autopsy.ingest; import java.io.Serializable; /** - * Interface for per ingest job options for ingest modules. Options are - * serializable to support persistence of options between invocations of the - * application. + * Interface for per ingest job settings for ingest modules. The settings are + * serializable to support persistence of settings for different contexts and + * between invocations of the application. */ -public interface IngestModuleSettings extends Serializable { +public interface IngestModuleIngestJobSettings extends Serializable { } diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleIngestJobSettingsPanel.java similarity index 78% rename from Core/src/org/sleuthkit/autopsy/ingest/IngestModuleSettingsPanel.java rename to Core/src/org/sleuthkit/autopsy/ingest/IngestModuleIngestJobSettingsPanel.java index d4fa7b32d9..cb321f35cb 100755 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleIngestJobSettingsPanel.java @@ -21,14 +21,15 @@ package org.sleuthkit.autopsy.ingest; import javax.swing.JPanel; /** - * Abstract base class for ingest module job settings panels. + * Abstract base class for panels that allow users to specify per ingest job + * settings for ingest modules. */ -public abstract class IngestModuleSettingsPanel extends JPanel { +public abstract class IngestModuleIngestJobSettingsPanel extends JPanel { /** * Gets the ingest job settings for an ingest module. * * @return The ingest settings. */ - public abstract IngestModuleSettings getSettings(); + public abstract IngestModuleIngestJobSettings getSettings(); } diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleTemplate.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleTemplate.java index b37c998e07..45c194e320 100755 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleTemplate.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleTemplate.java @@ -25,10 +25,10 @@ package org.sleuthkit.autopsy.ingest; final class IngestModuleTemplate { private final IngestModuleFactory moduleFactory; - private IngestModuleSettings settings = null; + private IngestModuleIngestJobSettings settings = null; private boolean enabled = true; - IngestModuleTemplate(IngestModuleFactory moduleFactory, IngestModuleSettings settings) { + IngestModuleTemplate(IngestModuleFactory moduleFactory, IngestModuleIngestJobSettings settings) { this.moduleFactory = moduleFactory; this.settings = settings; } @@ -41,11 +41,11 @@ final class IngestModuleTemplate { return moduleFactory.getModuleDescription(); } - IngestModuleSettings getModuleSettings() { + IngestModuleIngestJobSettings getModuleSettings() { return settings; } - void setModuleSettings(IngestModuleSettings settings) { + void setModuleSettings(IngestModuleIngestJobSettings settings) { this.settings = settings; } @@ -53,7 +53,7 @@ final class IngestModuleTemplate { return moduleFactory.hasModuleSettingsPanel(); } - IngestModuleSettingsPanel getModuleSettingsPanel() { + IngestModuleIngestJobSettingsPanel getModuleSettingsPanel() { return moduleFactory.getModuleSettingsPanel(settings); } diff --git a/Core/src/org/sleuthkit/autopsy/ingest/NoIngestModuleSettings.java b/Core/src/org/sleuthkit/autopsy/ingest/NoIngestModuleSettings.java index 1fb3b709f1..4294e9d9b1 100755 --- a/Core/src/org/sleuthkit/autopsy/ingest/NoIngestModuleSettings.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/NoIngestModuleSettings.java @@ -22,7 +22,7 @@ package org.sleuthkit.autopsy.ingest; * Implementation of the IngestModuleOptions interface for use by ingest modules * that do not have per ingest job options. */ -public final class NoIngestModuleSettings implements IngestModuleSettings { +public final class NoIngestModuleSettings implements IngestModuleIngestJobSettings { private final String setting = "None"; diff --git a/ExifParser/src/org/sleuthkit/autopsy/exifparser/ExifParserModuleFactory.java b/ExifParser/src/org/sleuthkit/autopsy/exifparser/ExifParserModuleFactory.java index 639ed3bad6..73078e67cb 100755 --- a/ExifParser/src/org/sleuthkit/autopsy/exifparser/ExifParserModuleFactory.java +++ b/ExifParser/src/org/sleuthkit/autopsy/exifparser/ExifParserModuleFactory.java @@ -23,7 +23,7 @@ import org.sleuthkit.autopsy.coreutils.Version; import org.sleuthkit.autopsy.ingest.IngestModuleFactoryAdapter; import org.sleuthkit.autopsy.ingest.FileIngestModule; import org.sleuthkit.autopsy.ingest.IngestModuleFactory; -import org.sleuthkit.autopsy.ingest.IngestModuleSettings; +import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings; import org.openide.util.NbBundle; /** @@ -60,7 +60,7 @@ public class ExifParserModuleFactory extends IngestModuleFactoryAdapter { } @Override - public FileIngestModule createFileIngestModule(IngestModuleSettings ingestOptions) { + public FileIngestModule createFileIngestModule(IngestModuleIngestJobSettings ingestOptions) { return new ExifParserFileIngestModule(); } } diff --git a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchDetectorModuleFactory.java b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchDetectorModuleFactory.java index ee9b36684a..e91d8198ea 100755 --- a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchDetectorModuleFactory.java +++ b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchDetectorModuleFactory.java @@ -24,8 +24,8 @@ import org.sleuthkit.autopsy.coreutils.Version; import org.sleuthkit.autopsy.ingest.IngestModuleFactoryAdapter; import org.sleuthkit.autopsy.ingest.FileIngestModule; import org.sleuthkit.autopsy.ingest.IngestModuleFactory; -import org.sleuthkit.autopsy.ingest.IngestModuleSettings; -import org.sleuthkit.autopsy.ingest.IngestModuleSettingsPanel; +import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings; +import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettingsPanel; import org.sleuthkit.autopsy.ingest.IngestModuleGlobalSetttingsPanel; /** @@ -57,7 +57,7 @@ public class FileExtMismatchDetectorModuleFactory extends IngestModuleFactoryAda } @Override - public IngestModuleSettings getDefaultModuleSettings() { + public IngestModuleIngestJobSettings getDefaultModuleSettings() { return new FileExtMismatchDetectorModuleSettings(); } @@ -67,7 +67,7 @@ public class FileExtMismatchDetectorModuleFactory extends IngestModuleFactoryAda } @Override - public IngestModuleSettingsPanel getModuleSettingsPanel(IngestModuleSettings settings) { + public IngestModuleIngestJobSettingsPanel getModuleSettingsPanel(IngestModuleIngestJobSettings settings) { assert settings instanceof FileExtMismatchDetectorModuleSettings; if (!(settings instanceof FileExtMismatchDetectorModuleSettings)) { throw new IllegalArgumentException("Expected settings argument to be instanceof FileExtMismatchDetectorModuleSettings"); @@ -94,7 +94,7 @@ public class FileExtMismatchDetectorModuleFactory extends IngestModuleFactoryAda } @Override - public FileIngestModule createFileIngestModule(IngestModuleSettings settings) { + public FileIngestModule createFileIngestModule(IngestModuleIngestJobSettings settings) { assert settings instanceof FileExtMismatchDetectorModuleSettings; if (!(settings instanceof FileExtMismatchDetectorModuleSettings)) { throw new IllegalArgumentException("Expected settings argument to be instanceof FileExtMismatchDetectorModuleSettings"); diff --git a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchDetectorModuleSettings.java b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchDetectorModuleSettings.java index eda28ab6ff..66d0ba9826 100755 --- a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchDetectorModuleSettings.java +++ b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchDetectorModuleSettings.java @@ -18,12 +18,12 @@ */ package org.sleuthkit.autopsy.fileextmismatch; -import org.sleuthkit.autopsy.ingest.IngestModuleSettings; +import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings; /** * Ingest options for the file extension mismatch detector ingest module. */ -final class FileExtMismatchDetectorModuleSettings implements IngestModuleSettings { +final class FileExtMismatchDetectorModuleSettings implements IngestModuleIngestJobSettings { private boolean skipKnownFiles = false; private boolean skipFilesWithNoExtension = true; diff --git a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchModuleSettingsPanel.java b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchModuleSettingsPanel.java index 8bdc1a5f7c..5dc0c5321d 100644 --- a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchModuleSettingsPanel.java +++ b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchModuleSettingsPanel.java @@ -18,14 +18,14 @@ */ package org.sleuthkit.autopsy.fileextmismatch; -import org.sleuthkit.autopsy.ingest.IngestModuleSettings; -import org.sleuthkit.autopsy.ingest.IngestModuleSettingsPanel; +import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings; +import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettingsPanel; /** * UI component used to set ingest job options for file extension mismatch * detector ingest modules. */ -final class FileExtMismatchModuleSettingsPanel extends IngestModuleSettingsPanel { +final class FileExtMismatchModuleSettingsPanel extends IngestModuleIngestJobSettingsPanel { private final FileExtMismatchDetectorModuleSettings settings; @@ -42,7 +42,7 @@ final class FileExtMismatchModuleSettingsPanel extends IngestModuleSettingsPanel } @Override - public IngestModuleSettings getSettings() { + public IngestModuleIngestJobSettings getSettings() { return settings; } diff --git a/FileTypeId/src/org/sleuthkit/autopsy/filetypeid/FileTypeIdModuleFactory.java b/FileTypeId/src/org/sleuthkit/autopsy/filetypeid/FileTypeIdModuleFactory.java index 5b8e27a2b9..5f55378f97 100755 --- a/FileTypeId/src/org/sleuthkit/autopsy/filetypeid/FileTypeIdModuleFactory.java +++ b/FileTypeId/src/org/sleuthkit/autopsy/filetypeid/FileTypeIdModuleFactory.java @@ -24,8 +24,8 @@ import org.sleuthkit.autopsy.coreutils.Version; import org.sleuthkit.autopsy.ingest.FileIngestModule; import org.sleuthkit.autopsy.ingest.IngestModuleFactory; import org.sleuthkit.autopsy.ingest.IngestModuleFactoryAdapter; -import org.sleuthkit.autopsy.ingest.IngestModuleSettings; -import org.sleuthkit.autopsy.ingest.IngestModuleSettingsPanel; +import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings; +import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettingsPanel; /** * An factory that creates file ingest modules that determine the types of @@ -56,7 +56,7 @@ public class FileTypeIdModuleFactory extends IngestModuleFactoryAdapter { } @Override - public IngestModuleSettings getDefaultModuleSettings() { + public IngestModuleIngestJobSettings getDefaultModuleSettings() { return new FileTypeIdModuleSettings(); } @@ -66,7 +66,7 @@ public class FileTypeIdModuleFactory extends IngestModuleFactoryAdapter { } @Override - public IngestModuleSettingsPanel getModuleSettingsPanel(IngestModuleSettings settings) { + public IngestModuleIngestJobSettingsPanel getModuleSettingsPanel(IngestModuleIngestJobSettings settings) { assert settings instanceof FileTypeIdModuleSettings; if (!(settings instanceof FileTypeIdModuleSettings)) { throw new IllegalArgumentException("Expected settings argument to be instanceof FileTypeIdModuleSettings"); @@ -80,7 +80,7 @@ public class FileTypeIdModuleFactory extends IngestModuleFactoryAdapter { } @Override - public FileIngestModule createFileIngestModule(IngestModuleSettings settings) { + public FileIngestModule createFileIngestModule(IngestModuleIngestJobSettings settings) { assert settings instanceof FileTypeIdModuleSettings; if (!(settings instanceof FileTypeIdModuleSettings)) { throw new IllegalArgumentException("Expected settings argument to be instanceof FileTypeIdModuleSettings"); diff --git a/FileTypeId/src/org/sleuthkit/autopsy/filetypeid/FileTypeIdModuleSettings.java b/FileTypeId/src/org/sleuthkit/autopsy/filetypeid/FileTypeIdModuleSettings.java index d5a962c8d4..cd2bc4bc12 100755 --- a/FileTypeId/src/org/sleuthkit/autopsy/filetypeid/FileTypeIdModuleSettings.java +++ b/FileTypeId/src/org/sleuthkit/autopsy/filetypeid/FileTypeIdModuleSettings.java @@ -18,12 +18,12 @@ */ package org.sleuthkit.autopsy.filetypeid; -import org.sleuthkit.autopsy.ingest.IngestModuleSettings; +import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings; /** * Ingest job options for the file type identifier ingest module instances. */ -public class FileTypeIdModuleSettings implements IngestModuleSettings { +public class FileTypeIdModuleSettings implements IngestModuleIngestJobSettings { private boolean skipKnownFiles = true; diff --git a/FileTypeId/src/org/sleuthkit/autopsy/filetypeid/FileTypeIdModuleSettingsPanel.java b/FileTypeId/src/org/sleuthkit/autopsy/filetypeid/FileTypeIdModuleSettingsPanel.java index cd4092f07d..442e2b990e 100644 --- a/FileTypeId/src/org/sleuthkit/autopsy/filetypeid/FileTypeIdModuleSettingsPanel.java +++ b/FileTypeId/src/org/sleuthkit/autopsy/filetypeid/FileTypeIdModuleSettingsPanel.java @@ -18,14 +18,14 @@ */ package org.sleuthkit.autopsy.filetypeid; -import org.sleuthkit.autopsy.ingest.IngestModuleSettings; -import org.sleuthkit.autopsy.ingest.IngestModuleSettingsPanel; +import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings; +import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettingsPanel; /** * UI component used to set ingest job options for file type identifier ingest * modules. */ -final class FileTypeIdModuleSettingsPanel extends IngestModuleSettingsPanel { +final class FileTypeIdModuleSettingsPanel extends IngestModuleIngestJobSettingsPanel { private final FileTypeIdModuleSettings settings; @@ -40,7 +40,7 @@ final class FileTypeIdModuleSettingsPanel extends IngestModuleSettingsPanel { } @Override - public IngestModuleSettings getSettings() { + public IngestModuleIngestJobSettings getSettings() { return settings; } diff --git a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashLookupModuleFactory.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashLookupModuleFactory.java index 92b7708524..a57ac7677c 100755 --- a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashLookupModuleFactory.java +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashLookupModuleFactory.java @@ -26,8 +26,8 @@ import org.sleuthkit.autopsy.coreutils.Version; import org.sleuthkit.autopsy.ingest.IngestModuleFactoryAdapter; import org.sleuthkit.autopsy.ingest.FileIngestModule; import org.sleuthkit.autopsy.ingest.IngestModuleFactory; -import org.sleuthkit.autopsy.ingest.IngestModuleSettings; -import org.sleuthkit.autopsy.ingest.IngestModuleSettingsPanel; +import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings; +import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettingsPanel; import org.sleuthkit.autopsy.ingest.IngestModuleGlobalSetttingsPanel; /** @@ -58,7 +58,7 @@ public class HashLookupModuleFactory extends IngestModuleFactoryAdapter { } @Override - public IngestModuleSettings getDefaultModuleSettings() { + public IngestModuleIngestJobSettings getDefaultModuleSettings() { HashDbManager hashDbManager = HashDbManager.getInstance(); List enabledHashSets = new ArrayList<>(); List knownFileHashSets = hashDbManager.getKnownFileHashSets(); @@ -82,7 +82,7 @@ public class HashLookupModuleFactory extends IngestModuleFactoryAdapter { } @Override - public IngestModuleSettingsPanel getModuleSettingsPanel(IngestModuleSettings settings) { + public IngestModuleIngestJobSettingsPanel getModuleSettingsPanel(IngestModuleIngestJobSettings settings) { if (moduleSettingsPanel == null) { moduleSettingsPanel = new HashLookupModuleSettingsPanel(); } @@ -108,7 +108,7 @@ public class HashLookupModuleFactory extends IngestModuleFactoryAdapter { } @Override - public FileIngestModule createFileIngestModule(IngestModuleSettings settings) { + public FileIngestModule createFileIngestModule(IngestModuleIngestJobSettings settings) { assert settings instanceof HashLookupModuleSettings; if (!(settings instanceof HashLookupModuleSettings)) { throw new IllegalArgumentException("Expected settings argument to be instanceof HashLookupModuleSettings"); diff --git a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashLookupModuleSettings.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashLookupModuleSettings.java index c1671013ea..781d40fee7 100755 --- a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashLookupModuleSettings.java +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashLookupModuleSettings.java @@ -20,12 +20,12 @@ package org.sleuthkit.autopsy.hashdatabase; import java.util.HashSet; import java.util.List; -import org.sleuthkit.autopsy.ingest.IngestModuleSettings; +import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings; /** * Settings for a hash lookup file ingest module instance. */ -final class HashLookupModuleSettings implements IngestModuleSettings { +final class HashLookupModuleSettings implements IngestModuleIngestJobSettings { private final HashSet enabledHashSets = new HashSet<>(); private boolean shouldCalculateHashes = true; diff --git a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashLookupModuleSettingsPanel.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashLookupModuleSettingsPanel.java index e98fd281b9..35cfd666ae 100644 --- a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashLookupModuleSettingsPanel.java +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashLookupModuleSettingsPanel.java @@ -33,14 +33,14 @@ import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.ingest.IngestManager; import org.sleuthkit.datamodel.TskCoreException; import org.sleuthkit.autopsy.hashdatabase.HashDbManager.HashDb; -import org.sleuthkit.autopsy.ingest.IngestModuleSettings; -import org.sleuthkit.autopsy.ingest.IngestModuleSettingsPanel; +import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings; +import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettingsPanel; /** * Instances of this class provide a simplified UI for managing the hash sets * configuration. */ -public class HashLookupModuleSettingsPanel extends IngestModuleSettingsPanel implements PropertyChangeListener { +public class HashLookupModuleSettingsPanel extends IngestModuleIngestJobSettingsPanel implements PropertyChangeListener { private final HashDbManager hashDbManager = HashDbManager.getInstance(); private HashDatabasesTableModel knownTableModel; @@ -88,7 +88,7 @@ public class HashLookupModuleSettingsPanel extends IngestModuleSettingsPanel imp } @Override - public IngestModuleSettings getSettings() { + public IngestModuleIngestJobSettings getSettings() { List enabledHashSets = new ArrayList<>(); List knownFileHashSets = hashDbManager.getKnownFileHashSets(); for (HashDb db : knownFileHashSets) { diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties index 406c98509a..040e9e0c03 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties @@ -32,7 +32,6 @@ KeywordSearchEditListPanel.copyMenuItem.text=Copy KeywordSearchEditListPanel.exportButton.text=Export List KeywordSearchEditListPanel.deleteListButton.text=Delete List KeywordSearchListsManagementPanel.newListButton.text=New List -KeywordSearchEditListPanel.useForIngestCheckbox.text=Use during ingest KeywordSearchListsManagementPanel.importButton.text=Import List KeywordSearchListsViewerPanel.searchAddButton.text=Search KeywordSearchListsViewerPanel.manageListsButton.text=Manage Lists @@ -46,42 +45,14 @@ ExtractedContentPanel.pageOfLabel.text=of ExtractedContentPanel.pageCurLabel.text=- ExtractedContentPanel.pageTotalLabel.text=- ExtractedContentPanel.hitLabel.toolTipText= -KeywordSearchEditListPanel.ingestMessagesCheckbox.text=Send messages to inbox during ingest +KeywordSearchEditListPanel.ingestMessagesCheckbox.text=Send ingest inbox messages for each hit KeywordSearchEditListPanel.ingestMessagesCheckbox.toolTipText=Send messages during ingest when hits on keyword from this list occur -KeywordSearchConfigurationPanel2.skipNSRLCheckBox.text=Do not add files in NSRL (known files) to keyword index during ingest -KeywordSearchConfigurationPanel2.skipNSRLCheckBox.toolTipText=Requires Hash DB service to had run previously, or be selected for next ingest. -KeywordSearchConfigurationPanel2.filesIndexedValue.text=- -KeywordSearchConfigurationPanel2.filesIndexedLabel.text=Files in keyword index: -KeywordSearchIngestSimplePanel.languagesLabel.text=Scripts enabled for string extraction from unknown file types: -KeywordSearchIngestSimplePanel.languagesValLabel.text=- -KeywordSearchIngestSimplePanel.languagesLabel.toolTipText=Scripts enabled for string extraction from unknown file types. Changes can be done in Advanced Settings. -KeywordSearchIngestSimplePanel.languagesValLabel.toolTipText= -KeywordSearchConfigurationPanel3.languagesLabel.text=Enabled scripts (languages): -KeywordSearchConfigurationPanel2.chunksLabel.text=Chunks in keyword index: -KeywordSearchConfigurationPanel2.chunksValLabel.text=- -KeywordSearchConfigurationPanel3.enableUTF8Checkbox.text=Enable UTF8 text extraction -KeywordSearchConfigurationPanel3.enableUTF16Checkbox.text=Enable UTF16LE and UTF16BE string extraction KeywordSearchEditListPanel.keywordOptionsLabel.text=Keyword Options KeywordSearchEditListPanel.listOptionsLabel.text=List Options -KeywordSearchConfigurationPanel3.ingestSettingsLabel.text=Ingest settings for string extraction from unknown file types (changes effective on next ingest): -KeywordSearchConfigurationPanel2.settingsLabel.text=Settings -KeywordSearchConfigurationPanel2.informationLabel.text=Information KeywordSearchListsManagementPanel.keywordListsLabel.text=Keyword Lists: KeywordSearchEditListPanel.keywordsLabel.text=Keywords: -KeywordSearchConfigurationPanel2.timeRadioButton1.toolTipText=20 mins. (fastest ingest time) -KeywordSearchConfigurationPanel2.timeRadioButton1.text=20 minutes (slowest feedback, fastest ingest) -KeywordSearchConfigurationPanel2.timeRadioButton2.toolTipText=10 minutes (faster overall ingest time than default) -KeywordSearchConfigurationPanel2.timeRadioButton2.text=10 minutes (slower feedback, faster ingest) -KeywordSearchConfigurationPanel2.timeRadioButton3.toolTipText=5 minutes (overall ingest time will be longer) -KeywordSearchConfigurationPanel2.timeRadioButton3.text=5 minutes (default) -KeywordSearchIngestSimplePanel.encodingsLabel.text=Encodings: -KeywordSearchIngestSimplePanel.keywordSearchEncodings.text=- -KeywordSearchIngestSimplePanel.titleLabel.text=Select keyword lists to enable during ingest: OpenIDE-Module-Short-Description=Keyword Search ingest module, extracted text viewer and keyword search tools KeywordSearchListsViewerPanel.manageListsButton.toolTipText=Manage keyword lists, their settings and associated keywords. The settings are shared among all cases. -KeywordSearchConfigurationPanel2.frequencyLabel.text=Results update frequency during ingest: -KeywordSearchConfigurationPanel2.timeRadioButton4.text_1=1 minute (faster feedback, longest ingest) -KeywordSearchConfigurationPanel2.timeRadioButton4.toolTipText=1 minute (overall ingest time will be longest) AbstractKeywordSearchPerformer.search.dialogErrorHeader=Keyword Search Error AbstractKeywordSearchPerformer.search.invalidSyntaxHeader=Invalid query syntax. AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=Keyword Search Ingest in Progress @@ -263,4 +234,32 @@ Server.addDoc.exception.msg2=Could not add document to index via update handler\ Server.close.exception.msg=Cannot close Core Server.close.exception.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. -KeywordSearchConfigurationPanel2.showSnippetsCB.text=Show Keyword Preview in Keyword Search Results (will result in longer search times) +KeywordSearchJobSettingsPanel.keywordSearchEncodings.text=- +KeywordSearchJobSettingsPanel.languagesValLabel.toolTipText= +KeywordSearchJobSettingsPanel.languagesValLabel.text=- +KeywordSearchJobSettingsPanel.encodingsLabel.text=Encodings: +KeywordSearchJobSettingsPanel.titleLabel.text=Select keyword lists to enable during ingest: +KeywordSearchJobSettingsPanel.languagesLabel.toolTipText=Scripts enabled for string extraction from unknown file types. Changes can be done in Advanced Settings. +KeywordSearchJobSettingsPanel.languagesLabel.text=Scripts enabled for string extraction from unknown file types: +KeywordSearchGlobalLanguageSettingsPanel.enableUTF8Checkbox.text=Enable UTF8 text extraction +KeywordSearchGlobalLanguageSettingsPanel.ingestSettingsLabel.text=Ingest settings for string extraction from unknown file types (changes effective on next ingest): +KeywordSearchGlobalLanguageSettingsPanel.enableUTF16Checkbox.text=Enable UTF16LE and UTF16BE string extraction +KeywordSearchGlobalLanguageSettingsPanel.languagesLabel.text=Enabled scripts (languages): +KeywordSearchGlobalSearchSettingsPanel.timeRadioButton1.toolTipText=20 mins. (fastest ingest time) +KeywordSearchGlobalSearchSettingsPanel.timeRadioButton1.text=20 minutes (slowest feedback, fastest ingest) +KeywordSearchGlobalSearchSettingsPanel.timeRadioButton2.toolTipText=10 minutes (faster overall ingest time than default) +KeywordSearchGlobalSearchSettingsPanel.timeRadioButton2.text=10 minutes (slower feedback, faster ingest) +KeywordSearchGlobalSearchSettingsPanel.frequencyLabel.text=Results update frequency during ingest: +KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.toolTipText=Requires Hash DB service to had run previously, or be selected for next ingest. +KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.text=Do not add files in NSRL (known files) to keyword index during ingest +KeywordSearchGlobalSearchSettingsPanel.informationLabel.text=Information +KeywordSearchGlobalSearchSettingsPanel.settingsLabel.text=Settings +KeywordSearchGlobalSearchSettingsPanel.filesIndexedValue.text=- +KeywordSearchGlobalSearchSettingsPanel.filesIndexedLabel.text=Files in keyword index: +KeywordSearchGlobalSearchSettingsPanel.showSnippetsCB.text=Show Keyword Preview in Keyword Search Results (will result in longer search times) +KeywordSearchGlobalSearchSettingsPanel.chunksValLabel.text=- +KeywordSearchGlobalSearchSettingsPanel.timeRadioButton4.toolTipText=1 minute (overall ingest time will be longest) +KeywordSearchGlobalSearchSettingsPanel.timeRadioButton4.text_1=1 minute (faster feedback, longest ingest) +KeywordSearchGlobalSearchSettingsPanel.chunksLabel.text=Chunks in keyword index: +KeywordSearchGlobalSearchSettingsPanel.timeRadioButton3.toolTipText=5 minutes (overall ingest time will be longer) +KeywordSearchGlobalSearchSettingsPanel.timeRadioButton3.text=5 minutes (default) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties index 2b520e0e73..7810f857ff 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties @@ -26,7 +26,6 @@ KeywordSearchEditListPanel.copyMenuItem.text=\u30b3\u30d4\u30fc KeywordSearchEditListPanel.exportButton.text=\u30ea\u30b9\u30c8\u3092\u30a8\u30af\u30b9\u30dd\u30fc\u30c8 KeywordSearchEditListPanel.deleteListButton.text=\u30ea\u30b9\u30c8\u3092\u524a\u9664 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.regExCheckboxMenuItem.text=\u6b63\u898f\u8868\u73fe\u3092\u4f7f\u7528 @@ -41,35 +40,12 @@ ExtractedContentPanel.pageButtonsLabel.text=\u30da\u30fc\u30b8 ExtractedContentPanel.pagesLabel.text=\u30da\u30fc\u30b8\uff1a 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\u306b\u9078\u629e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 -KeywordSearchConfigurationPanel2.filesIndexedLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5185\u306e\u30d5\u30a1\u30a4\u30eb\uff1a -KeywordSearchIngestSimplePanel.languagesLabel.text=\u4e0d\u660e\u306a\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u304b\u3089\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u3092\u6709\u52b9\u306b\u3057\u305f\u30b9\u30af\u30ea\u30d7\u30c8\uff1a -KeywordSearchIngestSimplePanel.languagesLabel.toolTipText=\u4e0d\u660e\u306a\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u304b\u3089\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u3092\u6709\u52b9\u306b\u3057\u305f\u30b9\u30af\u30ea\u30d7\u30c8\u3002\u30a2\u30c9\u30d0\u30f3\u30b9\u8a2d\u5b9a\u304b\u3089\u5909\u66f4\u304c\u53ef\u80fd\u3067\u3059\u3002 -KeywordSearchConfigurationPanel3.languagesLabel.text=\u6709\u52b9\u306a\u30b9\u30af\u30ea\u30d7\u30c8\uff08\u8a00\u8a9e\uff09\uff1a -KeywordSearchConfigurationPanel2.chunksLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5185\u306e\u30c1\u30e3\u30f3\u30af\uff1a -KeywordSearchConfigurationPanel3.enableUTF8Checkbox.text=UTF8\u30c6\u30ad\u30b9\u30c8\u62bd\u51fa\u306e\u6709\u52b9\u5316 -KeywordSearchConfigurationPanel3.enableUTF16Checkbox.text=UTF16LE\u3068UTF16BE\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u306e\u6709\u52b9\u5316 KeywordSearchEditListPanel.keywordOptionsLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30aa\u30d7\u30b7\u30e7\u30f3 KeywordSearchEditListPanel.listOptionsLabel.text=\u30ea\u30b9\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3 -KeywordSearchConfigurationPanel3.ingestSettingsLabel.text=\u4e0d\u660e\u306a\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u304b\u3089\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u306e\u51e6\u7406\u65b9\u6cd5\u306e\u8a2d\u5b9a\uff08\u5909\u66f4\u306f\u6b21\u56de\u306e\u51e6\u7406\u304b\u3089\u6709\u52b9\uff09\uff1a -KeywordSearchConfigurationPanel2.settingsLabel.text=\u8a2d\u5b9a -KeywordSearchConfigurationPanel2.informationLabel.text=\u30a4\u30f3\u30d5\u30a9\u30e1\u30fc\u30b7\u30e7\u30f3 KeywordSearchListsManagementPanel.keywordListsLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\uff1a KeywordSearchEditListPanel.keywordsLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\uff1a -KeywordSearchConfigurationPanel2.timeRadioButton1.toolTipText=\uff12\uff10\u5206\uff08\u6700\u77ed\u306e\u51e6\u7406\u6642\u9593\uff09 -KeywordSearchConfigurationPanel2.timeRadioButton1.text=\uff12\uff10\u5206\uff08\u6700\u3082\u9045\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u6700\u77ed\u306e\u51e6\u7406\u6642\u9593\uff09 -KeywordSearchConfigurationPanel2.timeRadioButton2.toolTipText=\uff11\uff10\u5206\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u3088\u308a\u5168\u4f53\u7684\u306b\u901f\u3044\u51e6\u7406\u6642\u9593\uff09 -KeywordSearchConfigurationPanel2.timeRadioButton2.text=\uff11\uff10\u5206\uff08\u3088\u308a\u9045\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u3088\u308a\u901f\u3044\u51e6\u7406\u6642\u9593\uff09 -KeywordSearchConfigurationPanel2.timeRadioButton3.toolTipText=\uff15\u5206\uff08\u5168\u4f53\u7684\u306a\u51e6\u7406\u6642\u9593\u304c\u9577\u304f\u306a\u308a\u307e\u3059\uff09 -KeywordSearchConfigurationPanel2.timeRadioButton3.text=\uff15\u5206\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\uff09 -KeywordSearchIngestSimplePanel.encodingsLabel.text=\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\uff1a -KeywordSearchIngestSimplePanel.titleLabel.text=\u51e6\u7406\u4e2d\u306b\u6709\u52b9\u306a\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u9078\u629e\uff1a OpenIDE-Module-Short-Description=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u51e6\u7406\u30e2\u30b8\u30e5\u30fc\u30eb\u3001\u62bd\u51fa\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u30d3\u30e5\u30fc\u30a2\u3001\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30c4\u30fc\u30eb KeywordSearchListsViewerPanel.manageListsButton.toolTipText=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3001\u30ea\u30b9\u30c8\u306e\u8a2d\u5b9a\u3068\u95a2\u9023\u3059\u308b\u30ad\u30fc\u30ef\u30fc\u30c9\u306e\u7ba1\u7406\u3002\u3053\u306e\u8a2d\u5b9a\u306f\u5168\u3066\u306e\u30b1\u30fc\u30b9\u306b\u9069\u7528\u3055\u308c\u307e\u3059\u3002 -KeywordSearchConfigurationPanel2.frequencyLabel.text=\u51e6\u7406\u4e2d\u306e\u7d50\u679c\u66f4\u65b0\u306e\u983b\u5ea6\uff1a -KeywordSearchConfigurationPanel2.timeRadioButton4.text_1=\uff11\u5206\uff08\u3088\u308a\u901f\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u6700\u3082\u9577\u3044\u51e6\u7406\u6642\u9593\uff09 -KeywordSearchConfigurationPanel2.timeRadioButton4.toolTipText=\uff11\u5206\uff08\u5168\u4f53\u7684\u306a\u51e6\u7406\u6642\u9593\u304c\u9577\u304f\u306a\u308a\u307e\u3059\uff09 AbstractKeywordSearchPerformer.search.dialogErrorHeader=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a8\u30e9\u30fc AbstractKeywordSearchPerformer.search.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 @@ -171,10 +147,6 @@ 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} @@ -255,4 +227,30 @@ KeywordSearchIngestModule.doInBackGround.cancelMsg=\uff08\u30ad\u30e3\u30f3\u30b Server.addDoc.exception.msg2=\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u30cf\u30f3\u30c9\u30e9\u30fc\u3092\u4f7f\u7528\u3057\u307e\u3057\u305f\u304c\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u4e0b\u8a18\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff1a{0} ExtractedContentViewer.getSolrContent.txtBodyItal={0} Keyword.toString.text=Keyword'{'query\={0}, isLiteral\={1}, keywordType\={2}'}' - +KeywordSearchJobSettingsPanel.keywordSearchEncodings.text=- +KeywordSearchJobSettingsPanel.languagesValLabel.text=- +KeywordSearchJobSettingsPanel.encodingsLabel.text=\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\uff1a +KeywordSearchJobSettingsPanel.titleLabel.text=\u51e6\u7406\u4e2d\u306b\u6709\u52b9\u306a\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u9078\u629e\uff1a +KeywordSearchJobSettingsPanel.languagesLabel.toolTipText=\u4e0d\u660e\u306a\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u304b\u3089\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u3092\u6709\u52b9\u306b\u3057\u305f\u30b9\u30af\u30ea\u30d7\u30c8\u3002\u30a2\u30c9\u30d0\u30f3\u30b9\u8a2d\u5b9a\u304b\u3089\u5909\u66f4\u304c\u53ef\u80fd\u3067\u3059\u3002 +KeywordSearchJobSettingsPanel.languagesLabel.text=\u4e0d\u660e\u306a\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u304b\u3089\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u3092\u6709\u52b9\u306b\u3057\u305f\u30b9\u30af\u30ea\u30d7\u30c8\uff1a +KeywordSearchGlobalLanguageSettingsPanel.enableUTF8Checkbox.text=UTF8\u30c6\u30ad\u30b9\u30c8\u62bd\u51fa\u306e\u6709\u52b9\u5316 +KeywordSearchGlobalLanguageSettingsPanel.ingestSettingsLabel.text=\u4e0d\u660e\u306a\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u304b\u3089\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u306e\u51e6\u7406\u65b9\u6cd5\u306e\u8a2d\u5b9a\uff08\u5909\u66f4\u306f\u6b21\u56de\u306e\u51e6\u7406\u304b\u3089\u6709\u52b9\uff09\uff1a +KeywordSearchGlobalLanguageSettingsPanel.enableUTF16Checkbox.text=UTF16LE\u3068UTF16BE\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u306e\u6709\u52b9\u5316 +KeywordSearchGlobalLanguageSettingsPanel.languagesLabel.text=\u6709\u52b9\u306a\u30b9\u30af\u30ea\u30d7\u30c8\uff08\u8a00\u8a9e\uff09\uff1a +KeywordSearchGlobalSearchSettingsPanel.timeRadioButton1.toolTipText=\uff12\uff10\u5206\uff08\u6700\u77ed\u306e\u51e6\u7406\u6642\u9593\uff09 +KeywordSearchGlobalSearchSettingsPanel.timeRadioButton1.text=\uff12\uff10\u5206\uff08\u6700\u3082\u9045\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u6700\u77ed\u306e\u51e6\u7406\u6642\u9593\uff09 +KeywordSearchGlobalSearchSettingsPanel.timeRadioButton2.toolTipText=\uff11\uff10\u5206\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u3088\u308a\u5168\u4f53\u7684\u306b\u901f\u3044\u51e6\u7406\u6642\u9593\uff09 +KeywordSearchGlobalSearchSettingsPanel.timeRadioButton2.text=\uff11\uff10\u5206\uff08\u3088\u308a\u9045\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u3088\u308a\u901f\u3044\u51e6\u7406\u6642\u9593\uff09 +KeywordSearchGlobalSearchSettingsPanel.frequencyLabel.text=\u51e6\u7406\u4e2d\u306e\u7d50\u679c\u66f4\u65b0\u306e\u983b\u5ea6\uff1a +KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.toolTipText=Hash DB\u30b5\u30fc\u30d3\u30b9\u3092\u4e8b\u524d\u306b\u5b9f\u884c\u3059\u308b\u304b\u3001\u6b21\u56de\u306e\u51e6\u7406\u306b\u9078\u629e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 +KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.text=\u51e6\u7406\u4e2d\u306bNSRL\u306e\u30d5\u30a1\u30a4\u30eb\uff08\u65e2\u77e5\u306e\u30d5\u30a1\u30a4\u30eb\uff09\u3092\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u8ffd\u52a0\u3057\u306a\u3044 +KeywordSearchGlobalSearchSettingsPanel.informationLabel.text=\u30a4\u30f3\u30d5\u30a9\u30e1\u30fc\u30b7\u30e7\u30f3 +KeywordSearchGlobalSearchSettingsPanel.settingsLabel.text=\u8a2d\u5b9a +KeywordSearchGlobalSearchSettingsPanel.filesIndexedValue.text=- +KeywordSearchGlobalSearchSettingsPanel.filesIndexedLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5185\u306e\u30d5\u30a1\u30a4\u30eb\uff1a +KeywordSearchGlobalSearchSettingsPanel.chunksValLabel.text=- +KeywordSearchGlobalSearchSettingsPanel.timeRadioButton4.toolTipText=\uff11\u5206\uff08\u5168\u4f53\u7684\u306a\u51e6\u7406\u6642\u9593\u304c\u9577\u304f\u306a\u308a\u307e\u3059\uff09 +KeywordSearchGlobalSearchSettingsPanel.timeRadioButton4.text_1=\uff11\u5206\uff08\u3088\u308a\u901f\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u6700\u3082\u9577\u3044\u51e6\u7406\u6642\u9593\uff09 +KeywordSearchGlobalSearchSettingsPanel.chunksLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5185\u306e\u30c1\u30e3\u30f3\u30af\uff1a +KeywordSearchGlobalSearchSettingsPanel.timeRadioButton3.toolTipText=\uff15\u5206\uff08\u5168\u4f53\u7684\u306a\u51e6\u7406\u6642\u9593\u304c\u9577\u304f\u306a\u308a\u307e\u3059\uff09 +KeywordSearchGlobalSearchSettingsPanel.timeRadioButton3.text=\uff15\u5206\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\uff09 diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordListsManager.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordListsManager.java deleted file mode 100755 index ddddf76115..0000000000 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordListsManager.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Autopsy Forensic Browser - * - * Copyright 2014 Basis Technology Corp. - * Contact: carrier sleuthkit org - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.sleuthkit.autopsy.keywordsearch; - -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; -import org.sleuthkit.autopsy.coreutils.Logger; - -/** - * Keeps track, by name, of the keyword lists to be used for file ingest. - */ -// Note: This is a first step towards a keyword lists manager; it consists of -// the portion of the keyword list management code that resided in the keyword -// search file ingest module. -final class KeywordListsManager { - - private static KeywordListsManager instance = null; - private final Logger logger = Logger.getLogger(KeywordListsManager.class.getName()); - private final List keywordListNames = new ArrayList<>(); - private final List keywords = new ArrayList<>(); - - /** - * Gets the keyword lists manager singleton. - */ - static synchronized KeywordListsManager getInstance() { - if (null == instance) { - instance = new KeywordListsManager(); - } - return instance; - } - - private KeywordListsManager() { - addKeywordListsForFileIngest(null); - } - - /** - * Sets the keyword lists to be used for ingest. The lists that are used - * will be the union of the lists enabled using the keyword search global - * options panel and a selection, possibly empty, of the disabled lists. - * - * @param listNames The names of disabled lists to temporarily enable - */ - synchronized void addKeywordListsForFileIngest(List listNames) { - keywords.clear(); - keywordListNames.clear(); - - StringBuilder logMessage = new StringBuilder(); - KeywordSearchListsXML globalKeywordSearchOptions = KeywordSearchListsXML.getCurrent(); - for (KeywordList list : globalKeywordSearchOptions.getListsL()) { - String listName = list.getName(); - if ((list.getUseForIngest() == true) || (listNames != null && listNames.contains(listName))) { - keywordListNames.add(listName); - logMessage.append(listName).append(" "); - } - - for (Keyword keyword : list.getKeywords()) { - if (!keywords.contains(keyword)) { - keywords.add(keyword); - } - } - } - - logger.log(Level.INFO, "Keyword lists for file ingest set to: {0}", logMessage.toString()); - } - - /** - * Returns the keyword lists to be used for ingest, by name. - * - * @return The names of the enabled keyword lists - */ - synchronized List getNamesOfKeywordListsForFileIngest() { - return new ArrayList<>(keywordListNames); - } - - /** - * Indicates whether or not there are currently keywords for which to search - * during ingest. - * - * @return True if there are no keywords specified, false otherwise - */ - synchronized boolean hasNoKeywordsForSearch() { - return (keywords.isEmpty()); - } -} diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchConfigurationAction.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchConfigurationAction.java index faa4f9688e..d22a6d4ad6 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchConfigurationAction.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchConfigurationAction.java @@ -33,11 +33,11 @@ import org.sleuthkit.autopsy.corecomponents.AdvancedConfigurationDialog; class KeywordSearchConfigurationAction extends CallableSystemAction{ private static final String ACTION_NAME = org.openide.util.NbBundle.getMessage(KeywordSearchPanel.class, "ListBundleConfig"); - private KeywordSearchConfigurationPanel panel; + private KeywordSearchGlobalSettingsPanel panel; @Override public void performAction() { - final KeywordSearchConfigurationPanel panel = getPanel(); + final KeywordSearchGlobalSettingsPanel panel = getPanel(); panel.load(); final AdvancedConfigurationDialog dialog = new AdvancedConfigurationDialog(); dialog.addApplyButtonListener(new ActionListener() { @@ -60,9 +60,9 @@ class KeywordSearchConfigurationAction extends CallableSystemAction{ dialog.display(panel); } - private KeywordSearchConfigurationPanel getPanel() { + private KeywordSearchGlobalSettingsPanel getPanel() { if(panel==null) { - panel = new KeywordSearchConfigurationPanel(); + panel = new KeywordSearchGlobalSettingsPanel(); } return panel; } diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchEditListPanel.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchEditListPanel.form index 8e9ae1651c..1f31418be7 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchEditListPanel.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchEditListPanel.form @@ -103,19 +103,18 @@ - + + - + - + - - - + @@ -147,17 +146,15 @@ - - - + - + - + @@ -190,16 +187,6 @@ - - - - - - - - - - @@ -265,9 +252,6 @@ - - - diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchEditListPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchEditListPanel.java index 623fc73cfa..4d0d3f75c0 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchEditListPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchEditListPanel.java @@ -16,10 +16,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.sleuthkit.autopsy.keywordsearch; -import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.beans.PropertyChangeEvent; @@ -33,8 +31,6 @@ import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; -import javax.swing.DefaultListSelectionModel; -import javax.swing.JCheckBox; import javax.swing.JFileChooser; import javax.swing.JMenuItem; import javax.swing.JTable; @@ -43,32 +39,29 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.table.AbstractTableModel; -import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; import org.sleuthkit.autopsy.corecomponents.OptionsPanel; import org.sleuthkit.autopsy.ingest.IngestManager; import org.sleuthkit.autopsy.ingest.IngestManager.IngestEvent; -import org.sleuthkit.datamodel.BlackboardAttribute; /** - * KeywordSearchEditListPanel widget to manage keywords in lists + * KeywordSearchEditListPanel widget to manage keywords in lists */ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelectionListener, OptionsPanel { private static Logger logger = Logger.getLogger(KeywordSearchEditListPanel.class.getName()); private KeywordTableModel tableModel; private KeywordList currentKeywordList; - - private boolean ingestRunning; - /** Creates new form KeywordSearchEditListPanel */ + /** + * Creates new form KeywordSearchEditListPanel + */ KeywordSearchEditListPanel() { tableModel = new KeywordTableModel(); initComponents(); customizeComponents(); } - private void customizeComponents() { chRegex.setToolTipText(NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.customizeComponents.kwReToolTip")); @@ -78,17 +71,12 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec saveListButton.setToolTipText(NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.customizeComponents.saveCurrentWIthNewNameToolTip")); deleteWordButton.setToolTipText(NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.customizeComponents.removeSelectedMsg")); - //keywordTable.setAutoscrolls(true); - //keywordTable.setTableHeader(null); keywordTable.setShowHorizontalLines(false); keywordTable.setShowVerticalLines(false); - keywordTable.getParent().setBackground(keywordTable.getBackground()); - - //customize column witdhs final int width = jScrollPane1.getPreferredSize().width; keywordTable.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN); - TableColumn column = null; + TableColumn column; for (int i = 0; i < keywordTable.getColumnCount(); i++) { column = keywordTable.getColumnModel().getColumn(i); if (i == 0) { @@ -103,41 +91,20 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec final ListSelectionModel lsm = keywordTable.getSelectionModel(); lsm.addListSelectionListener(new ListSelectionListener() { - @Override public void valueChanged(ListSelectionEvent e) { if (lsm.isSelectionEmpty() || currentKeywordList.isLocked()) { deleteWordButton.setEnabled(false); - return; } else { deleteWordButton.setEnabled(true); } - - //show selector if available - DefaultListSelectionModel selModel = (DefaultListSelectionModel) e.getSource(); - if (!selModel.getValueIsAdjusting()) { - List keywords = currentKeywordList.getKeywords(); - final int minIndex = selModel.getMinSelectionIndex(); - final int maxIndex = selModel.getMaxSelectionIndex(); - int selected = -1; - for (int i = minIndex; i <= maxIndex; i++) { - if (selModel.isSelectedIndex(i)) { - selected = i; - break; - } - } - } } }); - //loadDefaultKeywords(); - - initButtons(); addWordField.setComponentPopupMenu(rightClickMenu); ActionListener actList = new ActionListener() { - @Override public void actionPerformed(ActionEvent e) { JMenuItem jmi = (JMenuItem) e.getSource(); @@ -157,8 +124,6 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec pasteMenuItem.addActionListener(actList); selectAllMenuItem.addActionListener(actList); - - if (IngestManager.getDefault().isIngestRunning()) { initIngest(0); } else { @@ -166,18 +131,17 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec } IngestManager.addPropertyChangeListener(new PropertyChangeListener() { - @Override public void propertyChange(PropertyChangeEvent evt) { String changed = evt.getPropertyName(); Object oldValue = evt.getOldValue(); - if (changed.equals(IngestEvent.COMPLETED.toString() ) + if (changed.equals(IngestEvent.COMPLETED.toString()) && ((String) oldValue).equals(KeywordSearchModuleFactory.getModuleName())) { initIngest(1); - } else if (changed.equals(IngestEvent.STARTED.toString() ) + } else if (changed.equals(IngestEvent.STARTED.toString()) && ((String) oldValue).equals(KeywordSearchModuleFactory.getModuleName())) { initIngest(0); - } else if (changed.equals(IngestEvent.STOPPED.toString() ) + } else if (changed.equals(IngestEvent.STOPPED.toString()) && ((String) oldValue).equals(KeywordSearchModuleFactory.getModuleName())) { initIngest(1); } @@ -185,11 +149,10 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec }); } - /** + /** * Initialize this panel depending on whether ingest is running - * @param running - * case 0: ingest running - * case 1: ingest not running + * + * @param running case 0: ingest running case 1: ingest not running */ private void initIngest(int running) { switch (running) { @@ -204,43 +167,22 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec } void initButtons() { - //initialize buttons - // Certain buttons will be disabled if no list is set boolean listSet = currentKeywordList != null; - // Certain buttons will be disabled if ingest is ongoing - boolean ingestOngoing = this.ingestRunning; - // Certain buttons will be disabled if ingest is ongoing on this list - boolean useForIngest = !listSet ? false : currentKeywordList.getUseForIngest(); - // Certain buttons will be disabled if the list shouldn't send ingest messages - boolean sendIngestMessages = !listSet ? false : currentKeywordList.getIngestMessages(); - // Certain buttons will be disabled if the selected list is locked boolean isLocked = !listSet ? true : currentKeywordList.isLocked(); - // Certain buttons will be disabled if no keywords are set boolean noKeywords = !listSet ? true : currentKeywordList.getKeywords().isEmpty(); - - // Certain buttons will be disabled if ingest is ongoing on this list - List ingestLists = new ArrayList<>(); - if (ingestOngoing) { - ingestLists = KeywordListsManager.getInstance().getNamesOfKeywordListsForFileIngest(); - } - boolean inIngest = !listSet ? false : ingestLists.contains(currentKeywordList.getName()); - - addWordButton.setEnabled(listSet && (!ingestOngoing || !inIngest) && !isLocked); - addWordField.setEnabled(listSet && (!ingestOngoing || !inIngest) && !isLocked); - chRegex.setEnabled(listSet && (!ingestOngoing || !inIngest) && !isLocked); + addWordButton.setEnabled(listSet && !ingestRunning && !isLocked); + addWordField.setEnabled(listSet && !ingestRunning && !isLocked); + chRegex.setEnabled(listSet && ingestRunning && !isLocked); keywordOptionsLabel.setEnabled(addWordButton.isEnabled() || chRegex.isEnabled()); keywordOptionsSeparator.setEnabled(addWordButton.isEnabled() || chRegex.isEnabled()); - useForIngestCheckbox.setEnabled(listSet && (!ingestOngoing || !inIngest)); - useForIngestCheckbox.setSelected(useForIngest); - ingestMessagesCheckbox.setEnabled(useForIngestCheckbox.isEnabled() && useForIngestCheckbox.isSelected()); - ingestMessagesCheckbox.setSelected(sendIngestMessages); - listOptionsLabel.setEnabled(useForIngestCheckbox.isEnabled() || ingestMessagesCheckbox.isEnabled()); - listOptionsSeparator.setEnabled(useForIngestCheckbox.isEnabled() || ingestMessagesCheckbox.isEnabled()); + ingestMessagesCheckbox.setEnabled(listSet && !ingestRunning); + ingestMessagesCheckbox.setSelected(!listSet ? false : currentKeywordList.getIngestMessages()); + listOptionsLabel.setEnabled(ingestMessagesCheckbox.isEnabled()); + listOptionsSeparator.setEnabled(ingestMessagesCheckbox.isEnabled()); saveListButton.setEnabled(listSet); exportButton.setEnabled(listSet); - deleteListButton.setEnabled(listSet && (!ingestOngoing || !inIngest) && !isLocked); - deleteWordButton.setEnabled(listSet && (!ingestOngoing || !inIngest) && !isLocked); - + deleteListButton.setEnabled(listSet && !ingestRunning && !isLocked); + deleteWordButton.setEnabled(listSet && !ingestRunning && !isLocked); if (noKeywords) { saveListButton.setEnabled(false); exportButton.setEnabled(false); @@ -251,10 +193,10 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec } } - /** This method is called from within the constructor to - * initialize the form. - * WARNING: Do NOT modify this code. The content of this method is - * always regenerated by the Form Editor. + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents @@ -268,7 +210,6 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec listEditorPanel = new javax.swing.JPanel(); jScrollPane1 = new javax.swing.JScrollPane(); keywordTable = new javax.swing.JTable(); - useForIngestCheckbox = new javax.swing.JCheckBox(); addKeywordPanel = new javax.swing.JPanel(); addWordButton = new javax.swing.JButton(); addWordField = new javax.swing.JTextField(); @@ -308,13 +249,6 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec keywordTable.getTableHeader().setReorderingAllowed(false); jScrollPane1.setViewportView(keywordTable); - useForIngestCheckbox.setText(org.openide.util.NbBundle.getMessage(KeywordSearchEditListPanel.class, "KeywordSearchEditListPanel.useForIngestCheckbox.text")); // NOI18N - useForIngestCheckbox.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - useForIngestCheckboxActionPerformed(evt); - } - }); - addWordButton.setText(org.openide.util.NbBundle.getMessage(KeywordSearchEditListPanel.class, "KeywordSearchEditListPanel.addWordButton.text")); // NOI18N addWordButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { @@ -330,11 +264,6 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec }); chRegex.setText(org.openide.util.NbBundle.getMessage(KeywordSearchEditListPanel.class, "KeywordSearchEditListPanel.chRegex.text")); // NOI18N - chRegex.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - chRegexActionPerformed(evt); - } - }); deleteWordButton.setText(org.openide.util.NbBundle.getMessage(KeywordSearchEditListPanel.class, "KeywordSearchEditListPanel.deleteWordButton.text")); // NOI18N deleteWordButton.addActionListener(new java.awt.event.ActionListener() { @@ -427,15 +356,14 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec .addGroup(listEditorPanelLayout.createSequentialGroup() .addGap(10, 10, 10) .addGroup(listEditorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(ingestMessagesCheckbox) .addGroup(listEditorPanelLayout.createSequentialGroup() .addComponent(exportButton) - .addGap(18, 18, 18) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(saveListButton) - .addGap(18, 18, 18) - .addComponent(deleteListButton)) - .addComponent(useForIngestCheckbox) - .addComponent(ingestMessagesCheckbox)))) - .addGap(0, 0, Short.MAX_VALUE))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(deleteListButton))))) + .addGap(0, 44, Short.MAX_VALUE))) .addContainerGap()))) ); listEditorPanelLayout.setVerticalGroup( @@ -457,16 +385,14 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec .addGroup(listEditorPanelLayout.createSequentialGroup() .addGap(123, 123, 123) .addComponent(listOptionsSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 6, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addGap(7, 7, 7) - .addComponent(useForIngestCheckbox) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGap(18, 18, 18) .addComponent(ingestMessagesCheckbox) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 13, Short.MAX_VALUE) .addGroup(listEditorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(exportButton) .addComponent(saveListButton) .addComponent(deleteListButton)) - .addContainerGap()) + .addGap(42, 42, 42)) ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); @@ -494,7 +420,6 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec return; } - //check if valid boolean valid = true; try { @@ -520,13 +445,11 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec }//GEN-LAST:event_addWordButtonActionPerformed private void deleteWordButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteWordButtonActionPerformed - if (KeywordSearchUtil.displayConfirmDialog(NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.removeKwMsg") - , NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.deleteWordButtonActionPerformed.delConfirmMsg") - , KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN) ) { - - tableModel.deleteSelected(keywordTable.getSelectedRows()); - KeywordSearchListsXML.getCurrent().addList(currentKeywordList); - initButtons(); + if (KeywordSearchUtil.displayConfirmDialog(NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.removeKwMsg"), NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.deleteWordButtonActionPerformed.delConfirmMsg"), KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN)) { + + tableModel.deleteSelected(keywordTable.getSelectedRows()); + KeywordSearchListsXML.getCurrent().addList(currentKeywordList); + initButtons(); } }//GEN-LAST:event_deleteWordButtonActionPerformed @@ -564,16 +487,15 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec if (selFile.exists()) { shouldWrite = KeywordSearchUtil.displayConfirmDialog(FEATURE_NAME, NbBundle.getMessage(this.getClass(), "KeywordSearchEditListPanel.exportButtonActionPerformed.fileExistPrompt", - selFile.getName()), KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN); + selFile.getName()), KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN); } if (!shouldWrite) { return; } - KeywordSearchListsXML reader = KeywordSearchListsXML.getCurrent(); - List toWrite = new ArrayList(); + List toWrite = new ArrayList<>(); toWrite.add(reader.getList(currentKeywordList.getName())); final KeywordSearchListsXML exporter = new KeywordSearchListsXML(fileAbs); boolean written = exporter.saveLists(toWrite); @@ -585,22 +507,11 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec } }//GEN-LAST:event_exportButtonActionPerformed - private void chRegexActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chRegexActionPerformed - }//GEN-LAST:event_chRegexActionPerformed - -private void useForIngestCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_useForIngestCheckboxActionPerformed - ingestMessagesCheckbox.setEnabled(useForIngestCheckbox.isSelected()); - currentKeywordList.setUseForIngest(useForIngestCheckbox.isSelected()); - KeywordSearchListsXML updater = KeywordSearchListsXML.getCurrent(); - updater.addList(currentKeywordList); -}//GEN-LAST:event_useForIngestCheckboxActionPerformed - private void ingestMessagesCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ingestMessagesCheckboxActionPerformed currentKeywordList.setIngestMessages(ingestMessagesCheckbox.isSelected()); KeywordSearchListsXML updater = KeywordSearchListsXML.getCurrent(); updater.addList(currentKeywordList); }//GEN-LAST:event_ingestMessagesCheckboxActionPerformed - // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JPanel addKeywordPanel; private javax.swing.JButton addWordButton; @@ -624,7 +535,6 @@ private void useForIngestCheckboxActionPerformed(java.awt.event.ActionEvent evt) private javax.swing.JPopupMenu rightClickMenu; private javax.swing.JButton saveListButton; private javax.swing.JMenuItem selectAllMenuItem; - private javax.swing.JCheckBox useForIngestCheckbox; // End of variables declaration//GEN-END:variables @Override @@ -656,26 +566,24 @@ private void useForIngestCheckboxActionPerformed(java.awt.event.ActionEvent evt) public void load() { // Implemented by parent panel } - + KeywordList getCurrentKeywordList() { return currentKeywordList; } - + void setCurrentKeywordList(KeywordList list) { currentKeywordList = list; } - + void addDeleteButtonActionPerformed(ActionListener l) { deleteListButton.addActionListener(l); } - + void addSaveButtonActionPerformed(ActionListener l) { saveListButton.addActionListener(l); } - private class KeywordTableModel extends AbstractTableModel { - //data @Override public int getColumnCount() { @@ -708,7 +616,7 @@ private void useForIngestCheckboxActionPerformed(java.awt.event.ActionEvent evt) @Override public Object getValueAt(int rowIndex, int columnIndex) { Object ret = null; - if(currentKeywordList == null) { + if (currentKeywordList == null) { return ""; } Keyword word = currentKeywordList.getKeywords().get(rowIndex); @@ -720,7 +628,7 @@ private void useForIngestCheckboxActionPerformed(java.awt.event.ActionEvent evt) ret = (Object) !word.isLiteral(); break; default: - logger.log(Level.SEVERE, "Invalid table column index: " + columnIndex); + logger.log(Level.SEVERE, "Invalid table column index: {0}", columnIndex); break; } return ret; @@ -741,7 +649,7 @@ private void useForIngestCheckboxActionPerformed(java.awt.event.ActionEvent evt) } void addKeyword(Keyword keyword) { - if(!currentKeywordList.hasKeyword(keyword)) { + if (!currentKeywordList.hasKeyword(keyword)) { currentKeywordList.getKeywords().add(keyword); } fireTableDataChanged(); @@ -755,37 +663,10 @@ private void useForIngestCheckboxActionPerformed(java.awt.event.ActionEvent evt) void deleteSelected(int[] selected) { List words = currentKeywordList.getKeywords(); Arrays.sort(selected); - for(int arrayi = selected.length-1; arrayi >= 0; arrayi--) { + for (int arrayi = selected.length - 1; arrayi >= 0; arrayi--) { words.remove(selected[arrayi]); } resync(); } - - } - - private class CheckBoxRenderer extends JCheckBox implements TableCellRenderer { - - @Override - public Component getTableCellRendererComponent( - JTable table, Object value, - boolean isSelected, boolean hasFocus, - int row, int column) { - - this.setHorizontalAlignment(JCheckBox.CENTER); - this.setVerticalAlignment(JCheckBox.CENTER); - - Boolean selected = (Boolean) table.getModel().getValueAt(row, 1); - setSelected(selected); - if (isSelected) { - setBackground(keywordTable.getSelectionBackground()); - setForeground(keywordTable.getSelectionForeground()); - } else { - setBackground(keywordTable.getBackground()); - setForeground(keywordTable.getForeground()); - } - setEnabled(false); - - return this; - } } } diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchConfigurationPanel3.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchGlobalLanguageSettingsPanel.form similarity index 89% rename from KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchConfigurationPanel3.form rename to KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchGlobalLanguageSettingsPanel.form index 828ee693cd..563fa4c57b 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchConfigurationPanel3.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchGlobalLanguageSettingsPanel.form @@ -58,7 +58,7 @@ - + @@ -96,7 +96,7 @@ - + @@ -106,7 +106,7 @@ - + @@ -116,7 +116,7 @@ - + diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchConfigurationPanel3.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchGlobalLanguageSettingsPanel.java similarity index 87% rename from KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchConfigurationPanel3.java rename to KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchGlobalLanguageSettingsPanel.java index cd74942a82..5fc9649427 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchConfigurationPanel3.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchGlobalLanguageSettingsPanel.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2012 Basis Technology Corp. + * Copyright 2012-2014 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -26,7 +26,6 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.sleuthkit.autopsy.coreutils.Logger; import javax.swing.JCheckBox; import org.sleuthkit.autopsy.corecomponents.OptionsPanel; import org.sleuthkit.autopsy.coreutils.StringExtract; @@ -34,38 +33,24 @@ import org.sleuthkit.autopsy.coreutils.StringExtract.StringExtractUnicodeTable.S import org.sleuthkit.autopsy.ingest.IngestManager; /** - * Advanced configuration panel handling languages config. + * Child panel of the global settings panel (Languages tab). */ -class KeywordSearchConfigurationPanel3 extends javax.swing.JPanel implements OptionsPanel { +class KeywordSearchGlobalLanguageSettingsPanel extends javax.swing.JPanel implements OptionsPanel { - private static KeywordSearchConfigurationPanel3 instance = null; - private final Logger logger = Logger.getLogger(KeywordSearchConfigurationPanel3.class.getName()); - private final Map scripts = new HashMap(); + private final Map scripts = new HashMap<>(); private ActionListener updateLanguagesAction; private List