diff --git a/src/main/java/org/hbp/mip/controllers/ModelsApi.java b/src/main/java/org/hbp/mip/controllers/ModelsApi.java index 04c37c211b7651043137f921726940a9144eef76..bc28a1301b580f36b8b8fb918694f6234ad770f8 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 5a0cb0d5e77380416c67973bc842e44bb0311456..1ef4d41123631b711ef457f1cbc05ebcd08868ba 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 425b1c50f4a130b1916ad71de70f58184ae5615b..3e46b09b3fe52fcb0da27a9673a69946f5cf96eb 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 e32e1beed7cf5c354ff2cc86905e8405d7e52036..6b6aa44b988ba71497dcd9cbca4abea3cc784e1e 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"/>