Adding node role (sintoma, diagnóstico, conduta) to Node.
authorMichele Silva <michele.silva@gmail.com>
Thu, 19 Jan 2012 20:31:35 +0000 (18:31 -0200)
committerMichele Silva <michele.silva@gmail.com>
Thu, 19 Jan 2012 20:31:35 +0000 (18:31 -0200)
src/java/org/ufcspa/simdecs/bn/entity/Node.java
src/java/org/ufcspa/simdecs/bn/entity/NodeRole.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/bn/entity/NodeType.java
src/java/org/ufcspa/simdecs/bn/ui/NodeRoleController.java [new file with mode: 0644]
web/bn.xhtml

index f646659..80cd40c 100644 (file)
@@ -23,6 +23,8 @@ public class Node implements Serializable {
     
     private NodeType nodeType;
     
+    private NodeType nodeRole;
+    
     private Integer time = 0;
     
     private Float cost = 0.0f;
@@ -57,6 +59,14 @@ public class Node implements Serializable {
         this.nodeType = nodeType;
     }
 
+    public NodeType getNodeRole() {
+        return nodeRole;
+    }
+
+    public void setNodeRole(NodeType nodeRole) {
+        this.nodeRole = nodeRole;
+    }
+
     public Integer getTime() {
         return time;
     }
diff --git a/src/java/org/ufcspa/simdecs/bn/entity/NodeRole.java b/src/java/org/ufcspa/simdecs/bn/entity/NodeRole.java
new file mode 100644 (file)
index 0000000..bf6d434
--- /dev/null
@@ -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 NodeRole {Sintoma, Diagnóstico, Conduta}
index 3ca294c..ace78c9 100644 (file)
@@ -8,4 +8,4 @@ package org.ufcspa.simdecs.bn.entity;
  *
  * @author mchelem
  */
-public enum NodeType {Complementar, Essencial, Excludente, Trigger}
+public enum NodeType {Complementar, Essencial, Excludente, Trigger, Bogus}
diff --git a/src/java/org/ufcspa/simdecs/bn/ui/NodeRoleController.java b/src/java/org/ufcspa/simdecs/bn/ui/NodeRoleController.java
new file mode 100644 (file)
index 0000000..d30b742
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.bn.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.faces.bean.ApplicationScoped;
+import javax.faces.bean.ManagedBean;
+import javax.faces.model.SelectItem;
+import org.ufcspa.simdecs.bn.entity.NodeRole;
+
+/**
+ *
+ * @author mchelem
+ */
+@ManagedBean(name = "nodeRoleController")
+@ApplicationScoped
+public class NodeRoleController {
+    private NodeRole nodeRole;
+
+    public void setNodeRole(NodeRole nodeRole) { this.nodeRole=nodeRole; }
+
+    public NodeRole getNodeRole() { return this.nodeRole; }
+        
+    public List<SelectItem> getNodeRoles() {
+        List<SelectItem> items = new ArrayList<SelectItem>();
+            for (NodeRole role: NodeRole.values()) {
+                items.add(new SelectItem(role, role.toString()));
+            }
+        return items;
+    } 
+}
index d42bc8c..b31236f 100644 (file)
@@ -25,7 +25,8 @@
         <h:panelGroup id="messagePanel" layout="block">
             <h:messages errorStyle="color: red" infoStyle="color: green" layout="table"/>
         </h:panelGroup>   
-        <p:panel header="Redes Bayesianas" toggleable="true" toggleListener="#{bayesianNetworkController.prepareList}">
+        <p:panel header="Redes Bayesianas" toggleable="true"                 
+                 collapsed="true">
             <h:form>    
                 <br></br>
                 <h:commandLink action="#{bayesianNetworkController.prepareList}" value="Atualizar tabela"/>
@@ -65,7 +66,8 @@
                 </h:panelGroup>
             </h:panelGrid>
         </p:panel>     
-        <p:panel header="Nodos" toggleable="true">
+        
+        <p:panel header="Nodos" toggleable="true" collapsed="true">
             <h:form>
                 <br></br>
                 <h:commandLink action="#{nodeController.prepareList}" value="Atualizar tabela"/>
                                 </f:facet>  
                             </p:cellEditor>  
                         </p:column>  
-                        <p:column headerText="Tipo">
+                        <p:column headerText="Classificação">
                             <p:cellEditor>  
                                 <f:facet name="output">  
                                     <h:outputText value="#{node.nodeType}" />  
                                 </f:facet>  
                             </p:cellEditor>  
                         </p:column>  
+                        <p:column headerText="Tipo">
+                            <p:cellEditor>  
+                                <f:facet name="output">  
+                                    <h:outputText value="#{node.nodeRole}" />  
+                                </f:facet>  
+                                <f:facet name="input">  
+                                    <h:selectOneMenu value="#{node.nodeRole}" >  
+                                        <f:selectItems value="#{nodeRoleController.nodeRoles}"  
+                                                       var="nodeType"   
+                                                       itemLabel="#{nodeRole}"  
+                                                       itemValue="#{nodeRole}" />  
+                                    </h:selectOneMenu>  
+                                </f:facet>  
+                            </p:cellEditor>  
+                        </p:column>  
                         <p:column headerText="Rede Bayesiana"> 
                             <h:outputText value="#{node.bayesianNetwork.name}"/>
                         </p:column>  
             </h:panelGroup>
 
         </p:panel>
-        <p:panel header="Perguntas" toggleable="true">
+        <p:panel header="Perguntas" toggleable="true" collapsed="true">
             <h:form>
                 <br></br>
                 <h:commandLink action="#{questionController.prepareList}" value="Atualizar tabela"/>
                 <h:commandLink action="/net/question/Create.xhtml" value="Criar nova pergunta"/>
             </h:form>
         </p:panel>
-        <p:panel header="Respostas" toggleable="true">
+        <p:panel header="Respostas" toggleable="true" collapsed="true">
             <h:form>
                 <br></br>
                 <h:commandLink action="#{answerController.prepareList}" value="Atualizar tabela"/>