diff --git a/.gitignore b/.gitignore
index 48a9ee7..07e3800 100644
--- a/.gitignore
+++ b/.gitignore
@@ -43,3 +43,10 @@ out/
## VSCode
##############################
.vscode/
+
+##############################
+## Misc
+##############################
+.settings/*
+.project
+.classpath
diff --git a/pom.xml b/pom.xml
index e4e534e..d78f0c3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,13 +39,13 @@
7.0.2
-
-
- com.fasterxml.jackson.core
- jackson-databind
- 2.21.1
- compile
-
+
+
+ tools.jackson.core
+ jackson-databind
+ 3.1.0
+ compile
+
@@ -96,6 +96,28 @@
maven-javadoc-plugin
3.12.0
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.6.1
+
+
+ package
+
+ shade
+
+
+
+
+ edu.group5.app.App
+
+
+
+
+
+
diff --git a/src/main/java/edu/group5/app/control/OrgAPIWrapper.java b/src/main/java/edu/group5/app/control/OrgAPIWrapper.java
new file mode 100644
index 0000000..9123c69
--- /dev/null
+++ b/src/main/java/edu/group5/app/control/OrgAPIWrapper.java
@@ -0,0 +1,42 @@
+package edu.group5.app.control;
+
+import java.net.URI;
+import java.net.http.HttpClient;
+import java.net.http.HttpRequest;
+import java.net.http.HttpResponse;
+
+import tools.jackson.databind.ObjectMapper;
+
+public class OrgAPIWrapper extends Wrapper {
+ private String urlString;
+ private Object[] data;
+
+ public OrgAPIWrapper(String urlString) {
+ this.urlString = urlString;
+ }
+
+ @Override
+ public boolean importData() {
+ URI uri = URI.create(this.urlString);
+ HttpClient client = HttpClient.newHttpClient();
+ HttpRequest request = HttpRequest.newBuilder()
+ .uri(uri)
+ .GET()
+ .build();
+
+ try {
+ HttpResponse response = client.send(
+ request, HttpResponse.BodyHandlers.ofString());
+ this.data = new ObjectMapper().readValue(response.body(), Object[].class);
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ @Override
+ public Object[] getData() {
+ return this.data;
+ }
+}
diff --git a/src/main/java/edu/group5/app/control/Wrapper.java b/src/main/java/edu/group5/app/control/Wrapper.java
index 584507c..e8a8365 100644
--- a/src/main/java/edu/group5/app/control/Wrapper.java
+++ b/src/main/java/edu/group5/app/control/Wrapper.java
@@ -6,4 +6,6 @@ protected Wrapper() {
}
public abstract boolean importData();
+
+ public abstract Object getData();
}