From 0489b8cd7131ac5ae6ee81b2acca6857ebf28dc5 Mon Sep 17 00:00:00 2001 From: Mirco Nasuti <mirco.nasuti@chuv.ch> Date: Fri, 4 Mar 2016 12:31:30 +0100 Subject: [PATCH] update user informations in the DB using the collab ones at least at each login + removed useless dependencies from that --- src/main/java/org/hbp/mip/MIPApplication.java | 16 ++++---------- .../org/hbp/mip/controllers/ArticlesApi.java | 16 ++++++-------- .../org/hbp/mip/controllers/ModelsApi.java | 21 +++++++------------ 3 files changed, 18 insertions(+), 35 deletions(-) diff --git a/src/main/java/org/hbp/mip/MIPApplication.java b/src/main/java/org/hbp/mip/MIPApplication.java index 4c4d911fb..60917bce9 100644 --- a/src/main/java/org/hbp/mip/MIPApplication.java +++ b/src/main/java/org/hbp/mip/MIPApplication.java @@ -121,22 +121,14 @@ public static void main(String[] args) { * - restart DB and backend (no session or anything like that) * - log in using the front end * - check you have no 500 error in the network logs. - * @param principal * @return */ - public synchronized User getUser(Principal principal) { + public synchronized User getUser() { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); - User user = null; + User user = new User(getUserInfos()); try { session.beginTransaction(); - user = (User) session - .createQuery("from User where username= :username") - .setString("username", principal.getName()) - .uniqueResult(); - if (user == null) { - user = new User(getUserInfos()); - session.save(user); - } + session.merge(user); session.getTransaction().commit(); } catch (Exception e) { @@ -178,7 +170,7 @@ public static void main(String[] args) { ObjectMapper mapper = new ObjectMapper(); try { - String userJSON = mapper.writeValueAsString(getUser(principal)); + String userJSON = mapper.writeValueAsString(getUser()); Cookie cookie = new Cookie("user", URLEncoder.encode(userJSON, "UTF-8")); cookie.setPath("/"); response.addCookie(cookie); diff --git a/src/main/java/org/hbp/mip/controllers/ArticlesApi.java b/src/main/java/org/hbp/mip/controllers/ArticlesApi.java index e280d1732..dca595e5c 100644 --- a/src/main/java/org/hbp/mip/controllers/ArticlesApi.java +++ b/src/main/java/org/hbp/mip/controllers/ArticlesApi.java @@ -17,7 +17,6 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; -import java.security.Principal; import java.util.Date; import java.util.LinkedList; import java.util.List; @@ -38,12 +37,11 @@ public class ArticlesApi { public ResponseEntity<List<Article>> getArticles( @ApiParam(value = "Only ask own articles") @RequestParam(value = "own", required = false) Boolean own, @ApiParam(value = "Only ask results matching status", allowableValues = "{values=[draft, published, closed]}") @RequestParam(value = "status", required = false) String status, - @ApiParam(value = "Only ask articles from own team") @RequestParam(value = "team", required = false) Boolean team, - Principal principal + @ApiParam(value = "Only ask articles from own team") @RequestParam(value = "team", required = false) Boolean team ) { // Get current user - User user = mipApplication.getUser(principal); + User user = mipApplication.getUser(); // Prepare HQL query using Article and User tables String queryString = "SELECT a FROM Article a, User u where a.createdBy=u.id"; @@ -104,12 +102,11 @@ public class ArticlesApi { @ApiResponses(value = { @ApiResponse(code = 200, message = "Article created") }) @RequestMapping(method = RequestMethod.POST) public ResponseEntity<Void> addAnArticle( - @RequestBody @ApiParam(value = "Article to create", required = true) Article article, - Principal principal + @RequestBody @ApiParam(value = "Article to create", required = true) Article article ) { // Get current user - User user = mipApplication.getUser(principal); + User user = mipApplication.getUser(); // Set up article to save article.setCreatedAt(new Date()); @@ -170,12 +167,11 @@ public class ArticlesApi { @RequestMapping(value = "/{slug}", method = RequestMethod.PUT) public ResponseEntity<Void> updateAnArticle( @ApiParam(value = "slug", required = true) @PathVariable("slug") String slug, - @RequestBody @ApiParam(value = "Article to update", required = true) Article article, - Principal principal + @RequestBody @ApiParam(value = "Article to update", required = true) Article article ) { // Get current user - User user = mipApplication.getUser(principal); + User user = mipApplication.getUser(); // Query DB Session session = HibernateUtil.getSessionFactory().getCurrentSession(); diff --git a/src/main/java/org/hbp/mip/controllers/ModelsApi.java b/src/main/java/org/hbp/mip/controllers/ModelsApi.java index 2d9c99dd8..5c20bb255 100644 --- a/src/main/java/org/hbp/mip/controllers/ModelsApi.java +++ b/src/main/java/org/hbp/mip/controllers/ModelsApi.java @@ -17,7 +17,6 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; -import java.security.Principal; import java.util.Date; import java.util.LinkedList; import java.util.List; @@ -42,12 +41,11 @@ public class ModelsApi { public ResponseEntity<List<Model>> getModels( @ApiParam(value = "Max number of results") @RequestParam(value = "limit", required = false) Integer limit, @ApiParam(value = "Only ask own models") @RequestParam(value = "own", required = false) Boolean own, - @ApiParam(value = "Only ask models from own team") @RequestParam(value = "team", required = false) Boolean team, - Principal principal + @ApiParam(value = "Only ask models from own team") @RequestParam(value = "team", required = false) Boolean team ) { // Get current user - User user = mipApplication.getUser(principal); + User user = mipApplication.getUser(); // Prepare HQL query from Model and User tables String queryString = "select m from Model m, User u where m.createdBy=u.id"; @@ -102,12 +100,11 @@ public class ModelsApi { @ApiResponses(value = { @ApiResponse(code = 200, message = "Model created") }) @RequestMapping(method = RequestMethod.POST) public ResponseEntity<Model> addAModel( - @RequestBody @ApiParam(value = "Model to create", required = true) Model model, - Principal principal + @RequestBody @ApiParam(value = "Model to create", required = true) Model model ) { // Get current user - User user = mipApplication.getUser(principal); + User user = mipApplication.getUser(); // Set up model model.setSlug(model.getConfig().getTitle().get("text").toLowerCase()); @@ -217,12 +214,11 @@ public class ModelsApi { @RequestMapping(value = "/{slug}", method = RequestMethod.PUT) public ResponseEntity<Void> updateAModel( @ApiParam(value = "slug", required = true) @PathVariable("slug") String slug, - @RequestBody @ApiParam(value = "Model to update", required = true) Model model, - Principal principal + @RequestBody @ApiParam(value = "Model to update", required = true) Model model ) { // Get current user - User user = mipApplication.getUser(principal); + User user = mipApplication.getUser(); // Query DB Session session = HibernateUtil.getSessionFactory().getCurrentSession(); @@ -246,11 +242,10 @@ public class ModelsApi { @RequestMapping(value = "/{slug}/copies", method = RequestMethod.POST) public ResponseEntity<Model> copyAModel( @ApiParam(value = "slug", required = true) @PathVariable("slug") String slug, - @RequestBody @ApiParam(value = "Model to update", required = true) Model model, - Principal principal + @RequestBody @ApiParam(value = "Model to update", required = true) Model model ) { // Get current user - User user = mipApplication.getUser(principal); + User user = mipApplication.getUser(); // Set slug String originalSlug = model.getSlug(); -- GitLab