From d04578d12aa1b96b10b045d59bea3203d29f1c6a Mon Sep 17 00:00:00 2001
From: Greg DiCristofaro <gregd@basistech.com>
Date: Wed, 18 May 2022 08:22:30 -0400
Subject: [PATCH] installer updates for translator and cr

---
 Core/nbproject/project.xml                                 | 1 +
 .../centralrepository/eventlisteners/Installer.java        | 7 +++++++
 .../translators/BingTranslatorSettings.java                | 6 +++++-
 .../translators/GoogleTranslatorSettings.java              | 6 +++++-
 4 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/Core/nbproject/project.xml b/Core/nbproject/project.xml
index d74921c2c8..abf2b45f75 100644
--- a/Core/nbproject/project.xml
+++ b/Core/nbproject/project.xml
@@ -347,6 +347,7 @@
                 <package>org.sleuthkit.autopsy.textextractors.configs</package>
                 <package>org.sleuthkit.autopsy.textsummarizer</package>
                 <package>org.sleuthkit.autopsy.texttranslation</package>
+                <package>org.sleuthkit.autopsy.texttranslation.translators.settings</package>
                 <package>org.sleuthkit.autopsy.url.analytics</package>
                 <package>org.sleuthkit.datamodel</package>
                 <package>org.sleuthkit.datamodel.blackboardutils</package>
diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java b/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java
index 46364211ea..8af515156b 100644
--- a/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java
+++ b/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java
@@ -110,6 +110,7 @@ private void upgradeSettingsPath() {
                 File prevDir = new File(prevPath);
                 // copy all files starting with prevDbName in prevPath to new path location.
                 if (prevDir.exists() && prevDir.isDirectory()) {
+                    new File(CentralRepoSettings.getInstance().getDefaultDbPath()).mkdirs();
                     try {
                         for (File childFile : prevDir.listFiles((dir, name) -> name.startsWith(prevDbName))) {
                             FileUtils.copyFile(childFile, new File(CentralRepoSettings.getInstance().getDefaultDbPath(), childFile.getName()));
@@ -118,7 +119,13 @@ private void upgradeSettingsPath() {
                         logger.log(Level.SEVERE, "There was an error upgrading settings.", ex);
                     }
                 }
+                
+                // update path settings accordingly
+                prevSettings.put(SqliteCentralRepoSettings.getDatabasePathKey(), CentralRepoSettings.getInstance().getDefaultDbPath());
             }
+            
+            // copy settings
+            ModuleSettings.setConfigSettings(CentralRepoSettings.getInstance().getModuleSettingsKey(), prevSettings);
         }
     }
 
diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettings.java b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettings.java
index 4e829cc886..9a8414d548 100644
--- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettings.java
+++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettings.java
@@ -28,7 +28,11 @@
 public final class BingTranslatorSettings {
 
     private static final String AUTHENTICATION_KEY = "Credentials";
-    private static final String BING_TRANSLATE_NAME = TranslatorSettings.getInstance().getModuleSettingsResource("BingTranslate");
+    
+    // Legacy ModuleSettings key to use.
+    static final String BING_TRANSLATE_SIMPLE_NAME = "BingTranslate";
+    // ModuleSettings key to use (moved to new directory).
+    static final String BING_TRANSLATE_NAME = TranslatorSettings.getInstance().getModuleSettingsResource(BING_TRANSLATE_SIMPLE_NAME);
     private static final String DEFAULT_AUTHENTICATION = "";
     private static final String DEFAULT_TARGET_LANGUAGE = "en";
     private static final String TARGET_LANGUAGE_CODE_KEY = "TargetLanguageCode";
diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettings.java b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettings.java
index 7cd50182af..f1d60c9407 100644
--- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettings.java
+++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettings.java
@@ -31,7 +31,11 @@ public final class GoogleTranslatorSettings {
     private static final String DEFAULT_TARGET_LANGUAGE = TranslateOptions.getDefaultInstance().getTargetLanguage();
     private static final String CREDENTIAL_PATH_KEY = "CredentialPath";
     private static final String TARGET_LANGUAGE_CODE_KEY = "TargetLanguageCode";
-    private static final String GOOGLE_TRANSLATE_NAME = TranslatorSettings.getInstance().getModuleSettingsResource("GoogleTranslate");
+    
+    // Legacy module settings key used.
+    static final String GOOGLE_TRANSLATE_SIMPLE_NAME = "GoogleTranslate";
+    // Module settings key to use (moved to new directory).
+    static final String GOOGLE_TRANSLATE_NAME = TranslatorSettings.getInstance().getModuleSettingsResource(GOOGLE_TRANSLATE_SIMPLE_NAME);
     private static final String DEFAULT_CREDENTIAL_PATH = "";
     private String targetLanguageCode;
     private String credentialPath;
-- 
GitLab