mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-17 02:07:42 +00:00
move encoding options to StringsTextExtractor
This commit is contained in:
parent
9b85284194
commit
c94d3de872
@ -28,14 +28,6 @@ import org.sleuthkit.datamodel.AbstractFile;
|
|||||||
*/
|
*/
|
||||||
abstract class FileTextExtractor<AppendixProvider> extends TextExtractor<AppendixProvider, AbstractFile> {
|
abstract class FileTextExtractor<AppendixProvider> extends TextExtractor<AppendixProvider, AbstractFile> {
|
||||||
|
|
||||||
/**
|
|
||||||
* Common options that can be used by some extractors
|
|
||||||
*/
|
|
||||||
enum ExtractOptions {
|
|
||||||
|
|
||||||
EXTRACT_UTF16, ///< extract UTF16 text, possible values Boolean.TRUE.toString(), Boolean.FALSE.toString()
|
|
||||||
EXTRACT_UTF8, ///< extract UTF8 text, possible values Boolean.TRUE.toString(), Boolean.FALSE.toString()
|
|
||||||
};
|
|
||||||
|
|
||||||
static final List<String> BLOB_MIME_TYPES
|
static final List<String> BLOB_MIME_TYPES
|
||||||
= Arrays.asList(
|
= Arrays.asList(
|
||||||
|
@ -103,12 +103,12 @@ class KeywordSearchGlobalLanguageSettingsPanel extends javax.swing.JPanel implem
|
|||||||
|
|
||||||
private void reloadScriptsCheckBoxes() {
|
private void reloadScriptsCheckBoxes() {
|
||||||
boolean utf16
|
boolean utf16
|
||||||
= Boolean.parseBoolean(KeywordSearchSettings.getStringExtractOption(FileTextExtractor.ExtractOptions.EXTRACT_UTF16.toString()));
|
= Boolean.parseBoolean(KeywordSearchSettings.getStringExtractOption(StringsTextExtractor.ExtractOptions.EXTRACT_UTF16.toString()));
|
||||||
|
|
||||||
enableUTF16Checkbox.setSelected(utf16);
|
enableUTF16Checkbox.setSelected(utf16);
|
||||||
|
|
||||||
boolean utf8
|
boolean utf8
|
||||||
= Boolean.parseBoolean(KeywordSearchSettings.getStringExtractOption(FileTextExtractor.ExtractOptions.EXTRACT_UTF8.toString()));
|
= Boolean.parseBoolean(KeywordSearchSettings.getStringExtractOption(StringsTextExtractor.ExtractOptions.EXTRACT_UTF8.toString()));
|
||||||
enableUTF8Checkbox.setSelected(utf8);
|
enableUTF8Checkbox.setSelected(utf8);
|
||||||
|
|
||||||
final List<SCRIPT> serviceScripts = KeywordSearchSettings.getStringExtractScripts();
|
final List<SCRIPT> serviceScripts = KeywordSearchSettings.getStringExtractScripts();
|
||||||
@ -127,12 +127,12 @@ class KeywordSearchGlobalLanguageSettingsPanel extends javax.swing.JPanel implem
|
|||||||
reloadScriptsCheckBoxes();
|
reloadScriptsCheckBoxes();
|
||||||
|
|
||||||
boolean utf16
|
boolean utf16
|
||||||
= Boolean.parseBoolean(KeywordSearchSettings.getStringExtractOption(FileTextExtractor.ExtractOptions.EXTRACT_UTF16.toString()));
|
= Boolean.parseBoolean(KeywordSearchSettings.getStringExtractOption(StringsTextExtractor.ExtractOptions.EXTRACT_UTF16.toString()));
|
||||||
|
|
||||||
enableUTF16Checkbox.setSelected(utf16);
|
enableUTF16Checkbox.setSelected(utf16);
|
||||||
|
|
||||||
boolean utf8
|
boolean utf8
|
||||||
= Boolean.parseBoolean(KeywordSearchSettings.getStringExtractOption(FileTextExtractor.ExtractOptions.EXTRACT_UTF8.toString()));
|
= Boolean.parseBoolean(KeywordSearchSettings.getStringExtractOption(StringsTextExtractor.ExtractOptions.EXTRACT_UTF8.toString()));
|
||||||
enableUTF8Checkbox.setSelected(utf8);
|
enableUTF8Checkbox.setSelected(utf8);
|
||||||
final boolean extractEnabled = utf16 || utf8;
|
final boolean extractEnabled = utf16 || utf8;
|
||||||
|
|
||||||
@ -257,9 +257,9 @@ class KeywordSearchGlobalLanguageSettingsPanel extends javax.swing.JPanel implem
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void store() {
|
public void store() {
|
||||||
KeywordSearchSettings.setStringExtractOption(FileTextExtractor.ExtractOptions.EXTRACT_UTF8.toString(),
|
KeywordSearchSettings.setStringExtractOption(StringsTextExtractor.ExtractOptions.EXTRACT_UTF8.toString(),
|
||||||
Boolean.toString(enableUTF8Checkbox.isSelected()));
|
Boolean.toString(enableUTF8Checkbox.isSelected()));
|
||||||
KeywordSearchSettings.setStringExtractOption(FileTextExtractor.ExtractOptions.EXTRACT_UTF16.toString(),
|
KeywordSearchSettings.setStringExtractOption(StringsTextExtractor.ExtractOptions.EXTRACT_UTF16.toString(),
|
||||||
Boolean.toString(enableUTF16Checkbox.isSelected()));
|
Boolean.toString(enableUTF16Checkbox.isSelected()));
|
||||||
|
|
||||||
if (toUpdate != null) {
|
if (toUpdate != null) {
|
||||||
|
@ -101,8 +101,8 @@ public final class KeywordSearchJobSettingsPanel extends IngestModuleIngestJobSe
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void displayEncodings() {
|
private void displayEncodings() {
|
||||||
String utf8 = KeywordSearchSettings.getStringExtractOption(FileTextExtractor.ExtractOptions.EXTRACT_UTF8.toString());
|
String utf8 = KeywordSearchSettings.getStringExtractOption(StringsTextExtractor.ExtractOptions.EXTRACT_UTF8.toString());
|
||||||
String utf16 = KeywordSearchSettings.getStringExtractOption(FileTextExtractor.ExtractOptions.EXTRACT_UTF16.toString());
|
String utf16 = KeywordSearchSettings.getStringExtractOption(StringsTextExtractor.ExtractOptions.EXTRACT_UTF16.toString());
|
||||||
ArrayList<String> encodingsList = new ArrayList<>();
|
ArrayList<String> encodingsList = new ArrayList<>();
|
||||||
if (utf8 == null || Boolean.parseBoolean(utf8)) {
|
if (utf8 == null || Boolean.parseBoolean(utf8)) {
|
||||||
encodingsList.add("UTF8");
|
encodingsList.add("UTF8");
|
||||||
|
@ -23,7 +23,6 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import org.sleuthkit.autopsy.coreutils.ModuleSettings;
|
import org.sleuthkit.autopsy.coreutils.ModuleSettings;
|
||||||
@ -211,14 +210,14 @@ class KeywordSearchSettings {
|
|||||||
KeywordSearchSettings.setUpdateFrequency(UpdateFrequency.DEFAULT);
|
KeywordSearchSettings.setUpdateFrequency(UpdateFrequency.DEFAULT);
|
||||||
}
|
}
|
||||||
//setting default Extract UTF8
|
//setting default Extract UTF8
|
||||||
if (!ModuleSettings.settingExists(KeywordSearchSettings.PROPERTIES_OPTIONS, FileTextExtractor.ExtractOptions.EXTRACT_UTF8.toString())) {
|
if (!ModuleSettings.settingExists(KeywordSearchSettings.PROPERTIES_OPTIONS, StringsTextExtractor.ExtractOptions.EXTRACT_UTF8.toString())) {
|
||||||
logger.log(Level.INFO, "No configuration for UTF8 found, generating default..."); //NON-NLS
|
logger.log(Level.INFO, "No configuration for UTF8 found, generating default..."); //NON-NLS
|
||||||
KeywordSearchSettings.setStringExtractOption(FileTextExtractor.ExtractOptions.EXTRACT_UTF8.toString(), Boolean.TRUE.toString());
|
KeywordSearchSettings.setStringExtractOption(StringsTextExtractor.ExtractOptions.EXTRACT_UTF8.toString(), Boolean.TRUE.toString());
|
||||||
}
|
}
|
||||||
//setting default Extract UTF16
|
//setting default Extract UTF16
|
||||||
if (!ModuleSettings.settingExists(KeywordSearchSettings.PROPERTIES_OPTIONS, FileTextExtractor.ExtractOptions.EXTRACT_UTF16.toString())) {
|
if (!ModuleSettings.settingExists(KeywordSearchSettings.PROPERTIES_OPTIONS, StringsTextExtractor.ExtractOptions.EXTRACT_UTF16.toString())) {
|
||||||
logger.log(Level.INFO, "No configuration for UTF16 found, generating defaults..."); //NON-NLS
|
logger.log(Level.INFO, "No configuration for UTF16 found, generating defaults..."); //NON-NLS
|
||||||
KeywordSearchSettings.setStringExtractOption(FileTextExtractor.ExtractOptions.EXTRACT_UTF16.toString(), Boolean.TRUE.toString());
|
KeywordSearchSettings.setStringExtractOption(StringsTextExtractor.ExtractOptions.EXTRACT_UTF16.toString(), Boolean.TRUE.toString());
|
||||||
}
|
}
|
||||||
//setting default Latin-1 Script
|
//setting default Latin-1 Script
|
||||||
if (!ModuleSettings.settingExists(KeywordSearchSettings.PROPERTIES_SCRIPTS, SCRIPT.LATIN_1.name())) {
|
if (!ModuleSettings.settingExists(KeywordSearchSettings.PROPERTIES_SCRIPTS, SCRIPT.LATIN_1.name())) {
|
||||||
|
@ -38,8 +38,14 @@ import org.sleuthkit.datamodel.TskException;
|
|||||||
* Solr.
|
* Solr.
|
||||||
*/
|
*/
|
||||||
class StringsTextExtractor extends FileTextExtractor<Void> {
|
class StringsTextExtractor extends FileTextExtractor<Void> {
|
||||||
|
/**
|
||||||
|
* Common options that can be used by some extractors
|
||||||
|
*/
|
||||||
|
enum ExtractOptions {
|
||||||
|
|
||||||
private static final long MAX_STRING_CHUNK_SIZE = 1 * 1024 * 1024L;
|
EXTRACT_UTF16, ///< extract UTF16 text, possible values Boolean.TRUE.toString(), Boolean.FALSE.toString()
|
||||||
|
EXTRACT_UTF8, ///< extract UTF8 text, possible values Boolean.TRUE.toString(), Boolean.FALSE.toString()
|
||||||
|
};
|
||||||
private final List<SCRIPT> extractScripts = new ArrayList<>();
|
private final List<SCRIPT> extractScripts = new ArrayList<>();
|
||||||
private Map<String, String> extractOptions = new HashMap<>();
|
private Map<String, String> extractOptions = new HashMap<>();
|
||||||
|
|
||||||
@ -92,8 +98,8 @@ class StringsTextExtractor extends FileTextExtractor<Void> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
boolean noExtractionOptionsAreEnabled() {
|
boolean noExtractionOptionsAreEnabled() {
|
||||||
boolean extractUTF8 = Boolean.parseBoolean(extractOptions.get(FileTextExtractor.ExtractOptions.EXTRACT_UTF8.toString()));
|
boolean extractUTF8 = Boolean.parseBoolean(extractOptions.get(ExtractOptions.EXTRACT_UTF8.toString()));
|
||||||
boolean extractUTF16 = Boolean.parseBoolean(extractOptions.get(FileTextExtractor.ExtractOptions.EXTRACT_UTF16.toString()));
|
boolean extractUTF16 = Boolean.parseBoolean(extractOptions.get(ExtractOptions.EXTRACT_UTF16.toString()));
|
||||||
|
|
||||||
return extractUTF8 == false && extractUTF16 == false;
|
return extractUTF8 == false && extractUTF16 == false;
|
||||||
}
|
}
|
||||||
@ -118,8 +124,8 @@ class StringsTextExtractor extends FileTextExtractor<Void> {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
InputStream getInputStream(AbstractFile sourceFile) {
|
InputStream getInputStream(AbstractFile sourceFile) {
|
||||||
boolean extractUTF8 = Boolean.parseBoolean(extractOptions.get(FileTextExtractor.ExtractOptions.EXTRACT_UTF8.toString()));
|
boolean extractUTF8 = Boolean.parseBoolean(extractOptions.get(ExtractOptions.EXTRACT_UTF8.toString()));
|
||||||
boolean extractUTF16 = Boolean.parseBoolean(extractOptions.get(FileTextExtractor.ExtractOptions.EXTRACT_UTF16.toString()));
|
boolean extractUTF16 = Boolean.parseBoolean(extractOptions.get(ExtractOptions.EXTRACT_UTF16.toString()));
|
||||||
|
|
||||||
//check which extract stream to use
|
//check which extract stream to use
|
||||||
InputStream stringStream = extractScripts.size() == 1 && extractScripts.get(0).equals(SCRIPT.LATIN_1)
|
InputStream stringStream = extractScripts.size() == 1 && extractScripts.get(0).equals(SCRIPT.LATIN_1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user