Update 'src/main/java/tech/nevets/deepj/Translator.java'

This commit is contained in:
5gi 2022-11-04 11:19:09 -04:00
parent 8c39329d6b
commit b9fb097836

View File

@ -9,24 +9,51 @@ import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class Translator {
Request request;
public Translator(String authKey) {
//TODO TEST CLASS
public static String globalAuthKey = "null";
public static void setGlobalAuthKey(String key) {
this.globalAuthKey = key;
}
private Request request;
public Translator() {
if (globalAuthKey == null) {
System.out.println("\n[DeepJ] You are currently using the Global Auth Key Translator Constructor." +
"\n[DeepJ] If you are trying to use global auth keys, Call the method \"Translator.setGlobalAuthKey(String key)\" and then re-use this contructor." +
"\n[DeepJ] If you want to define an different authkey every time do: \"new Translator(String authKey)\"\n");
} else {
request = new request(globalAuthKey);
}
}
public Translator(@NotNull String authKey) {
if (globalAuthKey != "null") {
System.out.println("[DeepJ] Looks like you have defined a global auth key already! You can use if by just typing \"new Traslator()\"" +
"\n instead of \"new Translator(String authKey)\". NOTE: This will work but just some advice :)");
}
request = new Request(authKey);
}
public Translator(@NotNull String authKey, @NotNull boolean silence) {
if (globalAuthKey != "null" && silence == false) {
System.out.println("[DeepJ] Looks like you have defined a global auth key already! You can use if by just typing \"new Traslator()\"" +
"\n instead of \"new Translator(String authKey)\". NOTE: This will work but just some advice :)");
}
request = new Request(authKey);
}
public String translate(Language langToTranslateTo, String sourceMessage) {
String response = "Error processing request";
try {
response = request.get(langToTranslateTo, sourceMessage);
response = request.queryAPI(langToTranslateTo, sourceMessage);
} catch (IOException | InterruptedException e) {
System.out.println("Error processing request");
System.out.println(response);
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");
JSONObject jsonObject = new JSONObject(response);
JSONArray jsonArray = jsonObject.getJSONArray("translations");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject1 = jsonArray.getJSONObject(i);
message = jsonObject.getString("text");
}
return message;
}
@ -35,7 +62,7 @@ public class Translator {
public Request(String authKey) {
this.authKey = authKey;
}
public String get(Language langEnum, String message) throws IOException, InterruptedException {
public String queryAPI(Language langEnum, String message) throws IOException, InterruptedException {
String encodedAuthKey = URLEncoder.encode(authKey, StandardCharsets.UTF_8);
String encodedMessage = URLEncoder.encode(message, StandardCharsets.UTF_8);
HttpClient client = HttpClient.newHttpClient();