From adb6025d5fba654ddb31bb8f2e0661d2ed082a85 Mon Sep 17 00:00:00 2001 From: KermitHermit121 <97711324+KermitHermit121@users.noreply.github.com> Date: Mon, 31 Oct 2022 07:22:54 -0700 Subject: [PATCH 01/37] Post Java Class --- src/main/java/service/Post.java | 74 +++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/main/java/service/Post.java diff --git a/src/main/java/service/Post.java b/src/main/java/service/Post.java new file mode 100644 index 0000000..7e3d5af --- /dev/null +++ b/src/main/java/service/Post.java @@ -0,0 +1,74 @@ +package service; +public class Post { + private int PostId, PlantId, Age; + private String PlantName, Species, Status, NameOfUser, Caption, PhotoUrl; + public Post(int PostId, int PlantId, int Age, String PlantName, String Species, String Status, String NameOfUser, String Caption, String PhotoUrl) { + this.PostId = PostId; + this.PlantId = PlantId; + this.Age = Age; + this.PlantName = PlantName; + this.Species = Species; + this.Status = Status; + this.NameOfUser = NameOfUser; + this.Caption = Caption; + this.PhotoUrl = PhotoUrl; + } + // all the get methods + public int getPostID() { + return PostId; + } + public int getPlantID() { + return PlantId; + } + public int getAge() { + return Age; + } + public String getPlantName() { + return PlantName; + } + public String getSpecies() { + return Species; + } + public String getStatus() { + return Status; + } + public String getNameOfUser() { + return NameOfUser; + } + public String getCaption() { + return Caption; + } + public String getPhotoUrl() { + return PhotoUrl; + } + // all the set methods + public void getPostID(int PostId) { + this.PostId = PostId; + } + public void getPlantID(int PlantId) { + this.PlantId = PlantId; + } + public void getAge(int age) { + this.Age = Age; + } + public void getPlantName(String PlantName) { + this.PlantName = PlantName; + } + public void getSpecies(String Species) { + this.Species = Species; + } + public void getStatus(String Status) { + this.Status = Status; + } + public void getNameOfUser(String NameOfUser) { + this.NameOfUser = NameOfUser; + } + public void getCaption(String Caption) { + this.Caption = Caption; + } + public void getPhotoUrl(String PhotoUrl) { + this.PhotoUrl = PhotoUrl; + } +} + + From 6bf0309ffcbf46adc1bcadb1b8f6ec2d2ebeb880 Mon Sep 17 00:00:00 2001 From: alanaaaa Date: Wed, 16 Nov 2022 07:33:09 -0800 Subject: [PATCH 02/37] Stylized feed page (nav bar) --- src/main/java/service/MainController.java | 3 ++ .../static/Copy-of-Copy-of-Untitled-1.jpg | Bin 0 -> 34501 bytes src/main/resources/templates/feed.html | 51 ++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 src/main/resources/static/Copy-of-Copy-of-Untitled-1.jpg create mode 100644 src/main/resources/templates/feed.html diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index eeb1a1f..6b754cc 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -21,4 +21,7 @@ public String hello(@RequestParam(name="name", required=false, defaultValue="Wor model.addAttribute("name", name); return "hello"; } + + @GetMapping("/feed") + public String feed(){ return "feed"; } } \ No newline at end of file diff --git a/src/main/resources/static/Copy-of-Copy-of-Untitled-1.jpg b/src/main/resources/static/Copy-of-Copy-of-Untitled-1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ee00b51d500003d61d2138260b30bb5bcae09cfa GIT binary patch literal 34501 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 + + + + PlantBook: Main Feed + + Bootstrap Example + + + + + + + + + + + +

Say hi to some plants!

+ + + planty + + + \ No newline at end of file From 668435c52aaea335c2cb1b7b309f348bd488969d Mon Sep 17 00:00:00 2001 From: anaiysaa Date: Wed, 16 Nov 2022 07:51:46 -0800 Subject: [PATCH 03/37] 11/16/22 --- src/main/java/service/plantAPi.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/main/java/service/plantAPi.java diff --git a/src/main/java/service/plantAPi.java b/src/main/java/service/plantAPi.java new file mode 100644 index 0000000..510b4ff --- /dev/null +++ b/src/main/java/service/plantAPi.java @@ -0,0 +1,20 @@ +package service; + +import java.io.IOException; +import java.net.URI; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; + +public class plantAPi { + public void api() throws IOException, InterruptedException { + HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("https://house-plants.p.rapidapi.com/common/coralberry")) + .header("X-RapidAPI-Key", "e3a6efcf20msh357c2c0f26d706dp1bb9fbjsn3c9ffec76d95") + .header("X-RapidAPI-Host", "house-plants.p.rapidapi.com") + .method("GET", HttpRequest.BodyPublishers.noBody()) + .build(); + HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); + System.out.println(response.body()); + } +} From d26c796d14e96bd86463cf6692e2e5c54e27c7cd Mon Sep 17 00:00:00 2001 From: anaiysaa Date: Wed, 16 Nov 2022 07:51:46 -0800 Subject: [PATCH 04/37] 11/16/22 --- src/main/java/service/plantAPi.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/main/java/service/plantAPi.java diff --git a/src/main/java/service/plantAPi.java b/src/main/java/service/plantAPi.java new file mode 100644 index 0000000..510b4ff --- /dev/null +++ b/src/main/java/service/plantAPi.java @@ -0,0 +1,20 @@ +package service; + +import java.io.IOException; +import java.net.URI; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; + +public class plantAPi { + public void api() throws IOException, InterruptedException { + HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create("https://house-plants.p.rapidapi.com/common/coralberry")) + .header("X-RapidAPI-Key", "e3a6efcf20msh357c2c0f26d706dp1bb9fbjsn3c9ffec76d95") + .header("X-RapidAPI-Host", "house-plants.p.rapidapi.com") + .method("GET", HttpRequest.BodyPublishers.noBody()) + .build(); + HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); + System.out.println(response.body()); + } +} From 8b29a172de0056ca5ff109ad968c1ab2062770e3 Mon Sep 17 00:00:00 2001 From: Jasmine-xnf <81267766+Jasmine-xnf@users.noreply.github.com> Date: Mon, 21 Nov 2022 07:32:59 -0800 Subject: [PATCH 05/37] added @PostMapping to api path --- src/main/java/service/MainController.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index eeb1a1f..2d96326 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -20,5 +20,15 @@ public String index() { public String hello(@RequestParam(name="name", required=false, defaultValue="World") String name, Model model) { model.addAttribute("name", name); return "hello"; + + + } + @PostMapping("/api") + public String index() { + return "index"; } + + @PostMapping("/api") + HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); + public respHttpResponse getResponse() {return response;} } \ No newline at end of file From 3b01cbbe017c0a971e8eb3bd3b6e0d3f78bb7e95 Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Wed, 23 Nov 2022 07:34:29 -0800 Subject: [PATCH 06/37] 11/23/2022 euh stuff still to be tested.... --- src/main/java/service/MainController.java | 6 +++ src/main/java/service/SqlDB.java | 45 +++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index eeb1a1f..f8966d3 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -21,4 +21,10 @@ public String hello(@RequestParam(name="name", required=false, defaultValue="Wor model.addAttribute("name", name); return "hello"; } + + public void uploadPost() { + Post test = new Post(null, 600, 16, "Penguins", "Left", "Dead", "Sophia", "Penguins!", "https://flowermag.com/wp-content/uploads/2018/02/shasta-daisies-becky-1000x669.jpg"); + + SqlDB.uploadPost(test); + } } \ No newline at end of file diff --git a/src/main/java/service/SqlDB.java b/src/main/java/service/SqlDB.java index c7a6976..c23dae1 100644 --- a/src/main/java/service/SqlDB.java +++ b/src/main/java/service/SqlDB.java @@ -3,6 +3,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; import org.springframework.stereotype.Component; +import java.util.ArrayList; +import java.sql.*; @Component public class SqlDB { @@ -24,5 +26,48 @@ public SqlDB(Environment env) { } // TODO: Add methods to talk to your DB here + /* + * Take created post information and add it into the database + * @param line - + */ + public static void uploadPost(Post post){ + Connection connect = DriverManger.getConnection(url); + try { + String query1 = "INSERT INTO Post ([PlantID], [Age], [PlantName], [Species], [Status], [NameOfUser], [Caption], [PhotoURL])"; + String value = getValues(post); + query1 += "VALUES (" + value + ")"; + Statement st = connection.createStatement(); + st.execute(query1, Statement.RETURN_GENERATED_KEYS); + } catch (Exception e) { + System.err.println("Got an error in tags query! "); + System.err.println(e.getMessage()); + } + } + + public ArrayList viewPosts() { + ArrayList posts = new ArrayList<>(); + return posts; + } + + private String getValues(Post post) { + ArrayList temp = new ArrayList<>(); + temp.add(post.getPlantID); + temp.add(post.getAge); + temp.add("N'" + post.getPlantName + "'"); + temp.add("N'" + post.getSpecies + "'"); + temp.add("N'" + post.getStatus + "'"); + temp.add("N'" + post.getNameOfUser + "'"); + temp.add("N'" + post.getCaption + "'"); + temp.add("N'" + post.getPhotoUrl + "'"); + + String result = ""; + for (int i = 0; i < temp.length(); i++) { + result += data; + if (i != temp.length - 2) { + result += ", "; + } + } + return result; + } } \ No newline at end of file From 437f7a62783344c52187ded13e71fdee69714d5b Mon Sep 17 00:00:00 2001 From: alanaaaa Date: Wed, 23 Nov 2022 07:52:28 -0800 Subject: [PATCH 07/37] Stylized feed page (nav bar) --- src/main/resources/templates/feed.html | 31 +++++++++++++++++++++---- src/main/resources/templates/index.html | 2 +- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/main/resources/templates/feed.html b/src/main/resources/templates/feed.html index 4fab16f..560c82a 100644 --- a/src/main/resources/templates/feed.html +++ b/src/main/resources/templates/feed.html @@ -23,15 +23,32 @@ body{ font-family: Arial, sans-serif; - background-color: rgb(191, 227, 180, 0.9); } + //background-color: rgb(74, 4, 4, 0.7); } + + .flex-container { + display: flex; + height: 600px; + flex-flow: row wrap; + //background-color: rgb(252, 251, 244); + } + + .flex-container > div { + background-color: #f1f1f1; + width: 100px; + margin: 10px; + text-align: center; + line-height: 75px; + font-size: 30px; +} - - +// +//< style="height:1500px"> -

Say hi to some plants!

+ +

Say hi to some plants!

planty - +
+
1
+
2
+
3
+
\ No newline at end of file diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index 702abed..54ab6a7 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -5,6 +5,6 @@ -

Get your greeting here

+

PlantBook here

From 82b8edf4e1ec05d92c47907fc0385caffda915c3 Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Mon, 28 Nov 2022 07:28:08 -0800 Subject: [PATCH 08/37] small comments and little changes --- .vscode/launch.json | 4 +++- gradlew | 0 src/main/java/service/MainController.java | 3 ++- src/main/java/service/Post.java | 8 +++++--- src/main/java/service/SqlDB.java | 6 ++++-- 5 files changed, 14 insertions(+), 7 deletions(-) mode change 100644 => 100755 gradlew diff --git a/.vscode/launch.json b/.vscode/launch.json index f23332c..c9ea6cf 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,6 +4,7 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ + { "type": "java", "name": "Attach Spring", @@ -15,7 +16,8 @@ "type": "java", "name": "Launch Spring", "request": "launch", - "mainClass": "service.WebServer" + "mainClass": "service.WebServer", + "env": {"DB_HOSTNAME": "hnaprojects.database.windows.net", "DB_DB_NAME": "Plantbook", "DB_USER": "hna-admin", "DB_PASSWORD": "HolyNames123"} } ] } \ No newline at end of file diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index f8966d3..0b19285 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -5,6 +5,7 @@ import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; +import java.service.Post; @Controller public class MainController { @@ -25,6 +26,6 @@ public String hello(@RequestParam(name="name", required=false, defaultValue="Wor public void uploadPost() { Post test = new Post(null, 600, 16, "Penguins", "Left", "Dead", "Sophia", "Penguins!", "https://flowermag.com/wp-content/uploads/2018/02/shasta-daisies-becky-1000x669.jpg"); - SqlDB.uploadPost(test); + sqlDB.uploadPost(test); } } \ No newline at end of file diff --git a/src/main/java/service/Post.java b/src/main/java/service/Post.java index 7e3d5af..7ca4458 100644 --- a/src/main/java/service/Post.java +++ b/src/main/java/service/Post.java @@ -1,7 +1,9 @@ package service; + public class Post { private int PostId, PlantId, Age; private String PlantName, Species, Status, NameOfUser, Caption, PhotoUrl; + public Post(int PostId, int PlantId, int Age, String PlantName, String Species, String Status, String NameOfUser, String Caption, String PhotoUrl) { this.PostId = PostId; this.PlantId = PlantId; @@ -13,6 +15,7 @@ public Post(int PostId, int PlantId, int Age, String PlantName, String Species, this.Caption = Caption; this.PhotoUrl = PhotoUrl; } + // all the get methods public int getPostID() { return PostId; @@ -41,6 +44,7 @@ public String getCaption() { public String getPhotoUrl() { return PhotoUrl; } + // all the set methods public void getPostID(int PostId) { this.PostId = PostId; @@ -69,6 +73,4 @@ public void getCaption(String Caption) { public void getPhotoUrl(String PhotoUrl) { this.PhotoUrl = PhotoUrl; } -} - - +} \ No newline at end of file diff --git a/src/main/java/service/SqlDB.java b/src/main/java/service/SqlDB.java index c23dae1..eab82c1 100644 --- a/src/main/java/service/SqlDB.java +++ b/src/main/java/service/SqlDB.java @@ -3,7 +3,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; import org.springframework.stereotype.Component; -import java.util.ArrayList; +import java.util.List; import java.sql.*; @Component @@ -21,7 +21,7 @@ public SqlDB(Environment env) { user = env.getProperty("db.user"); password = env.getProperty("db.password"); - connectionUrl = String.format("jdbc:sqlserver://%s:1433;database=%s;user=%s;password=%s;encrypt=true;" + connectionUrl = String.format("jdbc:sqlserver://%s:1433;database=%s;user=%s;password=%s;encrypt=true" + "hostNameInCertificate=*.database.windows.net;loginTimeout=30;", hostName, dbName, user, password); } @@ -33,10 +33,12 @@ public SqlDB(Environment env) { public static void uploadPost(Post post){ Connection connect = DriverManger.getConnection(url); try { + // creating the query String query1 = "INSERT INTO Post ([PlantID], [Age], [PlantName], [Species], [Status], [NameOfUser], [Caption], [PhotoURL])"; String value = getValues(post); query1 += "VALUES (" + value + ")"; + // adding the post to the table Statement st = connection.createStatement(); st.execute(query1, Statement.RETURN_GENERATED_KEYS); } catch (Exception e) { From 575d04d63088f1a5944ec72b22a3980dd168a97b Mon Sep 17 00:00:00 2001 From: plengins <59629025+plengins@users.noreply.github.com> Date: Mon, 28 Nov 2022 07:31:16 -0800 Subject: [PATCH 09/37] Update bootRun.xml --- .idea/runConfigurations/bootRun.xml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.idea/runConfigurations/bootRun.xml b/.idea/runConfigurations/bootRun.xml index e92b210..098f6be 100644 --- a/.idea/runConfigurations/bootRun.xml +++ b/.idea/runConfigurations/bootRun.xml @@ -1,6 +1,11 @@ + - true + true + true + false \ No newline at end of file From d6d33094a23261cb83408674f2a244628229f1b5 Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Mon, 28 Nov 2022 08:40:43 -0800 Subject: [PATCH 10/37] cleaned up some errors fix "all" error but the one about throwing exception --- src/main/java/service/MainController.java | 3 +-- src/main/java/service/Post.java | 14 ++++++++++- src/main/java/service/SqlDB.java | 30 +++++++++++------------ 3 files changed, 29 insertions(+), 18 deletions(-) diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index 0b19285..0c0a071 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -5,7 +5,6 @@ import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; -import java.service.Post; @Controller public class MainController { @@ -24,7 +23,7 @@ public String hello(@RequestParam(name="name", required=false, defaultValue="Wor } public void uploadPost() { - Post test = new Post(null, 600, 16, "Penguins", "Left", "Dead", "Sophia", "Penguins!", "https://flowermag.com/wp-content/uploads/2018/02/shasta-daisies-becky-1000x669.jpg"); + Post test = new Post(600, 16, "Penguins", "Left", "Dead", "Sophia", "Penguins!", "https://flowermag.com/wp-content/uploads/2018/02/shasta-daisies-becky-1000x669.jpg"); sqlDB.uploadPost(test); } diff --git a/src/main/java/service/Post.java b/src/main/java/service/Post.java index 7ca4458..4d7c949 100644 --- a/src/main/java/service/Post.java +++ b/src/main/java/service/Post.java @@ -16,6 +16,18 @@ public Post(int PostId, int PlantId, int Age, String PlantName, String Species, this.PhotoUrl = PhotoUrl; } + public Post(int PlantId, int Age, String PlantName, String Species, String Status, String NameOfUser, String Caption, String PhotoUrl) { + PostId = 0; + this.PlantId = PlantId; + this.Age = Age; + this.PlantName = PlantName; + this.Species = Species; + this.Status = Status; + this.NameOfUser = NameOfUser; + this.Caption = Caption; + this.PhotoUrl = PhotoUrl; + } + // all the get methods public int getPostID() { return PostId; @@ -44,7 +56,7 @@ public String getCaption() { public String getPhotoUrl() { return PhotoUrl; } - + // all the set methods public void getPostID(int PostId) { this.PostId = PostId; diff --git a/src/main/java/service/SqlDB.java b/src/main/java/service/SqlDB.java index eab82c1..ac218e6 100644 --- a/src/main/java/service/SqlDB.java +++ b/src/main/java/service/SqlDB.java @@ -3,7 +3,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; import org.springframework.stereotype.Component; -import java.util.List; +import java.util.ArrayList; import java.sql.*; @Component @@ -30,8 +30,8 @@ public SqlDB(Environment env) { * Take created post information and add it into the database * @param line - */ - public static void uploadPost(Post post){ - Connection connect = DriverManger.getConnection(url); + public void uploadPost(Post post) { + Connection connect = DriverManager.getConnection(connectionUrl); try { // creating the query String query1 = "INSERT INTO Post ([PlantID], [Age], [PlantName], [Species], [Status], [NameOfUser], [Caption], [PhotoURL])"; @@ -39,7 +39,7 @@ public static void uploadPost(Post post){ query1 += "VALUES (" + value + ")"; // adding the post to the table - Statement st = connection.createStatement(); + Statement st = connect.createStatement(); st.execute(query1, Statement.RETURN_GENERATED_KEYS); } catch (Exception e) { System.err.println("Got an error in tags query! "); @@ -54,19 +54,19 @@ public ArrayList viewPosts() { private String getValues(Post post) { ArrayList temp = new ArrayList<>(); - temp.add(post.getPlantID); - temp.add(post.getAge); - temp.add("N'" + post.getPlantName + "'"); - temp.add("N'" + post.getSpecies + "'"); - temp.add("N'" + post.getStatus + "'"); - temp.add("N'" + post.getNameOfUser + "'"); - temp.add("N'" + post.getCaption + "'"); - temp.add("N'" + post.getPhotoUrl + "'"); + temp.add(Integer.toString(post.getPlantID())); + temp.add(Integer.toString(post.getAge())); + temp.add("N'" + post.getPlantName() + "'"); + temp.add("N'" + post.getSpecies() + "'"); + temp.add("N'" + post.getStatus() + "'"); + temp.add("N'" + post.getNameOfUser() + "'"); + temp.add("N'" + post.getCaption() + "'"); + temp.add("N'" + post.getPhotoUrl() + "'"); String result = ""; - for (int i = 0; i < temp.length(); i++) { - result += data; - if (i != temp.length - 2) { + for (int i = 0; i < temp.size(); i++) { + result += temp.get(i); + if (i != temp.size() - 2) { result += ", "; } } From e33988ca9cdc37b41a301bf0292ffe47ff939189 Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Mon, 28 Nov 2022 08:54:48 -0800 Subject: [PATCH 11/37] finally builds!!! does it work as intended? prob not but it builds! --- src/main/java/service/SqlDB.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/service/SqlDB.java b/src/main/java/service/SqlDB.java index ac218e6..4758c07 100644 --- a/src/main/java/service/SqlDB.java +++ b/src/main/java/service/SqlDB.java @@ -31,8 +31,10 @@ public SqlDB(Environment env) { * @param line - */ public void uploadPost(Post post) { - Connection connect = DriverManager.getConnection(connectionUrl); + Connection connect = null; try { + connect = DriverManager.getConnection(connectionUrl); + // creating the query String query1 = "INSERT INTO Post ([PlantID], [Age], [PlantName], [Species], [Status], [NameOfUser], [Caption], [PhotoURL])"; String value = getValues(post); From c824a093ac356d99629bcbea4162c69dc7129796 Mon Sep 17 00:00:00 2001 From: Jasmine-xnf <81267766+Jasmine-xnf@users.noreply.github.com> Date: Wed, 7 Dec 2022 07:17:11 -0800 Subject: [PATCH 12/37] updated @PostMapping note: api under maintenance --- src/main/java/service/MainController.java | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index 2d96326..c871297 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -23,12 +23,27 @@ public String hello(@RequestParam(name="name", required=false, defaultValue="Wor } - @PostMapping("/api") + @PostMapping("/") public String index() { return "index"; } + //HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); + //public respHttpResponse getResponse() {return response;} + + @PostMapping("/api") + public String callAPI() { + plantAPi.api(); + } + + /* function httpGet(Url) + { + var xmlHttp = new XMLHttpRequest(); + xmlHttp.open( "GET", https://house-plants.p.rapidapi.com/common/coralberry, false ); // false for synchronous request + xmlHttp.send( https://house-plants.p.rapidapi.com/common/coralberry ); + return xmlHttp.responseText; + } + @PostMapping("/api") - HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); - public respHttpResponse getResponse() {return response;} + } \ No newline at end of file From 21dc21ba8538472977e587beab8f9067ec5a76ec Mon Sep 17 00:00:00 2001 From: alanaaaa Date: Wed, 7 Dec 2022 07:19:25 -0800 Subject: [PATCH 13/37] Stylized feed page (nav bar) --- src/main/resources/templates/feed.html | 41 ++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/src/main/resources/templates/feed.html b/src/main/resources/templates/feed.html index 560c82a..a826c44 100644 --- a/src/main/resources/templates/feed.html +++ b/src/main/resources/templates/feed.html @@ -21,6 +21,29 @@ margin-left: auto; } + h2 { + color: rgb(74, 4, 4); + opacity: 1.0; + font-size: 25px; + margin-top: 5px; + margin-bottom: 5px; + margin-right: 25px; + margin-left: auto; + } + + image { + margin-top:0 + margin-bottom:5; + margin-right: 25px; + margin-left: auto; + max-width: 100%; + max-height: 100%; + } + + caption { + + } + body{ font-family: Arial, sans-serif; //background-color: rgb(74, 4, 4, 0.7); } @@ -28,13 +51,17 @@ .flex-container { display: flex; height: 600px; - flex-flow: row wrap; + //flex-flow: row wrap; + flex-basis:content; + justify-content: space-around; + align-items: flex-start; //background-color: rgb(252, 251, 244); + } .flex-container > div { background-color: #f1f1f1; - width: 100px; + width: 150px; margin: 10px; text-align: center; line-height: 75px; @@ -45,7 +72,7 @@ //< style="height:1500px"> - +

Say hi to some plants!

@@ -64,9 +91,11 @@

Say hi to some plants!

planty
-
1
-
2
-
3
+

Post 1

+ planty +
+

Post 2

+

Post 3

\ No newline at end of file From 5e37a4535ce5a35bd5156c2d2c5d240a9cc0ef08 Mon Sep 17 00:00:00 2001 From: Jasmine-xnf <81267766+Jasmine-xnf@users.noreply.github.com> Date: Wed, 7 Dec 2022 07:20:27 -0800 Subject: [PATCH 14/37] updated @PostMapping note: api under maintenance --- src/main/java/service/MainController.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index c871297..eb19c6e 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -28,9 +28,6 @@ public String index() { return "index"; } - //HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); - //public respHttpResponse getResponse() {return response;} - @PostMapping("/api") public String callAPI() { plantAPi.api(); @@ -43,7 +40,8 @@ public String callAPI() { xmlHttp.send( https://house-plants.p.rapidapi.com/common/coralberry ); return xmlHttp.responseText; } - - @PostMapping("/api") + HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); + public respHttpResponse getResponse() {return response;} + */ } \ No newline at end of file From c9a17d028f61992e03fccaace0ee7205eb24473f Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Wed, 7 Dec 2022 07:26:47 -0800 Subject: [PATCH 15/37] :)) --- src/main/java/service/MainController.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index 0c0a071..49200db 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -4,6 +4,7 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller @@ -22,7 +23,9 @@ public String hello(@RequestParam(name="name", required=false, defaultValue="Wor return "hello"; } + @GetMapping("/upload") // change to post later public void uploadPost() { + // Post(int PlantId, int Age, String PlantName, String Species, String Status, String NameOfUser, String Caption, String PhotoUrl) Post test = new Post(600, 16, "Penguins", "Left", "Dead", "Sophia", "Penguins!", "https://flowermag.com/wp-content/uploads/2018/02/shasta-daisies-becky-1000x669.jpg"); sqlDB.uploadPost(test); From af789292d2f8bdd2a6482f8c0b6041d11240afb3 Mon Sep 17 00:00:00 2001 From: alanaaaa Date: Wed, 7 Dec 2022 07:52:59 -0800 Subject: [PATCH 16/37] Stylized feed page (nav bar) --- src/main/resources/templates/feed.html | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/resources/templates/feed.html b/src/main/resources/templates/feed.html index a826c44..dc625cb 100644 --- a/src/main/resources/templates/feed.html +++ b/src/main/resources/templates/feed.html @@ -31,8 +31,8 @@ margin-left: auto; } - image { - margin-top:0 + img { + margin-top:0; margin-bottom:5; margin-right: 25px; margin-left: auto; @@ -50,7 +50,8 @@ .flex-container { display: flex; - height: 600px; + height: content; + flex-direction: row; //flex-flow: row wrap; flex-basis:content; justify-content: space-around; @@ -61,14 +62,14 @@ .flex-container > div { background-color: #f1f1f1; - width: 150px; + width: 30%; margin: 10px; text-align: center; line-height: 75px; font-size: 30px; } -// + // //< style="height:1500px"> @@ -89,10 +90,11 @@

Say hi to some plants!

- planty +planty

Post 1

- planty + planty + Forgot to water him for 3 months :/

Post 2

Post 3

From a9bf67701161eeb0e1bb2ba7bedc1a1c2555ba22 Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Mon, 12 Dec 2022 07:45:31 -0800 Subject: [PATCH 17/37] still need to figure out postid need to have postid done in azure --- src/main/java/service/MainController.java | 3 ++- src/main/java/service/SqlDB.java | 13 ++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index 49200db..7ab3c03 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -24,10 +24,11 @@ public String hello(@RequestParam(name="name", required=false, defaultValue="Wor } @GetMapping("/upload") // change to post later - public void uploadPost() { + public String uploadPost() { // Post(int PlantId, int Age, String PlantName, String Species, String Status, String NameOfUser, String Caption, String PhotoUrl) Post test = new Post(600, 16, "Penguins", "Left", "Dead", "Sophia", "Penguins!", "https://flowermag.com/wp-content/uploads/2018/02/shasta-daisies-becky-1000x669.jpg"); sqlDB.uploadPost(test); + return "index"; } } \ No newline at end of file diff --git a/src/main/java/service/SqlDB.java b/src/main/java/service/SqlDB.java index 4758c07..bebc8e6 100644 --- a/src/main/java/service/SqlDB.java +++ b/src/main/java/service/SqlDB.java @@ -21,7 +21,7 @@ public SqlDB(Environment env) { user = env.getProperty("db.user"); password = env.getProperty("db.password"); - connectionUrl = String.format("jdbc:sqlserver://%s:1433;database=%s;user=%s;password=%s;encrypt=true" + connectionUrl = String.format("jdbc:sqlserver://%s:1433;database=%s;user=%s;password=%s;encrypt=true;" + "hostNameInCertificate=*.database.windows.net;loginTimeout=30;", hostName, dbName, user, password); } @@ -36,9 +36,11 @@ public void uploadPost(Post post) { connect = DriverManager.getConnection(connectionUrl); // creating the query - String query1 = "INSERT INTO Post ([PlantID], [Age], [PlantName], [Species], [Status], [NameOfUser], [Caption], [PhotoURL])"; + String query1 = "INSERT INTO Post ([PostID], [PlantID], [Age], [PlantName], [Species], [Status], [NameOfUser], [Caption], [PhotoURL])"; + System.out.println(query1); String value = getValues(post); - query1 += "VALUES (" + value + ")"; + query1 += " VALUES (" + value + ")"; + System.out.println(query1); // adding the post to the table Statement st = connect.createStatement(); @@ -56,11 +58,12 @@ public ArrayList viewPosts() { private String getValues(Post post) { ArrayList temp = new ArrayList<>(); + temp.add(Integer.toString(post.getPostID())); temp.add(Integer.toString(post.getPlantID())); temp.add(Integer.toString(post.getAge())); temp.add("N'" + post.getPlantName() + "'"); temp.add("N'" + post.getSpecies() + "'"); - temp.add("N'" + post.getStatus() + "'"); + temp.add("N'" + post.getStatus() + "'"); temp.add("N'" + post.getNameOfUser() + "'"); temp.add("N'" + post.getCaption() + "'"); temp.add("N'" + post.getPhotoUrl() + "'"); @@ -68,7 +71,7 @@ private String getValues(Post post) { String result = ""; for (int i = 0; i < temp.size(); i++) { result += temp.get(i); - if (i != temp.size() - 2) { + if (i < temp.size() - 1) { result += ", "; } } From 731e9d03398c8167bd4a3406afbc5332a0e30cee Mon Sep 17 00:00:00 2001 From: alanaaaa Date: Mon, 12 Dec 2022 07:51:05 -0800 Subject: [PATCH 18/37] Stylized feed page (nav bar) --- src/main/resources/templates/feed.html | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/main/resources/templates/feed.html b/src/main/resources/templates/feed.html index dc625cb..806164c 100644 --- a/src/main/resources/templates/feed.html +++ b/src/main/resources/templates/feed.html @@ -27,8 +27,18 @@ font-size: 25px; margin-top: 5px; margin-bottom: 5px; - margin-right: 25px; - margin-left: auto; + margin-left: 20px; + text-align: left; + } + + h3 { + color: rgb(74, 4, 4); + opacity: 1.0; + font-size: 20px; + margin-top: 3px; + margin-bottom: 3px; + margin-left: 15px; + text-align: left; } img { @@ -40,7 +50,8 @@ max-height: 100%; } - caption { + button1 { + } @@ -50,10 +61,12 @@ .flex-container { display: flex; + flex-wrap: wrap; + height: content; flex-direction: row; //flex-flow: row wrap; - flex-basis:content; + flex-basis:100%; justify-content: space-around; align-items: flex-start; //background-color: rgb(252, 251, 244); @@ -94,10 +107,13 @@

Say hi to some plants!

Post 1

planty - Forgot to water him for 3 months :/ +

Forgot to water him for 3 months :/

Post 2

Post 3

+

Post 4

+ planty
+

Post 5

\ No newline at end of file From d9fa4704cb09cc8d570960b04b52bdac4e4776e3 Mon Sep 17 00:00:00 2001 From: anaiysaa Date: Wed, 14 Dec 2022 07:25:57 -0800 Subject: [PATCH 19/37] 11/16/22 --- src/main/java/service/MainController.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index eb19c6e..6c8bff0 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -23,15 +23,6 @@ public String hello(@RequestParam(name="name", required=false, defaultValue="Wor } - @PostMapping("/") - public String index() { - return "index"; - } - - @PostMapping("/api") - public String callAPI() { - plantAPi.api(); - } /* function httpGet(Url) { From 6121358a6be7d38acd34aaa4ce38c2eb6fb45e83 Mon Sep 17 00:00:00 2001 From: alanaaaa Date: Wed, 11 Jan 2023 07:16:33 -0800 Subject: [PATCH 20/37] Stylized feed page (nav bar) --- src/main/resources/templates/feed.html | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/resources/templates/feed.html b/src/main/resources/templates/feed.html index 806164c..f68b7dd 100644 --- a/src/main/resources/templates/feed.html +++ b/src/main/resources/templates/feed.html @@ -1,5 +1,6 @@ - + + PlantBook: Main Feed @@ -105,9 +106,10 @@

Say hi to some plants!

planty
-

Post 1

- planty -

Forgot to water him for 3 months :/

+
+

+ +

Post 2

Post 3

From fd7837a313d3f81ec46959ea461d634b98470178 Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Wed, 11 Jan 2023 07:22:04 -0800 Subject: [PATCH 21/37] added other method headers --- src/main/java/service/SqlDB.java | 43 ++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/src/main/java/service/SqlDB.java b/src/main/java/service/SqlDB.java index bebc8e6..c07acc4 100644 --- a/src/main/java/service/SqlDB.java +++ b/src/main/java/service/SqlDB.java @@ -37,10 +37,8 @@ public void uploadPost(Post post) { // creating the query String query1 = "INSERT INTO Post ([PostID], [PlantID], [Age], [PlantName], [Species], [Status], [NameOfUser], [Caption], [PhotoURL])"; - System.out.println(query1); String value = getValues(post); query1 += " VALUES (" + value + ")"; - System.out.println(query1); // adding the post to the table Statement st = connect.createStatement(); @@ -52,10 +50,51 @@ public void uploadPost(Post post) { } public ArrayList viewPosts() { + Connection connect = null; + ArrayList posts = new ArrayList<>(); + + try { + connect = DriverManager.getConnection(connectionUrl); + + } catch (Exception e) { + System.err.println("Got an error in tags query! "); + System.err.println(e.getMessage()); + } + return posts; } + public void deletePosts(Post post) { + Connection connect = null; + try { + connect = DriverManager.getConnection(connectionUrl); + + // creating the query + String query1 = "DELETE FROM Post WHERE PostID=" + post.getPostID() + + ", PlantID=" + post.getPlantID() + ", Age=" + post.getAge() + + ", PlantName=" + post.getPlantName() + " Species, Status, NameOfUser, Caption, PhotoURL"; + + // deleting the post to the table + Statement st = connect.createStatement(); + st.execute(query1, Statement.RETURN_GENERATED_KEYS); + } catch (Exception e) { + System.err.println("Got an error in tags query! "); + System.err.println(e.getMessage()); + } + } + + public void updatePosts() { + Connection connect = null; + try { + connect = DriverManager.getConnection(connectionUrl); + + } catch (Exception e) { + System.err.println("Got an error in tags query! "); + System.err.println(e.getMessage()); + } + } + private String getValues(Post post) { ArrayList temp = new ArrayList<>(); temp.add(Integer.toString(post.getPostID())); From 3fe95b2aac93200f8071eff2daefad1705565461 Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Wed, 11 Jan 2023 18:58:27 -0800 Subject: [PATCH 22/37] in azure works ;) but in here tho but did some changes --- src/main/java/service/MainController.java | 2 +- src/main/java/service/Post.java | 2 +- src/main/java/service/SqlDB.java | 23 ++++++++++++----------- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index 7ab3c03..c4a9326 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -26,7 +26,7 @@ public String hello(@RequestParam(name="name", required=false, defaultValue="Wor @GetMapping("/upload") // change to post later public String uploadPost() { // Post(int PlantId, int Age, String PlantName, String Species, String Status, String NameOfUser, String Caption, String PhotoUrl) - Post test = new Post(600, 16, "Penguins", "Left", "Dead", "Sophia", "Penguins!", "https://flowermag.com/wp-content/uploads/2018/02/shasta-daisies-becky-1000x669.jpg"); + Post test = new Post(459, 987, "hi", "ahhhh", "jgyhtg", "Sophia", "Penguins!", "https://flowermag.com/wp-content/uploads/2018/02/shasta-daisies-becky-1000x669.jpg"); sqlDB.uploadPost(test); return "index"; diff --git a/src/main/java/service/Post.java b/src/main/java/service/Post.java index 4d7c949..31ef620 100644 --- a/src/main/java/service/Post.java +++ b/src/main/java/service/Post.java @@ -17,7 +17,7 @@ public Post(int PostId, int PlantId, int Age, String PlantName, String Species, } public Post(int PlantId, int Age, String PlantName, String Species, String Status, String NameOfUser, String Caption, String PhotoUrl) { - PostId = 0; + PostId = 0; // "created" when post is added to the database this.PlantId = PlantId; this.Age = Age; this.PlantName = PlantName; diff --git a/src/main/java/service/SqlDB.java b/src/main/java/service/SqlDB.java index c07acc4..b89bfdb 100644 --- a/src/main/java/service/SqlDB.java +++ b/src/main/java/service/SqlDB.java @@ -25,7 +25,6 @@ public SqlDB(Environment env) { + "hostNameInCertificate=*.database.windows.net;loginTimeout=30;", hostName, dbName, user, password); } - // TODO: Add methods to talk to your DB here /* * Take created post information and add it into the database * @param line - @@ -36,13 +35,16 @@ public void uploadPost(Post post) { connect = DriverManager.getConnection(connectionUrl); // creating the query - String query1 = "INSERT INTO Post ([PostID], [PlantID], [Age], [PlantName], [Species], [Status], [NameOfUser], [Caption], [PhotoURL])"; + String query1 = "INSERT INTO Post ([PlantID], [Age], [PlantName], [Species], [Status], [NameOfUser], [Caption], [PhotoURL])"; String value = getValues(post); - query1 += " VALUES (" + value + ")"; + query1 += "VALUES (" + value + ");"; // adding the post to the table Statement st = connect.createStatement(); st.execute(query1, Statement.RETURN_GENERATED_KEYS); + + //TODO: get PostID and assigned it + } catch (Exception e) { System.err.println("Got an error in tags query! "); System.err.println(e.getMessage()); @@ -84,7 +86,7 @@ public void deletePosts(Post post) { } } - public void updatePosts() { + public void updatePosts() { Connection connect = null; try { connect = DriverManager.getConnection(connectionUrl); @@ -97,15 +99,14 @@ public void updatePosts() { private String getValues(Post post) { ArrayList temp = new ArrayList<>(); - temp.add(Integer.toString(post.getPostID())); temp.add(Integer.toString(post.getPlantID())); temp.add(Integer.toString(post.getAge())); - temp.add("N'" + post.getPlantName() + "'"); - temp.add("N'" + post.getSpecies() + "'"); - temp.add("N'" + post.getStatus() + "'"); - temp.add("N'" + post.getNameOfUser() + "'"); - temp.add("N'" + post.getCaption() + "'"); - temp.add("N'" + post.getPhotoUrl() + "'"); + temp.add(post.getPlantName() + "'"); + temp.add(post.getSpecies() + "'"); + temp.add(post.getStatus() + "'"); + temp.add(post.getNameOfUser() + "'"); + temp.add(post.getCaption() + "'"); + temp.add(post.getPhotoUrl() + "'"); String result = ""; for (int i = 0; i < temp.size(); i++) { From e3459fc6bf042a923687017421f2724bf614dd06 Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Wed, 25 Jan 2023 07:18:57 -0800 Subject: [PATCH 23/37] ahhh --- src/main/java/service/SqlDB.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/service/SqlDB.java b/src/main/java/service/SqlDB.java index b89bfdb..be9f8af 100644 --- a/src/main/java/service/SqlDB.java +++ b/src/main/java/service/SqlDB.java @@ -32,12 +32,15 @@ public SqlDB(Environment env) { public void uploadPost(Post post) { Connection connect = null; try { + System.out.println(connectionUrl); + System.out.println("HN1: " + hostName); connect = DriverManager.getConnection(connectionUrl); // creating the query - String query1 = "INSERT INTO Post ([PlantID], [Age], [PlantName], [Species], [Status], [NameOfUser], [Caption], [PhotoURL])"; - String value = getValues(post); - query1 += "VALUES (" + value + ");"; + String query1 = "INSERT INTO Post ([PostID], [PlantID], [Age], [PlantName], [Species], [Status], [NameOfUser], [Caption], [PhotoURL])"; + System.out.println("Current Query:\n" + query1); + query1 += " VALUES (" + getValues(post) + ");"; + System.out.println("Current Query:\n" + query1); // adding the post to the table Statement st = connect.createStatement(); From 6f8247bd3bfce85bc46811478b384d24b007b3a3 Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Wed, 25 Jan 2023 07:43:59 -0800 Subject: [PATCH 24/37] it works <333 --- src/main/java/service/SqlDB.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/main/java/service/SqlDB.java b/src/main/java/service/SqlDB.java index be9f8af..6b393dc 100644 --- a/src/main/java/service/SqlDB.java +++ b/src/main/java/service/SqlDB.java @@ -32,15 +32,11 @@ public SqlDB(Environment env) { public void uploadPost(Post post) { Connection connect = null; try { - System.out.println(connectionUrl); - System.out.println("HN1: " + hostName); connect = DriverManager.getConnection(connectionUrl); // creating the query String query1 = "INSERT INTO Post ([PostID], [PlantID], [Age], [PlantName], [Species], [Status], [NameOfUser], [Caption], [PhotoURL])"; - System.out.println("Current Query:\n" + query1); query1 += " VALUES (" + getValues(post) + ");"; - System.out.println("Current Query:\n" + query1); // adding the post to the table Statement st = connect.createStatement(); @@ -104,12 +100,12 @@ private String getValues(Post post) { ArrayList temp = new ArrayList<>(); temp.add(Integer.toString(post.getPlantID())); temp.add(Integer.toString(post.getAge())); - temp.add(post.getPlantName() + "'"); - temp.add(post.getSpecies() + "'"); - temp.add(post.getStatus() + "'"); - temp.add(post.getNameOfUser() + "'"); - temp.add(post.getCaption() + "'"); - temp.add(post.getPhotoUrl() + "'"); + temp.add("N'" + post.getPlantName() + "'"); + temp.add("N'" + post.getSpecies() + "'"); + temp.add("N'" + post.getStatus() + "'"); + temp.add("N'" + post.getNameOfUser() + "'"); + temp.add("N'" + post.getCaption() + "'"); + temp.add("N'" + post.getPhotoUrl() + "'"); String result = ""; for (int i = 0; i < temp.size(); i++) { From aabb5d9bbf003a9609723e610c5b79b60185c3cb Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Wed, 25 Jan 2023 07:53:56 -0800 Subject: [PATCH 25/37] :)) --- src/main/java/service/MainController.java | 3 ++- src/main/java/service/Post.java | 18 +++++++++--------- src/main/java/service/SqlDB.java | 4 ++-- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index c4a9326..b34e470 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -26,8 +26,9 @@ public String hello(@RequestParam(name="name", required=false, defaultValue="Wor @GetMapping("/upload") // change to post later public String uploadPost() { // Post(int PlantId, int Age, String PlantName, String Species, String Status, String NameOfUser, String Caption, String PhotoUrl) - Post test = new Post(459, 987, "hi", "ahhhh", "jgyhtg", "Sophia", "Penguins!", "https://flowermag.com/wp-content/uploads/2018/02/shasta-daisies-becky-1000x669.jpg"); + Post test = new Post(459, 987, "hi", "kjhgfd", "jgyhtg", "Sophia", "Penguins!", "https://flowermag.com/wp-content/uploads/2018/02/shasta-daisies-becky-1000x669.jpg"); + sqlDB.uploadPost(test); return "index"; } diff --git a/src/main/java/service/Post.java b/src/main/java/service/Post.java index 31ef620..b28762e 100644 --- a/src/main/java/service/Post.java +++ b/src/main/java/service/Post.java @@ -58,31 +58,31 @@ public String getPhotoUrl() { } // all the set methods - public void getPostID(int PostId) { + public void setPostID(int PostId) { this.PostId = PostId; } - public void getPlantID(int PlantId) { + public void setPlantID(int PlantId) { this.PlantId = PlantId; } - public void getAge(int age) { + public void setAge(int age) { this.Age = Age; } - public void getPlantName(String PlantName) { + public void setPlantName(String PlantName) { this.PlantName = PlantName; } - public void getSpecies(String Species) { + public void setSpecies(String Species) { this.Species = Species; } - public void getStatus(String Status) { + public void setStatus(String Status) { this.Status = Status; } - public void getNameOfUser(String NameOfUser) { + public void setNameOfUser(String NameOfUser) { this.NameOfUser = NameOfUser; } - public void getCaption(String Caption) { + public void setCaption(String Caption) { this.Caption = Caption; } - public void getPhotoUrl(String PhotoUrl) { + public void setPhotoUrl(String PhotoUrl) { this.PhotoUrl = PhotoUrl; } } \ No newline at end of file diff --git a/src/main/java/service/SqlDB.java b/src/main/java/service/SqlDB.java index 6b393dc..78aacc2 100644 --- a/src/main/java/service/SqlDB.java +++ b/src/main/java/service/SqlDB.java @@ -35,12 +35,12 @@ public void uploadPost(Post post) { connect = DriverManager.getConnection(connectionUrl); // creating the query - String query1 = "INSERT INTO Post ([PostID], [PlantID], [Age], [PlantName], [Species], [Status], [NameOfUser], [Caption], [PhotoURL])"; + String query1 = "INSERT INTO Post ([PlantID], [Age], [PlantName], [Species], [Status], [NameOfUser], [Caption], [PhotoURL])"; query1 += " VALUES (" + getValues(post) + ");"; // adding the post to the table Statement st = connect.createStatement(); - st.execute(query1, Statement.RETURN_GENERATED_KEYS); + st.execute(query1, Statement.RETURN_GENERATED_KEYS); // check what this returns //TODO: get PostID and assigned it From 1ad408d7aa261b32b8b4c3c54bf480a70199d404 Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Wed, 25 Jan 2023 08:00:06 -0800 Subject: [PATCH 26/37] naming of methods in Post --- src/main/java/service/Post.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/service/Post.java b/src/main/java/service/Post.java index 7e3d5af..7d2e792 100644 --- a/src/main/java/service/Post.java +++ b/src/main/java/service/Post.java @@ -42,31 +42,31 @@ public String getPhotoUrl() { return PhotoUrl; } // all the set methods - public void getPostID(int PostId) { + public void setPostID(int PostId) { this.PostId = PostId; } - public void getPlantID(int PlantId) { + public void setPlantID(int PlantId) { this.PlantId = PlantId; } - public void getAge(int age) { + public void setAge(int age) { this.Age = Age; } - public void getPlantName(String PlantName) { + public void setPlantName(String PlantName) { this.PlantName = PlantName; } - public void getSpecies(String Species) { + public void setSpecies(String Species) { this.Species = Species; } - public void getStatus(String Status) { + public void setStatus(String Status) { this.Status = Status; } - public void getNameOfUser(String NameOfUser) { + public void setNameOfUser(String NameOfUser) { this.NameOfUser = NameOfUser; } - public void getCaption(String Caption) { + public void setCaption(String Caption) { this.Caption = Caption; } - public void getPhotoUrl(String PhotoUrl) { + public void setPhotoUrl(String PhotoUrl) { this.PhotoUrl = PhotoUrl; } } From 2260da0b321e44adb45c9659b9708ad887b3ab87 Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Wed, 25 Jan 2023 08:03:14 -0800 Subject: [PATCH 27/37] null postid --- src/main/java/service/Post.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/service/Post.java b/src/main/java/service/Post.java index b28762e..1813b01 100644 --- a/src/main/java/service/Post.java +++ b/src/main/java/service/Post.java @@ -1,7 +1,8 @@ package service; public class Post { - private int PostId, PlantId, Age; + private Integer PostId; + private int PlantId, Age; private String PlantName, Species, Status, NameOfUser, Caption, PhotoUrl; public Post(int PostId, int PlantId, int Age, String PlantName, String Species, String Status, String NameOfUser, String Caption, String PhotoUrl) { @@ -17,7 +18,7 @@ public Post(int PostId, int PlantId, int Age, String PlantName, String Species, } public Post(int PlantId, int Age, String PlantName, String Species, String Status, String NameOfUser, String Caption, String PhotoUrl) { - PostId = 0; // "created" when post is added to the database + PostId = null; // "created" when post is added to the database this.PlantId = PlantId; this.Age = Age; this.PlantName = PlantName; From f02da00e429e626dde8cfcc810224c650c4fe5c2 Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Wed, 25 Jan 2023 08:04:17 -0800 Subject: [PATCH 28/37] new constructor & changing variable --- src/main/java/service/Post.java | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/main/java/service/Post.java b/src/main/java/service/Post.java index 7d2e792..1813b01 100644 --- a/src/main/java/service/Post.java +++ b/src/main/java/service/Post.java @@ -1,7 +1,10 @@ package service; + public class Post { - private int PostId, PlantId, Age; + private Integer PostId; + private int PlantId, Age; private String PlantName, Species, Status, NameOfUser, Caption, PhotoUrl; + public Post(int PostId, int PlantId, int Age, String PlantName, String Species, String Status, String NameOfUser, String Caption, String PhotoUrl) { this.PostId = PostId; this.PlantId = PlantId; @@ -13,6 +16,19 @@ public Post(int PostId, int PlantId, int Age, String PlantName, String Species, this.Caption = Caption; this.PhotoUrl = PhotoUrl; } + + public Post(int PlantId, int Age, String PlantName, String Species, String Status, String NameOfUser, String Caption, String PhotoUrl) { + PostId = null; // "created" when post is added to the database + this.PlantId = PlantId; + this.Age = Age; + this.PlantName = PlantName; + this.Species = Species; + this.Status = Status; + this.NameOfUser = NameOfUser; + this.Caption = Caption; + this.PhotoUrl = PhotoUrl; + } + // all the get methods public int getPostID() { return PostId; @@ -41,6 +57,7 @@ public String getCaption() { public String getPhotoUrl() { return PhotoUrl; } + // all the set methods public void setPostID(int PostId) { this.PostId = PostId; @@ -69,6 +86,4 @@ public void setCaption(String Caption) { public void setPhotoUrl(String PhotoUrl) { this.PhotoUrl = PhotoUrl; } -} - - +} \ No newline at end of file From 34486ae324d38ed9215ace0ac1e33688066f0a42 Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Wed, 25 Jan 2023 20:39:25 -0800 Subject: [PATCH 29/37] :) --- src/main/java/service/SqlDB.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/service/SqlDB.java b/src/main/java/service/SqlDB.java index 78aacc2..cc26c35 100644 --- a/src/main/java/service/SqlDB.java +++ b/src/main/java/service/SqlDB.java @@ -40,7 +40,7 @@ public void uploadPost(Post post) { // adding the post to the table Statement st = connect.createStatement(); - st.execute(query1, Statement.RETURN_GENERATED_KEYS); // check what this returns + st.execute(query1, Statement.RETURN_GENERATED_KEYS); // check what this returns (returns a boolean) //TODO: get PostID and assigned it From 4fdb504cdbcc2d934fae0091f4934d4299a08400 Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Mon, 30 Jan 2023 07:31:40 -0800 Subject: [PATCH 30/37] remove env --- .vscode/launch.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index c9ea6cf..92ef683 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -16,8 +16,7 @@ "type": "java", "name": "Launch Spring", "request": "launch", - "mainClass": "service.WebServer", - "env": {"DB_HOSTNAME": "hnaprojects.database.windows.net", "DB_DB_NAME": "Plantbook", "DB_USER": "hna-admin", "DB_PASSWORD": "HolyNames123"} + "mainClass": "service.WebServer" } ] } \ No newline at end of file From 7af280166ee0b8029dc7f855e6d6eac1b3e49438 Mon Sep 17 00:00:00 2001 From: AerialAstrea Date: Mon, 30 Jan 2023 07:37:19 -0800 Subject: [PATCH 31/37] Update MainController.java --- src/main/java/service/MainController.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index 2542f88..f6fb0cd 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -25,6 +25,17 @@ public String hello(@RequestParam(name="name", required=false, defaultValue="Wor } + /* function httpGet(Url) + { + var xmlHttp = new XMLHttpRequest(); + xmlHttp.open( "GET", https://house-plants.p.rapidapi.com/common/coralberry, false ); // false for synchronous request + xmlHttp.send( https://house-plants.p.rapidapi.com/common/coralberry ); + return xmlHttp.responseText; + } + HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); + public respHttpResponse getResponse() {return response;} + */ + @GetMapping("/upload") // change to post later public String uploadPost() { // Post(int PlantId, int Age, String PlantName, String Species, String Status, String NameOfUser, String Caption, String PhotoUrl) From d40a436197838bae4164472e83d3588e14b06db6 Mon Sep 17 00:00:00 2001 From: alanaaaa Date: Mon, 30 Jan 2023 07:52:09 -0800 Subject: [PATCH 32/37] Stylized feed page (nav bar) --- src/main/java/service/MainController.java | 11 ++++++++++- src/main/resources/templates/feed.html | 10 ++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index 6b754cc..fb29b52 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -6,6 +6,8 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; +import java.util.ArrayList; + @Controller public class MainController { @Autowired @@ -23,5 +25,12 @@ public String hello(@RequestParam(name="name", required=false, defaultValue="Wor } @GetMapping("/feed") - public String feed(){ return "feed"; } + public String feed(@RequestParam(name="Clarence", required=false, defaultValue="planty") String name, Model model){ + model.addAttribute("Clarence", name); + Post plant = new Post(01, 01, 00, "plantbert", "green", "not green", "Alana", "pretty dead", "dfdhsjkf"); + ArrayList posts = new ArrayList<>(); + posts.add(plant); + model.addAttribute(posts); + return "/feed"; + } } \ No newline at end of file diff --git a/src/main/resources/templates/feed.html b/src/main/resources/templates/feed.html index f68b7dd..28f4de7 100644 --- a/src/main/resources/templates/feed.html +++ b/src/main/resources/templates/feed.html @@ -106,11 +106,13 @@

Say hi to some plants!

planty
-
-

- -

+ +
+

Plant Name

+ +

Caption

+

Post 2

Post 3

Post 4

From 441eefd30653c1eb652aaef33d8b1560baa48287 Mon Sep 17 00:00:00 2001 From: alanaaaa Date: Mon, 30 Jan 2023 07:52:09 -0800 Subject: [PATCH 33/37] Stylized feed page (nav bar) --- src/main/java/service/MainController.java | 11 ++++++++++- src/main/resources/templates/feed.html | 10 ++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index 6b754cc..fb29b52 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -6,6 +6,8 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; +import java.util.ArrayList; + @Controller public class MainController { @Autowired @@ -23,5 +25,12 @@ public String hello(@RequestParam(name="name", required=false, defaultValue="Wor } @GetMapping("/feed") - public String feed(){ return "feed"; } + public String feed(@RequestParam(name="Clarence", required=false, defaultValue="planty") String name, Model model){ + model.addAttribute("Clarence", name); + Post plant = new Post(01, 01, 00, "plantbert", "green", "not green", "Alana", "pretty dead", "dfdhsjkf"); + ArrayList posts = new ArrayList<>(); + posts.add(plant); + model.addAttribute(posts); + return "/feed"; + } } \ No newline at end of file diff --git a/src/main/resources/templates/feed.html b/src/main/resources/templates/feed.html index f68b7dd..28f4de7 100644 --- a/src/main/resources/templates/feed.html +++ b/src/main/resources/templates/feed.html @@ -106,11 +106,13 @@

Say hi to some plants!

planty
-
-

- -

+ +
+

Plant Name

+ +

Caption

+

Post 2

Post 3

Post 4

From c3d7cfe8017621b15752b499567d3da9957d89ff Mon Sep 17 00:00:00 2001 From: alanaaaa Date: Wed, 1 Feb 2023 07:53:31 -0800 Subject: [PATCH 34/37] Stylized feed page (nav bar) --- src/main/java/service/MainController.java | 9 ++++++--- src/main/java/service/Post.java | 4 ++-- src/main/resources/templates/feed.html | 6 +++--- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index fb29b52..fec3138 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -27,10 +27,13 @@ public String hello(@RequestParam(name="name", required=false, defaultValue="Wor @GetMapping("/feed") public String feed(@RequestParam(name="Clarence", required=false, defaultValue="planty") String name, Model model){ model.addAttribute("Clarence", name); - Post plant = new Post(01, 01, 00, "plantbert", "green", "not green", "Alana", "pretty dead", "dfdhsjkf"); + Post plant1 = new Post(01, 01, 00, "plantbert", "green", "not green", "Alana", "pretty dead", "https://asset.bloomnation.com/c_pad,d_vendor:global:catalog:product:image.png,f_auto,fl_preserve_transparency,q_auto/v1627197230/vendor/2864/catalog/product/2/0/20200304122155_file_5e5ef4a3ccb60_5e5ef7b7cd5fa_600b664eac11a._600b6650be20c..jpg"); + Post plant2 = new Post(02, 02, 00, "Belle-adona", "~~blue belle*&^$#@", "livin' life to the fullest", "Alana", "IM BLUE ada di ada di~~`*%@^!", "https://www.woodlandtrust.org.uk/media/4272/bluebells-close-up-wtml-1024791-web-upload.jpg"); + ArrayList posts = new ArrayList<>(); - posts.add(plant); - model.addAttribute(posts); + posts.add(plant1); + posts.add(plant2); + model.addAttribute("posts", posts); return "/feed"; } } \ No newline at end of file diff --git a/src/main/java/service/Post.java b/src/main/java/service/Post.java index 7e3d5af..e08879b 100644 --- a/src/main/java/service/Post.java +++ b/src/main/java/service/Post.java @@ -1,7 +1,7 @@ package service; public class Post { - private int PostId, PlantId, Age; - private String PlantName, Species, Status, NameOfUser, Caption, PhotoUrl; + public int PostId, PlantId, Age; + public String PlantName, Species, Status, NameOfUser, Caption, PhotoUrl; public Post(int PostId, int PlantId, int Age, String PlantName, String Species, String Status, String NameOfUser, String Caption, String PhotoUrl) { this.PostId = PostId; this.PlantId = PlantId; diff --git a/src/main/resources/templates/feed.html b/src/main/resources/templates/feed.html index 28f4de7..0e84015 100644 --- a/src/main/resources/templates/feed.html +++ b/src/main/resources/templates/feed.html @@ -108,9 +108,9 @@

Say hi to some plants!

-

Plant Name

- -

Caption

+

Plant Name

+ +

Caption

Post 2

From c0c580995a9a1b4c114b41b69fb3006b499b987e Mon Sep 17 00:00:00 2001 From: alanaaaa Date: Mon, 13 Feb 2023 07:27:46 -0800 Subject: [PATCH 35/37] java type --- build.gradle | 2 +- src/main/java/service/MainController.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 1a634c4..e826f18 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ plugins { group = 'com.example' version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' +sourceCompatibility = '1.11' configurations { developmentOnly diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index 83f29e3..fc660c3 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -52,7 +52,7 @@ public String uploadPost() { public String feed(@RequestParam(name="Clarence", required=false, defaultValue="planty") String name, Model model){ model.addAttribute("Clarence", name); Post plant1 = new Post(01, 01, 00, "plantbert", "green", "not green", "Alana", "pretty dead", "https://asset.bloomnation.com/c_pad,d_vendor:global:catalog:product:image.png,f_auto,fl_preserve_transparency,q_auto/v1627197230/vendor/2864/catalog/product/2/0/20200304122155_file_5e5ef4a3ccb60_5e5ef7b7cd5fa_600b664eac11a._600b6650be20c..jpg"); - Post plant2 = new Post(02, 02, 00, "Belle-adona", "~~blue belle*&^$#@", "livin' life to the fullest", "Alana", "IM BLUE ada di ada di~~`*%@^!", "https://www.woodlandtrust.org.uk/media/4272/bluebells-close-up-wtml-1024791-web-upload.jpg"); + Post plant2 = new Post(02, 02, 00, "Belle-adona", "~~blue belle*&^$#@", "livin' life to the fullest", "Alana", "IM BLUE`*%@^!", "https://www.woodlandtrust.org.uk/media/4272/bluebells-close-up-wtml-1024791-web-upload.jpg"); ArrayList posts = new ArrayList<>(); posts.add(plant1); From 7eb2edfe784363193cda981aee7e384be9597ebe Mon Sep 17 00:00:00 2001 From: alanaaaa Date: Mon, 13 Feb 2023 07:51:00 -0800 Subject: [PATCH 36/37] setting up for loop to auto-add posts from database --- src/main/java/service/MainController.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/service/MainController.java b/src/main/java/service/MainController.java index fc660c3..e65de16 100644 --- a/src/main/java/service/MainController.java +++ b/src/main/java/service/MainController.java @@ -47,6 +47,14 @@ public String uploadPost() { sqlDB.uploadPost(test); return "index"; } +/* + loop to pull from database + for(i=ArrayList<>.size(); i>ArrayList<>.size()-5; i--){ + + + } + */ + @GetMapping("/feed") public String feed(@RequestParam(name="Clarence", required=false, defaultValue="planty") String name, Model model){ From 1df6f0c8b2559060f161c858d880956840a79046 Mon Sep 17 00:00:00 2001 From: alanaaaa Date: Wed, 15 Feb 2023 07:48:50 -0800 Subject: [PATCH 37/37] ready for database upload button redirects --- .idea/runConfigurations/bootRun.xml | 5 ++++- src/main/java/service/MainController.java | 12 +++--------- src/main/resources/templates/feed.html | 2 +- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/.idea/runConfigurations/bootRun.xml b/.idea/runConfigurations/bootRun.xml index 098f6be..96a8654 100644 --- a/.idea/runConfigurations/bootRun.xml +++ b/.idea/runConfigurations/bootRun.xml @@ -3,7 +3,10 @@