--- /dev/null
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.bn.entity;
+
+import java.io.Serializable;
+import javax.persistence.*;
+
+/**
+ *
+ * @author mchelem
+ */
+@Entity
+public class Answer implements Serializable {
+ private static final long serialVersionUID = 1L;
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private Long id;
+
+ private String text;
+
+ private float likelihood;
+
+ @ManyToOne
+ private Question question;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getText() {
+ return text;
+ }
+
+ public void setText(String text) {
+ this.text = text;
+ }
+
+ public float getLikelihood() {
+ return likelihood;
+ }
+
+ public void setLikelihood(float likelihood) {
+ this.likelihood = likelihood;
+ }
+
+ public Question getQuestion() {
+ return question;
+ }
+
+ public void setQuestion(Question question) {
+ this.question = question;
+ }
+
+ @Override
+ public int hashCode() {
+ int hash = 0;
+ hash += (id != null ? id.hashCode() : 0);
+ return hash;
+ }
+
+ @Override
+ public boolean equals(Object object) {
+ // TODO: Warning - this method won't work in the case the id fields are not set
+ if (!(object instanceof Answer)) {
+ return false;
+ }
+ Answer other = (Answer) object;
+ if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "org.ufcspa.simdecs.entity.Answer[ id=" + id + " ]";
+ }
+
+}
--- /dev/null
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.bn.entity;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.persistence.*;
+
+/**
+ *
+ * @author mchelem
+ */
+@Entity
+public class BayesianNetwork implements Serializable {
+ private static final long serialVersionUID = 1L;
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private Long id;
+
+ private String name;
+
+ @OneToMany(cascade = javax.persistence.CascadeType.ALL, mappedBy = "bayesianNetwork")
+ private List<Node> nodes;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public List<Node> getNodes() {
+ return nodes;
+ }
+
+ public void setNodes(List<Node> nodes) {
+ this.nodes = nodes;
+ }
+
+ @Override
+ public int hashCode() {
+ int hash = 0;
+ hash += (id != null ? id.hashCode() : 0);
+ return hash;
+ }
+
+ @Override
+ public boolean equals(Object object) {
+ // TODO: Warning - this method won't work in the case the id fields are not set
+ if (!(object instanceof BayesianNetwork)) {
+ return false;
+ }
+ BayesianNetwork other = (BayesianNetwork) object;
+ if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return name;
+ }
+
+}
--- /dev/null
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.bn.entity;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.persistence.*;
+
+/**
+ *
+ * @author mchelem
+ */
+@Entity
+public class Node implements Serializable {
+ private static final long serialVersionUID = 1L;
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private Long id;
+
+ private String name;
+
+ private NodeType nodeType;
+
+ private Integer time = 0;
+
+ private Float cost = 0.0f;
+
+ @ManyToOne
+ private BayesianNetwork bayesianNetwork;
+
+ @OneToMany(cascade = javax.persistence.CascadeType.ALL, mappedBy = "node")
+ private List<Question> questions;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public NodeType getNodeType() {
+ return nodeType;
+ }
+
+ public void setNodeType(NodeType nodeType) {
+ this.nodeType = nodeType;
+ }
+
+ public Integer getTime() {
+ return time;
+ }
+
+ public void setTime(Integer time) {
+ this.time = time;
+ }
+
+ public float getCost() {
+ return cost;
+ }
+
+ public void setCost(float cost) {
+ this.cost = cost;
+ }
+
+ public BayesianNetwork getBayesianNetwork() {
+ return bayesianNetwork;
+ }
+
+ public void setBayesianNetwork(BayesianNetwork bayesianNetwork) {
+ this.bayesianNetwork = bayesianNetwork;
+ }
+
+ public List<Question> getQuestions() {
+ return questions;
+ }
+
+ public void setQuestions(List<Question> questions) {
+ this.questions = questions;
+ }
+
+ @Override
+ public int hashCode() {
+ int hash = 0;
+ hash += (getId() != null ? getId().hashCode() : 0);
+ return hash;
+ }
+
+ @Override
+ public boolean equals(Object object) {
+ // TODO: Warning - this method won't work in the case the id fields are not set
+ if (!(object instanceof Node)) {
+ return false;
+ }
+ Node other = (Node) object;
+ if ((this.getId() == null && other.getId() != null) || (this.getId() != null && !this.id.equals(other.id))) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "org.ufcspa.simdecs.entity.Node[ id=" + getId() + " ]";
+ }
+}
--- /dev/null
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.bn.entity;
+
+/**
+ *
+ * @author mchelem
+ */
+public enum NodeType {Complementar, Essencial, Excludente, Trigger}
--- /dev/null
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.bn.entity;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.persistence.*;
+
+/**
+ *
+ * @author mchelem
+ */
+@Entity
+public class Question implements Serializable {
+ private static final long serialVersionUID = 1L;
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private Long id;
+
+ private String text;
+
+ @OneToMany(cascade = javax.persistence.CascadeType.ALL, mappedBy = "question")
+ private List<Answer> answers;
+
+ @ManyToOne
+ private Node node;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getText() {
+ return text;
+ }
+
+ public void setText(String text) {
+ this.text = text;
+ }
+
+ public List<Answer> getAnswers() {
+ return answers;
+ }
+
+ public void setAnswers(List<Answer> answers) {
+ this.answers = answers;
+ }
+
+ public Node getNode() {
+ return node;
+ }
+
+ public void setNode(Node node) {
+ this.node = node;
+ }
+
+ @Override
+ public int hashCode() {
+ int hash = 0;
+ hash += (id != null ? id.hashCode() : 0);
+ return hash;
+ }
+
+ @Override
+ public boolean equals(Object object) {
+ // TODO: Warning - this method won't work in the case the id fields are not set
+ if (!(object instanceof Question)) {
+ return false;
+ }
+ Question other = (Question) object;
+ if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "org.ufcspa.simdecs.entity.Question[ id=" + id + " ]";
+ }
+
+}