diff --git a/src/main/java/org/hbp/mip/MIPApplication.java b/src/main/java/org/hbp/mip/MIPApplication.java index 5e170a295737bca4215c4d33162528c17de75324..fc4264fc7e24293f44d738853a2931cf4b8f7595 100644 --- a/src/main/java/org/hbp/mip/MIPApplication.java +++ b/src/main/java/org/hbp/mip/MIPApplication.java @@ -20,8 +20,6 @@ */ package org.hbp.mip; -import org.hbp.mip.mock.ArticleMock; -import org.hbp.mip.mock.ModelMock; import org.hbp.mip.model.*; import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; @@ -82,7 +80,7 @@ public class MIPApplication extends WebSecurityConfigurerAdapter { public List<Article> getArticles() { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); - List articles = session.createQuery("from Article").list(); + List<Article> articles = session.createQuery("from Article").list(); session.getTransaction().commit(); return articles; } @@ -90,13 +88,25 @@ public class MIPApplication extends WebSecurityConfigurerAdapter { @RequestMapping(value = "/articles/{slug}", method = RequestMethod.GET) @ResponseBody public Article getArticle(@PathVariable("slug") String slug) { - return new ArticleMock(1); + Session session = HibernateUtil.getSessionFactory().getCurrentSession(); + session.beginTransaction(); + org.hibernate.Query query = session.createQuery("from Article where slug= :slug"); + query.setString("slug", slug); + Article article = (Article) query.uniqueResult(); + session.getTransaction().commit(); + return article; } @RequestMapping(value = "/datasets/{code}", method = RequestMethod.GET) @ResponseBody - public Dataset getDatasets(@PathVariable("code") String code) { - return null; + public Dataset getDatasets(@PathVariable("code") String code) { + Session session = HibernateUtil.getSessionFactory().getCurrentSession(); + session.beginTransaction(); + org.hibernate.Query query = session.createQuery("from Dataset where code= :code"); + query.setString("code", code); + Dataset ds = (Dataset) query.uniqueResult(); + session.getTransaction().commit(); + return ds; } @RequestMapping(value = "/models", method = RequestMethod.GET) @@ -104,7 +114,7 @@ public class MIPApplication extends WebSecurityConfigurerAdapter { public List<Model> getModels() { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); - List models = session.createQuery("from Model").list(); + List<Model> models = session.createQuery("from Model").list(); session.getTransaction().commit(); return models; } @@ -112,7 +122,13 @@ public class MIPApplication extends WebSecurityConfigurerAdapter { @RequestMapping(value = "/models/{slug}", method = RequestMethod.GET) @ResponseBody public Model getModel(@PathVariable("slug") String slug) { - return new ModelMock(1); + Session session = HibernateUtil.getSessionFactory().getCurrentSession(); + session.beginTransaction(); + org.hibernate.Query query = session.createQuery("from Model where slug= :slug"); + query.setString("slug", slug); + Model model = (Model) query.uniqueResult(); + session.getTransaction().commit(); + return model; } @RequestMapping(value = "/articles", method = RequestMethod.POST) @@ -132,13 +148,25 @@ public class MIPApplication extends WebSecurityConfigurerAdapter { @RequestMapping(value = "/models", method = RequestMethod.POST) @ResponseBody public Model postModel(@RequestBody Model model) { - return new ModelMock(1); + Session session = HibernateUtil.getSessionFactory().getCurrentSession(); + session.beginTransaction(); + model.setCreatedAt(new Date()); + model.setSlug(model.getTitle().toLowerCase()); + session.save(model); + session.getTransaction().commit(); + return model; } @RequestMapping(value = "/models/{slug}/copies", method = RequestMethod.POST) @ResponseBody public Model postModelCopies(@PathVariable("slug") String slug) { - return new ModelMock(1); + Session session = HibernateUtil.getSessionFactory().getCurrentSession(); + session.beginTransaction(); + org.hibernate.Query query = session.createQuery("from Model where slug= :slug"); + query.setString("slug", slug); + Model model = (Model) query.uniqueResult(); + session.getTransaction().commit(); + return model; } @RequestMapping(value = "/queries/requests", method = RequestMethod.POST)