From 50d01058aa9e672fafade9c2880a1bfa6738cb56 Mon Sep 17 00:00:00 2001 From: 5gi <5giwastooshort@gmail.com> Date: Thu, 3 Nov 2022 17:31:18 -0400 Subject: [PATCH] Merged Classes Fixed repetitive auth key usage --- .idea/discord.xml | 7 + .../java/tech/nevets/deepj/Translator.java | 136 ++++++++---------- 2 files changed, 64 insertions(+), 79 deletions(-) create mode 100644 .idea/discord.xml diff --git a/.idea/discord.xml b/.idea/discord.xml new file mode 100644 index 0000000..30bab2a --- /dev/null +++ b/.idea/discord.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/src/main/java/tech/nevets/deepj/Translator.java b/src/main/java/tech/nevets/deepj/Translator.java index 52e15af..c1c8c5e 100644 --- a/src/main/java/tech/nevets/deepj/Translator.java +++ b/src/main/java/tech/nevets/deepj/Translator.java @@ -10,106 +10,84 @@ import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.nio.charset.StandardCharsets; -import java.io.IOException; - public class Translator { - - //TODO Once I get home I gotta see if this works - //NOTE: I'm stupid and did this during ELA - - private final String authKey; - Request r = new Request(); - + Request request; public Translator(String authKey) { - this.authKey = authKey; + request = new Request(authKey); } - public String translate(Enum lang, String sourceMessage) { + public String translate(Enum langToTranslateTo, String sourceMessage) { String response = "Error processing request"; try { - response = r.get(authKey, lang, sourceMessage); + response = request.get(langToTranslateTo, sourceMessage); } catch (IOException | InterruptedException e) { System.out.println("Error processing request"); e.printStackTrace(); } - String message = "Error Processing Request"; - JSONObject jo = new JSONObject(response); JSONArray ja = jo.getJSONArray("translations"); - for (int i = 0; i < ja.length(); i++) { JSONObject joo = ja.getJSONObject(i); message = joo.getString("text"); } - return message; } -} + private static class Request { -private class Request { - public Request() { - } - - public String get(String authKey, Enum langEnum, String message) throws IOException, InterruptedException { - String encodedAuthKey = URLEncoder.encode(authKey, StandardCharsets.UTF_8); - - String lang; - lang = langEnum.toString(); - - if (langEnum == Languages.ENUS) { - lang = "EN-US"; - } else if (langEnum == Languages.ENGB) { - lang = "EN-GB"; - } else if (langEnum == Languages.PTBR) { - lang = "PT-BR"; - } else if (langEnum == Languages.PTPT) { - lang = "PT-PT"; + private final String authKey; + public Request(String authKey) { + this.authKey = authKey; } + public String get(Enum langEnum, String message) throws IOException, InterruptedException { + String encodedAuthKey = URLEncoder.encode(authKey, StandardCharsets.UTF_8); + String lang = langEnum.toString(); + if (langEnum == Language.EN_US) { + lang = "EN-US"; + } else if (langEnum == Language.EN_GB) { + lang = "EN-GB"; + } else if (langEnum == Language.PT_BR) { + lang = "PT-BR"; + } else if (langEnum == Language.PT_PT) { + lang = "PT-PT"; + } + String encodedMessage = URLEncoder.encode(message, StandardCharsets.UTF_8); + HttpClient client = HttpClient.newHttpClient(); + HttpRequest request = HttpRequest.newBuilder().GET() + .header("Accept","*/*") + .header("Content-Type", "application/x-www-form-urlencoded") + .uri(URI.create("https://api-free.deepl.com/v2/translate?auth_key=" + encodedAuthKey + "&target_lang=" + lang + "&text=" + encodedMessage)).build(); + HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); + return response.body(); + } + } - String encodedMessage = URLEncoder.encode(message, StandardCharsets.UTF_8); - - HttpClient client = HttpClient.newHttpClient(); - HttpRequest request = HttpRequest.newBuilder() - .GET() - .header("Accept","*/*") - .header("Content-Type", "application/x-www-form-urlencoded") - .uri(URI.create("https://api-free.deepl.com/v2/translate?auth_key=" + encodedAuthKey + "&target_lang=" + lang + "&text=" + encodedMessage)) - .build(); - HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); - - String data = response.body(); - - return data; - //wait for imports + public enum Language { + BG, + CS, + DA, + DE, + EL, + EN_GB, + EN_US, + ES, + ET, + FI, + FR, + HU, + IT, + JA, + LT, + LV, + NL, + PL, + PT_BR, + PT_PT, + RO, + RU, + SK, + SL, + SV, + ZH } } -public static enum Languages { - BG, - CS, - DA, - DE, - EL, - ENGB, - ENUS, - ES, - ET, - FI, - FR, - HU, - IT, - JA, - LT, - LV, - NL, - PL, - PTBR, - PTPT, - RO, - RU, - SK, - SL, - SV, - ZH -} -