From 0f77031ca27f905bce1c1ed320c63bdcd82d7b26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Mathieu?= Date: Sun, 24 May 2020 17:55:56 +0200 Subject: [PATCH 1/4] feat: solution for step 1 --- .../fr/loicmathieu/bookmarkit/Bookmark.java | 4 +- .../bookmarkit/BookmarkResource.java | 44 ++++++++++++++----- 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/Bookmark.java b/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/Bookmark.java index 0f70044..5daff8f 100644 --- a/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/Bookmark.java +++ b/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/Bookmark.java @@ -1,9 +1,11 @@ package fr.loicmathieu.bookmarkit; +import io.quarkus.hibernate.orm.panache.PanacheEntity; + import javax.persistence.Entity; @Entity -public class Bookmark { +public class Bookmark extends PanacheEntity { public String title; public String url; public String description; diff --git a/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java b/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java index a232188..f05106b 100644 --- a/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java +++ b/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java @@ -1,10 +1,18 @@ package fr.loicmathieu.bookmarkit; +import javax.enterprise.context.ApplicationScoped; +import javax.transaction.Transactional; import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; import javax.ws.rs.Path; +import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; +import java.net.URI; import java.util.List; @Path("/bookmarks") @@ -12,23 +20,39 @@ @Consumes(MediaType.APPLICATION_JSON) public class BookmarkResource { - public List listBookmarks() { - throw new UnsupportedOperationException("not yet implemented"); + @GET + public List listBookmarks(){ + return Bookmark.listAll(); } - public Bookmark getBookmark(Long id) { - throw new UnsupportedOperationException("not yet implemented"); + @GET + @Path("/{id}") + public Bookmark getBookmark(@PathParam("id") Long id) { + return Bookmark.findById(id); } - public Response createBookmark(Bookmark bookmark) { - throw new UnsupportedOperationException("not yet implemented"); + @POST + @Transactional + public Response createBookmark(Bookmark bookmark){ + bookmark.persist(); + return Response.created(URI.create("/bookmarks/" + bookmark.id)).build(); } - public Response updateBookmark(Bookmark bookmark, Long id) { - throw new UnsupportedOperationException("not yet implemented"); + @PUT + @Path("/{id}") + @Transactional + public void updateBookmark(Bookmark bookmark){ + Bookmark existing = Bookmark.findById(bookmark.id); + existing.url = bookmark.url; + existing.description = bookmark.description; + existing.title = bookmark.title; } - public Response deleteBookmark(Long id) { - throw new UnsupportedOperationException("not yet implemented"); + @DELETE + @Path("/{id}") + @Transactional + public void deleteBookmark(@PathParam("id")Long id){ + Bookmark existing = Bookmark.findById(id); + existing.delete(); } } From f5ca952e987342b352e2cbf13e3727dafe376b3d Mon Sep 17 00:00:00 2001 From: Sparow199 Date: Tue, 29 Oct 2019 21:11:13 +0100 Subject: [PATCH 2/4] feat(*): step 1 feat: solution for step 1 refactor(*): Update Postman collection --- .../main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java | 1 - 1 file changed, 1 deletion(-) diff --git a/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java b/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java index f05106b..150ed7d 100644 --- a/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java +++ b/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java @@ -1,6 +1,5 @@ package fr.loicmathieu.bookmarkit; -import javax.enterprise.context.ApplicationScoped; import javax.transaction.Transactional; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; From 67037deb81e053f3544a2dde790c13fe7428a829 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Mathieu?= Date: Tue, 17 Sep 2019 18:06:20 +0200 Subject: [PATCH 3/4] feat: solution for step 1 --- .../fr/loicmathieu/bookmarkit/BookmarkResource.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java b/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java index 150ed7d..15f5efd 100644 --- a/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java +++ b/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java @@ -1,5 +1,6 @@ package fr.loicmathieu.bookmarkit; +import javax.enterprise.context.ApplicationScoped; import javax.transaction.Transactional; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; @@ -20,19 +21,19 @@ public class BookmarkResource { @GET - public List listBookmarks(){ + public List listAll(){ return Bookmark.listAll(); } @GET @Path("/{id}") - public Bookmark getBookmark(@PathParam("id") Long id) { + public Bookmark get(@PathParam("id") Long id) { return Bookmark.findById(id); } @POST @Transactional - public Response createBookmark(Bookmark bookmark){ + public Response create(Bookmark bookmark){ bookmark.persist(); return Response.created(URI.create("/bookmarks/" + bookmark.id)).build(); } @@ -40,7 +41,7 @@ public Response createBookmark(Bookmark bookmark){ @PUT @Path("/{id}") @Transactional - public void updateBookmark(Bookmark bookmark){ + public void update(Bookmark bookmark){ Bookmark existing = Bookmark.findById(bookmark.id); existing.url = bookmark.url; existing.description = bookmark.description; @@ -50,7 +51,7 @@ public void updateBookmark(Bookmark bookmark){ @DELETE @Path("/{id}") @Transactional - public void deleteBookmark(@PathParam("id")Long id){ + public void delete(@PathParam("id")Long id){ Bookmark existing = Bookmark.findById(id); existing.delete(); } From 8e0aaa6aeb3b5239f45d19e9de5d6d0a1d2d418d Mon Sep 17 00:00:00 2001 From: Sparow199 Date: Tue, 29 Oct 2019 21:11:13 +0100 Subject: [PATCH 4/4] feat(*): step 1 feat: solution for step 1 refactor(*): Update Postman collection --- .../java/fr/loicmathieu/bookmarkit/BookmarkResource.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java b/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java index 15f5efd..ae8ed09 100644 --- a/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java +++ b/bookmark-service/src/main/java/fr/loicmathieu/bookmarkit/BookmarkResource.java @@ -1,6 +1,5 @@ package fr.loicmathieu.bookmarkit; -import javax.enterprise.context.ApplicationScoped; import javax.transaction.Transactional; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; @@ -21,7 +20,7 @@ public class BookmarkResource { @GET - public List listAll(){ + public List listAll() { return Bookmark.listAll(); } @@ -33,7 +32,7 @@ public Bookmark get(@PathParam("id") Long id) { @POST @Transactional - public Response create(Bookmark bookmark){ + public Response create(Bookmark bookmark) { bookmark.persist(); return Response.created(URI.create("/bookmarks/" + bookmark.id)).build(); } @@ -41,7 +40,7 @@ public Response create(Bookmark bookmark){ @PUT @Path("/{id}") @Transactional - public void update(Bookmark bookmark){ + public void update(Bookmark bookmark) { Bookmark existing = Bookmark.findById(bookmark.id); existing.url = bookmark.url; existing.description = bookmark.description; @@ -51,7 +50,7 @@ public void update(Bookmark bookmark){ @DELETE @Path("/{id}") @Transactional - public void delete(@PathParam("id")Long id){ + public void delete(@PathParam("id") Long id) { Bookmark existing = Bookmark.findById(id); existing.delete(); }