From 5d05ee58812cfa8b58ab2dcf93a5d3a3bb71d6aa Mon Sep 17 00:00:00 2001 From: Michele Silva Date: Tue, 17 Jan 2012 18:55:52 -0200 Subject: [PATCH] Added entities for the bayesian network upload. --- src/java/org/ufcspa/simdecs/bn/entity/Answer.java | 85 ++++++++++++++ .../ufcspa/simdecs/bn/entity/BayesianNetwork.java | 76 +++++++++++++ src/java/org/ufcspa/simdecs/bn/entity/Node.java | 116 ++++++++++++++++++++ .../org/ufcspa/simdecs/bn/entity/NodeType.java | 11 ++ .../org/ufcspa/simdecs/bn/entity/Question.java | 87 +++++++++++++++ 5 files changed, 375 insertions(+), 0 deletions(-) create mode 100644 src/java/org/ufcspa/simdecs/bn/entity/Answer.java create mode 100644 src/java/org/ufcspa/simdecs/bn/entity/BayesianNetwork.java create mode 100644 src/java/org/ufcspa/simdecs/bn/entity/Node.java create mode 100644 src/java/org/ufcspa/simdecs/bn/entity/NodeType.java create mode 100644 src/java/org/ufcspa/simdecs/bn/entity/Question.java diff --git a/src/java/org/ufcspa/simdecs/bn/entity/Answer.java b/src/java/org/ufcspa/simdecs/bn/entity/Answer.java new file mode 100644 index 0000000..36c428f --- /dev/null +++ b/src/java/org/ufcspa/simdecs/bn/entity/Answer.java @@ -0,0 +1,85 @@ +/* + * 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 + " ]"; + } + +} diff --git a/src/java/org/ufcspa/simdecs/bn/entity/BayesianNetwork.java b/src/java/org/ufcspa/simdecs/bn/entity/BayesianNetwork.java new file mode 100644 index 0000000..a17735e --- /dev/null +++ b/src/java/org/ufcspa/simdecs/bn/entity/BayesianNetwork.java @@ -0,0 +1,76 @@ +/* + * 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 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 getNodes() { + return nodes; + } + + public void setNodes(List 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; + } + +} diff --git a/src/java/org/ufcspa/simdecs/bn/entity/Node.java b/src/java/org/ufcspa/simdecs/bn/entity/Node.java new file mode 100644 index 0000000..f646659 --- /dev/null +++ b/src/java/org/ufcspa/simdecs/bn/entity/Node.java @@ -0,0 +1,116 @@ +/* + * 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 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 getQuestions() { + return questions; + } + + public void setQuestions(List 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() + " ]"; + } +} diff --git a/src/java/org/ufcspa/simdecs/bn/entity/NodeType.java b/src/java/org/ufcspa/simdecs/bn/entity/NodeType.java new file mode 100644 index 0000000..3ca294c --- /dev/null +++ b/src/java/org/ufcspa/simdecs/bn/entity/NodeType.java @@ -0,0 +1,11 @@ +/* + * 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} diff --git a/src/java/org/ufcspa/simdecs/bn/entity/Question.java b/src/java/org/ufcspa/simdecs/bn/entity/Question.java new file mode 100644 index 0000000..daf27e3 --- /dev/null +++ b/src/java/org/ufcspa/simdecs/bn/entity/Question.java @@ -0,0 +1,87 @@ +/* + * 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 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 getAnswers() { + return answers; + } + + public void setAnswers(List 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 + " ]"; + } + +} -- 1.7.6.4