From c6b777577b406e93582430e016d00abd4bfcc939 Mon Sep 17 00:00:00 2001
From: Steven Tracey <steven@nevets.tech>
Date: Wed, 2 Feb 2022 19:45:30 -0500
Subject: [PATCH] Reformatted code, added message and detected language
 extraction

---
 .idea/modules/core/DeepJ.core.test.iml        |  4 ++
 build.gradle                                  |  6 ++-
 settings.gradle                               |  2 +
 .../tech/nevets/deepj/{api => }/DeepJ.java    |  4 +-
 .../nevets/deepj/{api => }/Languages.java     |  2 +-
 .../tech/nevets/deepj/json/JsonExtractor.java | 37 +++++++++++++++++++
 6 files changed, 51 insertions(+), 4 deletions(-)
 create mode 100644 .idea/modules/core/DeepJ.core.test.iml
 rename src/main/java/tech/nevets/deepj/{api => }/DeepJ.java (98%)
 rename src/main/java/tech/nevets/deepj/{api => }/Languages.java (88%)
 create mode 100644 src/main/java/tech/nevets/deepj/json/JsonExtractor.java

diff --git a/.idea/modules/core/DeepJ.core.test.iml b/.idea/modules/core/DeepJ.core.test.iml
new file mode 100644
index 0000000..75ee959
--- /dev/null
+++ b/.idea/modules/core/DeepJ.core.test.iml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4">
+  <component name="TestModuleProperties" production-module="DeepJ.core.main" />
+</module>
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 82e3fc9..0b798cd 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,10 +1,11 @@
 plugins {
     id 'java-library'
     id 'maven-publish'
+    id 'com.github.johnrengelman.shadow' version '5.2.0'
 }
 
-group 'tech.nevets.deepj.api'
-version '1.0'
+group 'tech.nevets.deepj'
+version '1.1'
 
 sourceCompatibility = targetCompatibility = JavaVersion.VERSION_11
 
@@ -13,6 +14,7 @@ repositories {
 }
 
 dependencies {
+    implementation group: 'org.json', name: 'json', version: '20210307'
 }
 
 apply plugin: 'maven-publish'
diff --git a/settings.gradle b/settings.gradle
index 4e30b35..41c787e 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,2 +1,4 @@
 rootProject.name = 'DeepJ'
+include 'jsonParser'
+include 'core'
 
diff --git a/src/main/java/tech/nevets/deepj/api/DeepJ.java b/src/main/java/tech/nevets/deepj/DeepJ.java
similarity index 98%
rename from src/main/java/tech/nevets/deepj/api/DeepJ.java
rename to src/main/java/tech/nevets/deepj/DeepJ.java
index 61d602a..cf0107a 100644
--- a/src/main/java/tech/nevets/deepj/api/DeepJ.java
+++ b/src/main/java/tech/nevets/deepj/DeepJ.java
@@ -1,4 +1,4 @@
-package tech.nevets.deepj.api;
+package tech.nevets.deepj;
 
 import java.io.IOException;
 import java.net.URI;
@@ -43,4 +43,6 @@ public class DeepJ {
 
         return data;
     }
+
+
 }
diff --git a/src/main/java/tech/nevets/deepj/api/Languages.java b/src/main/java/tech/nevets/deepj/Languages.java
similarity index 88%
rename from src/main/java/tech/nevets/deepj/api/Languages.java
rename to src/main/java/tech/nevets/deepj/Languages.java
index 8c34934..9a02b98 100644
--- a/src/main/java/tech/nevets/deepj/api/Languages.java
+++ b/src/main/java/tech/nevets/deepj/Languages.java
@@ -1,4 +1,4 @@
-package tech.nevets.deepj.api;
+package tech.nevets.deepj;
 
 public enum Languages {
     BG,
diff --git a/src/main/java/tech/nevets/deepj/json/JsonExtractor.java b/src/main/java/tech/nevets/deepj/json/JsonExtractor.java
new file mode 100644
index 0000000..a05e67b
--- /dev/null
+++ b/src/main/java/tech/nevets/deepj/json/JsonExtractor.java
@@ -0,0 +1,37 @@
+package tech.nevets.deepj.json;
+
+import org.json.JSONArray;
+import org.json.JSONObject;
+
+public class JsonExtractor {
+    public JsonExtractor() {
+    }
+
+    public String extractMessage(String jsonResponse) {
+        String message = "Error Processing Request";
+
+        JSONObject jo = new JSONObject(jsonResponse);
+        JSONArray ja = jo.getJSONArray("translations");
+
+        for (int i = 0; i < ja.length(); i++) {
+            JSONObject joo = ja.getJSONObject(i);
+            message = joo.getString("text");
+        }
+
+        return message;
+    }
+
+    public String extractDetectedLang(String jsonResponse) {
+        String lang = "Error Processing Request";
+
+        JSONObject jo = new JSONObject(jsonResponse);
+        JSONArray ja = jo.getJSONArray("translations");
+
+        for (int i = 0; i < ja.length(); i++) {
+            JSONObject joo = ja.getJSONObject(i);
+            lang = joo.getString("detected_source_language");
+        }
+
+        return lang;
+    }
+}