From f623ea2b03a2b24025f4baa1d0d6482e8d2caec9 Mon Sep 17 00:00:00 2001 From: Mirco Nasuti <mirco.nasuti@chuv.ch> Date: Mon, 7 Dec 2015 14:47:59 +0100 Subject: [PATCH] persistence is ready to be used except data field from Dataset --- src/main/java/org/hbp/mip/model/Article.java | 18 ++++++++++-------- src/main/java/org/hbp/mip/model/Chart.java | 5 +++++ .../java/org/hbp/mip/model/ChartConfigSet.java | 8 ++++++++ src/main/java/org/hbp/mip/model/Dataset.java | 14 +++++++++----- src/main/java/org/hbp/mip/model/Filter.java | 6 ++++++ src/main/java/org/hbp/mip/model/Group.java | 5 +++++ src/main/java/org/hbp/mip/model/Model.java | 9 +++++++++ src/main/java/org/hbp/mip/model/Query.java | 8 ++++++++ src/main/java/org/hbp/mip/model/Tag.java | 8 ++++++++ src/main/java/org/hbp/mip/model/User.java | 6 ++++++ src/main/java/org/hbp/mip/model/Value.java | 8 ++++++++ src/main/java/org/hbp/mip/model/Variable.java | 6 ++++++ src/main/resources/hibernate.cfg.xml | 11 +++++++++++ 13 files changed, 99 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/hbp/mip/model/Article.java b/src/main/java/org/hbp/mip/model/Article.java index 0b3a957d4..3ac1f8f48 100644 --- a/src/main/java/org/hbp/mip/model/Article.java +++ b/src/main/java/org/hbp/mip/model/Article.java @@ -4,11 +4,10 @@ package org.hbp.mip.model; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; +import javax.persistence.*; import java.util.Date; +import java.util.LinkedList; +import java.util.List; @Entity public class Article { @@ -23,9 +22,12 @@ public class Article { private Date publishedAt; private Date createdAt; private Date updatedAt; - /*private User createdBy; + @ManyToOne + private User createdBy; + @ManyToOne private User updatedBy; - private List<Tag> tags;*/ + @ManyToMany + private List<Tag> tags; public Article() { } @@ -102,7 +104,7 @@ public class Article { this.updatedAt = updatedAt; } - /*public User getCreatedBy() { + public User getCreatedBy() { return createdBy; } @@ -131,5 +133,5 @@ public class Article { this.tags = new LinkedList<>(); } this.tags.add(tag); - }*/ + } } diff --git a/src/main/java/org/hbp/mip/model/Chart.java b/src/main/java/org/hbp/mip/model/Chart.java index ea24b36d8..382f9ac91 100644 --- a/src/main/java/org/hbp/mip/model/Chart.java +++ b/src/main/java/org/hbp/mip/model/Chart.java @@ -4,13 +4,18 @@ package org.hbp.mip.model; +import javax.persistence.*; import java.util.LinkedList; import java.util.List; +@Entity public class Chart { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String chartType; private String xAxis; + @ManyToMany private List<ChartConfigSet> chartConfigSets; public Chart() { diff --git a/src/main/java/org/hbp/mip/model/ChartConfigSet.java b/src/main/java/org/hbp/mip/model/ChartConfigSet.java index a5a1d0ed3..040f240c6 100644 --- a/src/main/java/org/hbp/mip/model/ChartConfigSet.java +++ b/src/main/java/org/hbp/mip/model/ChartConfigSet.java @@ -4,7 +4,15 @@ package org.hbp.mip.model; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +@Entity public class ChartConfigSet { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String code; private String label; diff --git a/src/main/java/org/hbp/mip/model/Dataset.java b/src/main/java/org/hbp/mip/model/Dataset.java index fd9b66f8f..38f042443 100644 --- a/src/main/java/org/hbp/mip/model/Dataset.java +++ b/src/main/java/org/hbp/mip/model/Dataset.java @@ -4,17 +4,21 @@ package org.hbp.mip.model; +import javax.persistence.*; import java.util.Date; -import java.util.LinkedList; import java.util.List; -import java.util.Map; +@Entity public class Dataset { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String code; private Date date; + @ElementCollection private List<String> header; - private List<Map<String, List<Object>>> data; + //@ElementCollection + //private List<Map<String, List<Object>>> data; public Dataset() { } @@ -51,7 +55,7 @@ public class Dataset { this.header = header; } - public List<Map<String, List<Object>>> getData() { + /*public List<Map<String, List<Object>>> getData() { return data; } @@ -70,5 +74,5 @@ public class Dataset { this.data = new LinkedList<>(); } this.data.add(map); - } + }*/ } diff --git a/src/main/java/org/hbp/mip/model/Filter.java b/src/main/java/org/hbp/mip/model/Filter.java index d7af73d41..3c24be73f 100644 --- a/src/main/java/org/hbp/mip/model/Filter.java +++ b/src/main/java/org/hbp/mip/model/Filter.java @@ -4,8 +4,14 @@ package org.hbp.mip.model; +import javax.persistence.*; + +@Entity public class Filter { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; + @ManyToOne private Variable variable; private String operator; diff --git a/src/main/java/org/hbp/mip/model/Group.java b/src/main/java/org/hbp/mip/model/Group.java index 5247fa836..4f9d54b29 100644 --- a/src/main/java/org/hbp/mip/model/Group.java +++ b/src/main/java/org/hbp/mip/model/Group.java @@ -4,13 +4,18 @@ package org.hbp.mip.model; +import javax.persistence.*; import java.util.LinkedList; import java.util.List; +@Entity public class Group { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String code; private String label; + @ManyToMany private List<Group> groups; public Group() { diff --git a/src/main/java/org/hbp/mip/model/Model.java b/src/main/java/org/hbp/mip/model/Model.java index 0adf765f7..dbd119ebd 100644 --- a/src/main/java/org/hbp/mip/model/Model.java +++ b/src/main/java/org/hbp/mip/model/Model.java @@ -4,20 +4,29 @@ package org.hbp.mip.model; +import javax.persistence.*; import java.util.Date; +@Entity public class Model { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String title; private String slug; private String description; + @ManyToOne private Query query; + @ManyToOne private Dataset dataset; private boolean valid; + @ManyToOne private Chart chart; private Date createdAt; private Date updatedAt; + @ManyToOne private User createdBy; + @ManyToOne private User updatedBy; public Model() { diff --git a/src/main/java/org/hbp/mip/model/Query.java b/src/main/java/org/hbp/mip/model/Query.java index e93f1416d..6d81619b9 100644 --- a/src/main/java/org/hbp/mip/model/Query.java +++ b/src/main/java/org/hbp/mip/model/Query.java @@ -4,14 +4,22 @@ package org.hbp.mip.model; +import javax.persistence.*; import java.util.LinkedList; import java.util.List; +@Entity public class Query { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; + @ManyToMany private List<Variable> variables; + @ManyToMany private List<Variable> covariables; + @ManyToMany private List<Variable> grouping; + @ManyToMany private List<Filter> filters; private String request; diff --git a/src/main/java/org/hbp/mip/model/Tag.java b/src/main/java/org/hbp/mip/model/Tag.java index 249720c8e..48ad3e707 100644 --- a/src/main/java/org/hbp/mip/model/Tag.java +++ b/src/main/java/org/hbp/mip/model/Tag.java @@ -4,7 +4,15 @@ package org.hbp.mip.model; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +@Entity public class Tag { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; diff --git a/src/main/java/org/hbp/mip/model/User.java b/src/main/java/org/hbp/mip/model/User.java index b035d24be..67b0d3826 100644 --- a/src/main/java/org/hbp/mip/model/User.java +++ b/src/main/java/org/hbp/mip/model/User.java @@ -4,10 +4,14 @@ package org.hbp.mip.model; +import javax.persistence.*; import java.util.LinkedList; import java.util.List; +@Entity public class User { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String fullname; private String username; @@ -18,6 +22,7 @@ public class User { private String phone; private String birthday; private String gender; + @ElementCollection private List<String> languages; private String city; private String country; @@ -26,6 +31,7 @@ public class User { private boolean isActive; private String apikey; private String team; + @ElementCollection private List<String> roles; public User() { diff --git a/src/main/java/org/hbp/mip/model/Value.java b/src/main/java/org/hbp/mip/model/Value.java index 91d5a0669..f5afddc68 100644 --- a/src/main/java/org/hbp/mip/model/Value.java +++ b/src/main/java/org/hbp/mip/model/Value.java @@ -4,7 +4,15 @@ package org.hbp.mip.model; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +@Entity public class Value { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String code; private String label; diff --git a/src/main/java/org/hbp/mip/model/Variable.java b/src/main/java/org/hbp/mip/model/Variable.java index 684bb0ab4..9439aabee 100644 --- a/src/main/java/org/hbp/mip/model/Variable.java +++ b/src/main/java/org/hbp/mip/model/Variable.java @@ -4,11 +4,16 @@ package org.hbp.mip.model; +import javax.persistence.*; import java.util.LinkedList; import java.util.List; +@Entity public class Variable { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; + @ManyToOne private Group group; private String code; private String label; @@ -18,6 +23,7 @@ public class Variable { private boolean isGrouping; private boolean isCovariable; private boolean isFilter; + @ManyToMany private List<Value> values; public Variable() { diff --git a/src/main/resources/hibernate.cfg.xml b/src/main/resources/hibernate.cfg.xml index 616b46c2f..e2960eb76 100644 --- a/src/main/resources/hibernate.cfg.xml +++ b/src/main/resources/hibernate.cfg.xml @@ -18,6 +18,17 @@ <property name="hibernate.hbm2ddl.auto">update</property> <mapping class="org.hbp.mip.model.Article"/> + <mapping class="org.hbp.mip.model.Chart"/> + <mapping class="org.hbp.mip.model.ChartConfigSet"/> + <mapping class="org.hbp.mip.model.Dataset"/> + <mapping class="org.hbp.mip.model.Model"/> + <mapping class="org.hbp.mip.model.Query"/> + <mapping class="org.hbp.mip.model.Tag"/> + <mapping class="org.hbp.mip.model.User"/> + <mapping class="org.hbp.mip.model.Value"/> + <mapping class="org.hbp.mip.model.Variable"/> + <mapping class="org.hbp.mip.model.Filter"/> + <mapping class="org.hbp.mip.model.Group"/> </session-factory> </hibernate-configuration> \ No newline at end of file -- GitLab