Merge pull request #6851 from kellykelly3/7485-translator-lazy-panel-construction

7485 - Removed the panel init from the translator constructors
This commit is contained in:
Richard Cordovano 2021-04-05 16:55:31 -04:00 committed by GitHub
commit f68c39519d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 5 deletions

View File

@ -30,6 +30,7 @@ import java.io.IOException;
import javax.swing.JPanel; import javax.swing.JPanel;
import org.openide.util.NbBundle.Messages; import org.openide.util.NbBundle.Messages;
import org.openide.util.lookup.ServiceProvider; import org.openide.util.lookup.ServiceProvider;
import org.sleuthkit.autopsy.coreutils.ThreadConfined;
import org.sleuthkit.autopsy.texttranslation.TextTranslator; import org.sleuthkit.autopsy.texttranslation.TextTranslator;
import org.sleuthkit.autopsy.texttranslation.TranslationConfigException; import org.sleuthkit.autopsy.texttranslation.TranslationConfigException;
import org.sleuthkit.autopsy.texttranslation.TranslationException; import org.sleuthkit.autopsy.texttranslation.TranslationException;
@ -46,7 +47,7 @@ public class BingTranslator implements TextTranslator {
//https://docs.microsoft.com/en-us/azure/cognitive-services/translator/language-support //https://docs.microsoft.com/en-us/azure/cognitive-services/translator/language-support
private static final String BASE_URL = "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to="; private static final String BASE_URL = "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=";
private static final int MAX_STRING_LENGTH = 5000; private static final int MAX_STRING_LENGTH = 5000;
private final BingTranslatorSettingsPanel settingsPanel; private BingTranslatorSettingsPanel settingsPanel;
private final BingTranslatorSettings settings = new BingTranslatorSettings(); private final BingTranslatorSettings settings = new BingTranslatorSettings();
// This sends messages to Microsoft. // This sends messages to Microsoft.
private final OkHttpClient CLIENT = new OkHttpClient(); private final OkHttpClient CLIENT = new OkHttpClient();
@ -55,11 +56,11 @@ public class BingTranslator implements TextTranslator {
* Create a Bing Translator * Create a Bing Translator
*/ */
public BingTranslator() { public BingTranslator() {
settingsPanel = new BingTranslatorSettingsPanel(settings.getAuthenticationKey(), settings.getTargetLanguageCode());
} }
/** /**
* Get the tranlationurl for the specified language code * Get the tranlation url for the specified language code
* *
* *
* *
@ -133,7 +134,11 @@ public class BingTranslator implements TextTranslator {
} }
@Override @Override
@ThreadConfined(type = ThreadConfined.ThreadType.AWT)
public JPanel getSettingsPanel() { public JPanel getSettingsPanel() {
if(settingsPanel == null) {
settingsPanel = new BingTranslatorSettingsPanel(settings.getAuthenticationKey(), settings.getTargetLanguageCode());
}
return settingsPanel; return settingsPanel;
} }

View File

@ -36,6 +36,7 @@ import org.apache.commons.lang3.StringUtils;
import org.openide.util.NbBundle.Messages; import org.openide.util.NbBundle.Messages;
import org.openide.util.lookup.ServiceProvider; import org.openide.util.lookup.ServiceProvider;
import org.sleuthkit.autopsy.coreutils.EscapeUtil; import org.sleuthkit.autopsy.coreutils.EscapeUtil;
import org.sleuthkit.autopsy.coreutils.ThreadConfined;
import org.sleuthkit.autopsy.texttranslation.TextTranslator; import org.sleuthkit.autopsy.texttranslation.TextTranslator;
import org.sleuthkit.autopsy.texttranslation.TranslationConfigException; import org.sleuthkit.autopsy.texttranslation.TranslationConfigException;
import org.sleuthkit.autopsy.texttranslation.TranslationException; import org.sleuthkit.autopsy.texttranslation.TranslationException;
@ -50,7 +51,7 @@ public final class GoogleTranslator implements TextTranslator {
private static final Logger logger = Logger.getLogger(GoogleTranslator.class.getName()); private static final Logger logger = Logger.getLogger(GoogleTranslator.class.getName());
//See translate method for justification of this limit. //See translate method for justification of this limit.
private static final int MAX_PAYLOAD_SIZE = 5000; private static final int MAX_PAYLOAD_SIZE = 5000;
private final GoogleTranslatorSettingsPanel settingsPanel; private GoogleTranslatorSettingsPanel settingsPanel;
private final GoogleTranslatorSettings settings = new GoogleTranslatorSettings(); private final GoogleTranslatorSettings settings = new GoogleTranslatorSettings();
private Translate googleTranslate; private Translate googleTranslate;
@ -59,7 +60,6 @@ public final class GoogleTranslator implements TextTranslator {
*/ */
public GoogleTranslator() { public GoogleTranslator() {
// Instantiates a client // Instantiates a client
settingsPanel = new GoogleTranslatorSettingsPanel(settings.getCredentialPath(), settings.getTargetLanguageCode());
loadTranslator(); loadTranslator();
} }
@ -134,7 +134,11 @@ public final class GoogleTranslator implements TextTranslator {
} }
@Override @Override
@ThreadConfined(type = ThreadConfined.ThreadType.AWT)
public JPanel getSettingsPanel() { public JPanel getSettingsPanel() {
if(settingsPanel == null) {
settingsPanel = new GoogleTranslatorSettingsPanel(settings.getCredentialPath(), settings.getTargetLanguageCode());
}
return settingsPanel; return settingsPanel;
} }