ImplementaĆ§Ć£o dos registros de Log de eventos!
[simdecs2.git] / src / java / org / ufcspa / simdecs / test / Teste.java
index 06428db..e454cc4 100644 (file)
@@ -4,24 +4,53 @@
  */
 package org.ufcspa.simdecs.test;
 
+import java.io.File;
+import unbbayes.io.xmlbif.version6.XMLBIFIO;
+import unbbayes.prs.bn.JunctionTreeAlgorithm;
+import unbbayes.prs.bn.ProbabilisticNetwork;
+import unbbayes.prs.bn.ProbabilisticNode;
+
 /**
  *
  * @author maroni
  */
 public class Teste {
-    private static long getIdFromUID(String pUID, String prefixo) {
-        String id = pUID.replaceAll(prefixo, "");
-        id = id.substring(0, id.indexOf(":"));
-        return Long.parseLong(id);
-    }
+    public static void main(String[] args) {
+        final String caminhoRede = "/Users/maroni/NetBeansProjects/SimDeCS/web/redes/influencia.xml";
+        ProbabilisticNetwork rede;
 
-    private static long getIdPacienteFromUID(String pUID) {
-        String id = pUID.substring(pUID.indexOf(":paciente-") + ":paciente-".length());
-        return Long.parseLong(id);
-    }
+        try {
+            // required to run unbbayes gui classes on server
+            System.setProperty("java.awt.headless", "false"); 
+            rede = new ProbabilisticNetwork(null);
+            XMLBIFIO.loadXML(new File(caminhoRede), rede);
+            JunctionTreeAlgorithm jt = new JunctionTreeAlgorithm();
+            jt.setNet(rede);       
+            jt.run();
 
-    public static void main(String[] args) {
-        System.out.println(getIdFromUID("sintoma-np-12:paciente-1", "sintoma-np-"));        
-        System.out.println(getIdPacienteFromUID("sintoma-np-12:paciente-15"));        
+            
+           for (int j = 0; j < rede.getNodeCount(); j++) {
+                if (!(rede.getNodeAt(j) instanceof ProbabilisticNode)) {
+                    System.out.println(rede.getNodeAt(j).getClass());
+                    continue;
+                }
+                            
+               ProbabilisticNode nodoAtual = (ProbabilisticNode) rede.getNodeAt(j);
+               System.out.println(nodoAtual.getName());
+               
+               // Verificando a tabela de probabilidades do nodo
+                for (int pb = 0; pb < nodoAtual.getStatesSize(); pb++) {
+                        System.out.println(nodoAtual.getStateAt(pb)+":"+nodoAtual.getMarginalAt(pb));
+                }
+                 System.out.println("");
+           }
+            
+            
+        } catch (Exception e) {
+            e.printStackTrace();
+            System.exit(1);
+        }
+
+    
     }
 }