diff --git a/src/main/java/org/hbp/mip/MIPApplication.java b/src/main/java/org/hbp/mip/MIPApplication.java index 60917bce92952e21ef00365c4b1d7404de9be309..59516ca1705aa9d8b49c178f35e9c6d3ef002d56 100644 --- a/src/main/java/org/hbp/mip/MIPApplication.java +++ b/src/main/java/org/hbp/mip/MIPApplication.java @@ -97,12 +97,12 @@ public class MIPApplication extends WebSecurityConfigurerAdapter { @Autowired HttpSessionCsrfTokenRepository httpSessionCsrfTokenRepository; - + @Autowired OAuth2ClientAuthenticationProcessingFilter hbpFilter; -public static void main(String[] args) { + public static void main(String[] args) { SpringApplication.run(MIPApplication.class, args); } @@ -112,7 +112,7 @@ public static void main(String[] args) { return userAuthentication.getDetails().toString(); } - /** + /** * returns the user for the current session. * * the "synchronized" keyword is there to avoid a bug that the transaction is supposed to protect me from. @@ -123,20 +123,20 @@ public static void main(String[] args) { * - check you have no 500 error in the network logs. * @return */ - public synchronized User getUser() { - Session session = HibernateUtil.getSessionFactory().getCurrentSession(); - User user = new User(getUserInfos()); - try { - session.beginTransaction(); - session.merge(user); - session.getTransaction().commit(); - } catch (Exception e) - { - if(session.getTransaction() != null) - { - session.getTransaction().rollback(); - } - } + public synchronized User getUser() { + Session session = HibernateUtil.getSessionFactory().getCurrentSession(); + User user = new User(getUserInfos()); + try { + session.beginTransaction(); + session.merge(user); + session.getTransaction().commit(); + } catch (Exception e) + { + if(session.getTransaction() != null) + { + session.getTransaction().rollback(); + } + } return user; } @@ -187,18 +187,26 @@ public static void main(String[] args) { @ApiParam(value = "Has the user agreed on the NDA") @RequestParam(value = "agreeNDA", required = true) Boolean agreeNDA) { ObjectMapper mapper = new ObjectMapper(); Session session = HibernateUtil.getSessionFactory().getCurrentSession(); - session.beginTransaction(); - User user = (User) session - .createQuery("from User where username= :username") - .setString("username", principal.getName()) - .uniqueResult(); - if (user != null) { - user.setAgreeNDA(agreeNDA); - session.update(user); + try { + session.beginTransaction(); + User user = (User) session + .createQuery("from User where username= :username") + .setString("username", principal.getName()) + .uniqueResult(); + if (user != null) { + user.setAgreeNDA(agreeNDA); + session.update(user); + } + session.getTransaction().commit(); + } catch (Exception e) + { + if(session.getTransaction() != null) + { + session.getTransaction().rollback(); + } } - session.getTransaction().commit(); - return new ResponseEntity<Void>(HttpStatus.OK); + return new ResponseEntity<>(HttpStatus.OK); } @Override diff --git a/src/main/java/org/hbp/mip/controllers/ArticlesApi.java b/src/main/java/org/hbp/mip/controllers/ArticlesApi.java index 244853f7e6786b76821c88bf64b67e337a63dc90..fa754bf084b520bea235c55c05b855531c467b97 100644 --- a/src/main/java/org/hbp/mip/controllers/ArticlesApi.java +++ b/src/main/java/org/hbp/mip/controllers/ArticlesApi.java @@ -28,10 +28,10 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; @Api(value = "/articles", description = "the articles API") public class ArticlesApi { - @Autowired - MIPApplication mipApplication; + @Autowired + MIPApplication mipApplication; - @ApiOperation(value = "Get articles", response = Article.class, responseContainer = "List") + @ApiOperation(value = "Get articles", response = Article.class, responseContainer = "List") @ApiResponses(value = { @ApiResponse(code = 200, message = "Success") }) @RequestMapping(method = RequestMethod.GET) public ResponseEntity<List> getArticles( @@ -61,25 +61,28 @@ public class ArticlesApi { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); List articles = new LinkedList<>(); + try { session.beginTransaction(); Query query = session.createQuery(queryString); - if(status != null) - { + if (status != null) { query.setString("status", status); } - if(own != null && own) - { + if (own != null && own) { query.setString("username", user.getUsername()); - } - else - { - if(team != null && team) - { + } else { + if (team != null && team) { query.setString("team", user.getTeam()); } } articles = query.list(); session.getTransaction().commit(); + } catch (Exception e) + { + if(session.getTransaction() != null) + { + session.getTransaction().rollback(); + } + } return ResponseEntity.ok(articles); diff --git a/src/main/java/org/hbp/mip/controllers/ModelsApi.java b/src/main/java/org/hbp/mip/controllers/ModelsApi.java index e9b482cb02138ea9094989082f0466b9785c25b4..f930e7a556b1a70eb7c05c83fe9990217fb50bd7 100644 --- a/src/main/java/org/hbp/mip/controllers/ModelsApi.java +++ b/src/main/java/org/hbp/mip/controllers/ModelsApi.java @@ -29,10 +29,10 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; @javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-07T07:38:20.227Z") public class ModelsApi { - @Autowired - MIPApplication mipApplication; + @Autowired + MIPApplication mipApplication; - private static final String DATA_FILE = "data/values.csv"; + private static final String DATA_FILE = "data/values.csv"; @ApiOperation(value = "Get models", response = Model.class, responseContainer = "List") @ApiResponses(value = { @ApiResponse(code = 200, message = "Success") }) @@ -109,9 +109,17 @@ public class ModelsApi { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); + try { session.beginTransaction(); session.save(model); session.getTransaction().commit(); + } catch (Exception e) + { + if(session.getTransaction() != null) + { + session.getTransaction().rollback(); + } + } return new ResponseEntity<Model>(HttpStatus.OK).ok(model); @@ -128,62 +136,80 @@ public class ModelsApi { Model model = null; Query query; + try { session.beginTransaction(); query = session.createQuery("FROM Model WHERE slug= :slug").setString("slug", slug); model = (Model) query.uniqueResult(); session.getTransaction().commit(); + } catch (Exception e) + { + if(session.getTransaction() != null) + { + session.getTransaction().rollback(); + } + } + if(model != null) { session = HibernateUtil.getSessionFactory().getCurrentSession(); + org.hbp.mip.model.Query q = null; + try { session.beginTransaction(); query = session.createQuery("FROM Query WHERE id= :id").setLong("id", model.getQuery().getId()); - org.hbp.mip.model.Query q = (org.hbp.mip.model.Query) query.uniqueResult(); + q = (org.hbp.mip.model.Query) query.uniqueResult(); session.getTransaction().commit(); - - List<Variable> vars = new LinkedList<>(); - for (Variable var : q.getVariables()) { - Variable v = new Variable(); - v.setCode(var.getCode()); - vars.add(v); + } catch (Exception e) + { + if(session.getTransaction() != null) + { + session.getTransaction().rollback(); } + } - List<Variable> covs = new LinkedList<>(); - for (Variable cov : q.getCovariables()) { - Variable v = new Variable(); - v.setCode(cov.getCode()); - covs.add(v); - } + List<Variable> vars = new LinkedList<>(); + for (Variable var : q.getVariables()) { + Variable v = new Variable(); + v.setCode(var.getCode()); + vars.add(v); + } - List<Variable> grps = new LinkedList<>(); - for (Variable grp : q.getGrouping()) { - Variable v = new Variable(); - v.setCode(grp.getCode()); - grps.add(v); - } + List<Variable> covs = new LinkedList<>(); + for (Variable cov : q.getCovariables()) { + Variable v = new Variable(); + v.setCode(cov.getCode()); + covs.add(v); + } - List<Filter> fltrs = new LinkedList<>(); - for (Filter fltr : q.getFilters()) { - Filter f = new Filter(); - f.setId(fltr.getId()); - f.setOperator(fltr.getOperator()); - f.setValues(fltr.getValues()); - f.setVariable(fltr.getVariable()); - fltrs.add(f); - } + List<Variable> grps = new LinkedList<>(); + for (Variable grp : q.getGrouping()) { + Variable v = new Variable(); + v.setCode(grp.getCode()); + grps.add(v); + } + + List<Filter> fltrs = new LinkedList<>(); + for (Filter fltr : q.getFilters()) { + Filter f = new Filter(); + f.setId(fltr.getId()); + f.setOperator(fltr.getOperator()); + f.setValues(fltr.getValues()); + f.setVariable(fltr.getVariable()); + fltrs.add(f); + } - org.hbp.mip.model.Query myQuery = new org.hbp.mip.model.Query(); - myQuery.setId(q.getId()); - myQuery.setVariables(vars); - myQuery.setCovariables(covs); - myQuery.setGrouping(grps); - myQuery.setFilters(fltrs); + org.hbp.mip.model.Query myQuery = new org.hbp.mip.model.Query(); + myQuery.setId(q.getId()); + myQuery.setVariables(vars); + myQuery.setCovariables(covs); + myQuery.setGrouping(grps); + myQuery.setFilters(fltrs); - model.setQuery(myQuery); + model.setQuery(myQuery); - Dataset ds = CSVUtil.parseValues(DATA_FILE, model.getQuery()); - model.setDataset(ds); + Dataset ds = CSVUtil.parseValues(DATA_FILE, model.getQuery()); + model.setDataset(ds); }