From e59dd18f62ae0ce58e8d221c0c462c75a6a56ecd Mon Sep 17 00:00:00 2001 From: Mirco Nasuti <mirco.nasuti@chuv.ch> Date: Wed, 27 Jan 2016 11:21:23 +0100 Subject: [PATCH] Model -> Chart -> SVG works --- .../java/org/hbp/mip/controllers/ModelsApi.java | 15 +++++++++++++++ src/main/java/org/hbp/mip/model/Article.java | 1 + src/main/java/org/hbp/mip/model/Chart.java | 12 ++++++++++++ src/main/resources/hibernate.cfg.xml | 2 +- 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/hbp/mip/controllers/ModelsApi.java b/src/main/java/org/hbp/mip/controllers/ModelsApi.java index 04c37c211..bc28a1301 100644 --- a/src/main/java/org/hbp/mip/controllers/ModelsApi.java +++ b/src/main/java/org/hbp/mip/controllers/ModelsApi.java @@ -91,6 +91,21 @@ public class ModelsApi { return new ResponseEntity<Void>(HttpStatus.OK); } + @ApiOperation(value = "Get SVG", notes = "", response = Model.class) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Found"), + @ApiResponse(code = 404, message = "Not found")}) + @RequestMapping(value = "/{slug}.svg", produces = {"image/svg+xml"}, method = RequestMethod.GET) + public ResponseEntity<String> getSVG( + @ApiParam(value = "slug", required = true) @PathVariable("slug") String slug) throws NotFoundException { + 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 new ResponseEntity<String>(HttpStatus.OK).ok(model.getChart().getSvg()); + } @ApiOperation(value = "Get a model", notes = "", response = Model.class) @ApiResponses(value = { diff --git a/src/main/java/org/hbp/mip/model/Article.java b/src/main/java/org/hbp/mip/model/Article.java index 5a0cb0d5e..1ef4d4112 100644 --- a/src/main/java/org/hbp/mip/model/Article.java +++ b/src/main/java/org/hbp/mip/model/Article.java @@ -25,6 +25,7 @@ public class Article { private String title = null; private String status = null; private String _abstract = null; + @Column(columnDefinition = "text") private String content = null; private Date publishedAt = null; private Date createdAt = null; diff --git a/src/main/java/org/hbp/mip/model/Chart.java b/src/main/java/org/hbp/mip/model/Chart.java index 425b1c50f..3e46b09b3 100644 --- a/src/main/java/org/hbp/mip/model/Chart.java +++ b/src/main/java/org/hbp/mip/model/Chart.java @@ -26,6 +26,9 @@ public class Chart { private Long id = null; private String chartType = null; private String xAxis = null; + // TODO: Should I use @Lob ? + @Column(columnDefinition = "text") + private String svg = null; @ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL) private List<ChartConfigSet> chartConfigSets = new LinkedList<ChartConfigSet>(); @@ -71,6 +74,14 @@ public class Chart { this.xAxis = xAxis; } + public String getSvg() { + return svg; + } + + public void setSvg(String svg) { + this.svg = svg; + } + /** * Chart configuration **/ @@ -92,6 +103,7 @@ public class Chart { sb.append(" id: ").append(id).append("\n"); sb.append(" chartType: ").append(chartType).append("\n"); sb.append(" xAxis: ").append(xAxis).append("\n"); + sb.append(" svg: ").append(svg).append("\n"); sb.append(" chartConfigSets: ").append(chartConfigSets).append("\n"); sb.append("}\n"); return sb.toString(); diff --git a/src/main/resources/hibernate.cfg.xml b/src/main/resources/hibernate.cfg.xml index e32e1beed..6b6aa44b9 100644 --- a/src/main/resources/hibernate.cfg.xml +++ b/src/main/resources/hibernate.cfg.xml @@ -14,7 +14,7 @@ <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQL82Dialect</property> <property name="current_session_context_class">thread</property> <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> - <property name="hibernate.show_sql">true</property> + <property name="hibernate.show_sql">false</property> <property name="hibernate.hbm2ddl.auto">update</property> <mapping class="org.hbp.mip.model.Article"/> -- GitLab