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
-}
-