From c7a03476a7e3a50dc62e8ccb79ed3639904434f5 Mon Sep 17 00:00:00 2001 From: Ihsan Olawale Date: Thu, 2 Jul 2020 18:35:52 +0000 Subject: [PATCH 1/6] Added messages feature via JSON as per step 3 of week 3 --- portfolio/pom.xml | 8 +++++++- .../java/com/google/sps/servlets/DataServlet.java | 13 +++++++++++-- portfolio/src/main/webapp/index.html | 3 ++- portfolio/src/main/webapp/script.js | 14 ++++++++++++++ 4 files changed, 34 insertions(+), 4 deletions(-) diff --git a/portfolio/pom.xml b/portfolio/pom.xml index 7944daf..d4b938e 100644 --- a/portfolio/pom.xml +++ b/portfolio/pom.xml @@ -23,6 +23,12 @@ 4.0.1 provided + + + com.google.code.gson + gson + 2.8.6 + @@ -41,4 +47,4 @@ - \ No newline at end of file + diff --git a/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java b/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java index dca6ec3..7747e60 100644 --- a/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java +++ b/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java @@ -20,13 +20,22 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import com.google.gson.Gson; + /** Servlet that returns some example content. TODO: modify this file to handle comments data */ @WebServlet("/data") public class DataServlet extends HttpServlet { + ArrayList messages = new ArrayList<>(); @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { - response.setContentType("text/html;"); - response.getWriter().println("

Hello world!

"); + messages.add("This is brought to you by JSON"); + messages.add("JSON is JavaScript Object Notation"); + messages.add("It is great for storing data like this"); + + response.setContentType("application/json;"); + String json = new Gson().toJson(messages); + response.getWriter().println(json); } } diff --git a/portfolio/src/main/webapp/index.html b/portfolio/src/main/webapp/index.html index 6f5b6f1..d22d2dc 100644 --- a/portfolio/src/main/webapp/index.html +++ b/portfolio/src/main/webapp/index.html @@ -6,7 +6,7 @@ - +

Ihsan Olawale's Portfolio

This is Ihsan Olawale's portfolio.

@@ -19,6 +19,7 @@

Ihsan Olawale's Portfolio

After seeing what I look like, you might be interested to know more about me. Don't worry, I considered this during the design phase, and presented an opportunity to cycle through assorted facts.

+
diff --git a/portfolio/src/main/webapp/script.js b/portfolio/src/main/webapp/script.js index 4fed33c..160b549 100644 --- a/portfolio/src/main/webapp/script.js +++ b/portfolio/src/main/webapp/script.js @@ -44,3 +44,17 @@ function addRandomFact() { const factContainer = document.getElementById('fact-container'); factContainer.innerText = fact; } + +/** + * Fetches messages from the server and adds them to the webpage + */ +function displayMessages() { + fetch('/data').then(response => response.json()).then((messages) => { + console.log(messages); + const messageContainer = document.getElementById('messages-container'); + messageContainer.innerText = ''; + for (const message of messages) { + messageContainer.innerText += message + '\n'; + } + }); +} From dd0fe61356bd76794c3a2018d389e0d37fd6e6b5 Mon Sep 17 00:00:00 2001 From: Ihsan Olawale Date: Fri, 10 Jul 2020 18:29:32 -0700 Subject: [PATCH 2/6] Ordered dependencies by groupId --- portfolio/pom.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/portfolio/pom.xml b/portfolio/pom.xml index d4b938e..c7d31ad 100644 --- a/portfolio/pom.xml +++ b/portfolio/pom.xml @@ -17,18 +17,18 @@ + + com.google.code.gson + gson + 2.8.6 + + javax.servlet javax.servlet-api 4.0.1 provided - - - com.google.code.gson - gson - 2.8.6 - From 089395b34bb8fdeb462bb3a3aaa8c9034a642e08 Mon Sep 17 00:00:00 2001 From: Ihsan Olawale Date: Fri, 10 Jul 2020 18:31:55 -0700 Subject: [PATCH 3/6] Used fix_java.sh to reformat java file --- .../src/main/java/com/google/sps/servlets/DataServlet.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java b/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java index 7747e60..1180d53 100644 --- a/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java +++ b/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java @@ -14,15 +14,14 @@ package com.google.sps.servlets; +import com.google.gson.Gson; import java.io.IOException; +import java.util.ArrayList; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; -import com.google.gson.Gson; - /** Servlet that returns some example content. TODO: modify this file to handle comments data */ @WebServlet("/data") public class DataServlet extends HttpServlet { From 1cf64cc8b3e645307167f21924ea65c67dea5027 Mon Sep 17 00:00:00 2001 From: Ihsan Olawale Date: Fri, 10 Jul 2020 18:33:25 -0700 Subject: [PATCH 4/6] Removed TODO --- .../src/main/java/com/google/sps/servlets/DataServlet.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java b/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java index 1180d53..d6d0484 100644 --- a/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java +++ b/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java @@ -22,7 +22,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -/** Servlet that returns some example content. TODO: modify this file to handle comments data */ +/** Servlet that returns some example content. */ @WebServlet("/data") public class DataServlet extends HttpServlet { ArrayList messages = new ArrayList<>(); From 655cb803c737117e348a8726c04bb1e9da1bcf47 Mon Sep 17 00:00:00 2001 From: Ihsan Olawale Date: Fri, 10 Jul 2020 18:35:21 -0700 Subject: [PATCH 5/6] Changed messages array to type List from type ArrayList --- .../src/main/java/com/google/sps/servlets/DataServlet.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java b/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java index d6d0484..f62a706 100644 --- a/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java +++ b/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java @@ -17,6 +17,7 @@ import com.google.gson.Gson; import java.io.IOException; import java.util.ArrayList; +import java.util.List; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; @@ -25,7 +26,7 @@ /** Servlet that returns some example content. */ @WebServlet("/data") public class DataServlet extends HttpServlet { - ArrayList messages = new ArrayList<>(); + List messages = new ArrayList<>(); @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { From c9b8050d1266c0ab9387137e133decbbd06550d9 Mon Sep 17 00:00:00 2001 From: Ihsan Olawale Date: Mon, 13 Jul 2020 14:58:30 -0700 Subject: [PATCH 6/6] Moved array declaration to doGet method --- .../src/main/java/com/google/sps/servlets/DataServlet.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java b/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java index f62a706..eb903cc 100644 --- a/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java +++ b/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java @@ -26,10 +26,10 @@ /** Servlet that returns some example content. */ @WebServlet("/data") public class DataServlet extends HttpServlet { - List messages = new ArrayList<>(); @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + List messages = new ArrayList<>(); messages.add("This is brought to you by JSON"); messages.add("JSON is JavaScript Object Notation"); messages.add("It is great for storing data like this");