Import inicial.
authorMichele Silva <michele.silva@gmail.com>
Thu, 2 Feb 2012 23:26:26 +0000 (21:26 -0200)
committerMichele Silva <michele.silva@gmail.com>
Thu, 2 Feb 2012 23:26:26 +0000 (21:26 -0200)
60 files changed:
build.xml [new file with mode: 0644]
lib/avalon-framework-4.1.3.jar [new file with mode: 0755]
lib/commons-fileupload-1.2.2.jar [new file with mode: 0755]
lib/commons-io-2.1.jar [new file with mode: 0755]
lib/commons-lang3-3.1.jar [new file with mode: 0755]
lib/commons-logging-1.1.jar [new file with mode: 0755]
lib/icu4j-3.8.jar [new file with mode: 0755]
lib/javahelp-2.0.02.jar [new file with mode: 0755]
lib/jaxme2-0.5.1.jar [new file with mode: 0755]
lib/jaxme2-rt-0.5.1.jar [new file with mode: 0755]
lib/jaxmeapi-0.5.1.jar [new file with mode: 0755]
lib/jaxmejs-0.5.1.jar [new file with mode: 0755]
lib/jaxmexs-0.5.1.jar [new file with mode: 0755]
lib/jpf-1.5.jar [new file with mode: 0755]
lib/junit-4.1.jar [new file with mode: 0755]
lib/log4j-1.2.12.jar [new file with mode: 0755]
lib/logkit-1.0.1.jar [new file with mode: 0755]
lib/postgresql-9.1-901.jdbc3.jar [new file with mode: 0644]
lib/servlet-api-2.3.jar [new file with mode: 0755]
lib/unbbayes-4.10.4-1s.jar [new file with mode: 0755]
lib/xalan-2.7.0.jar [new file with mode: 0755]
lib/xml-apis-1.0.b2.jar [new file with mode: 0755]
nbproject/ant-deploy.xml [new file with mode: 0644]
nbproject/build-impl.xml [new file with mode: 0644]
nbproject/genfiles.properties [new file with mode: 0644]
nbproject/project.properties [new file with mode: 0644]
nbproject/project.xml [new file with mode: 0644]
samples/headache.xml [new file with mode: 0755]
setup/glassfish-resources.xml [new file with mode: 0644]
src/conf/MANIFEST.MF [new file with mode: 0644]
src/conf/persistence.xml [new file with mode: 0644]
src/java/org/ufcspa/simdecs/bn/ui/FileUploadController.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/entities/Caso.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/entities/DependenciaNodo.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/entities/Nodo.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/entities/NodoPaciente.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/entities/Paciente.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/entities/PerguntaNodo.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/entities/Rede.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/entities/RespostaNodo.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/entities/SinonimoResposta.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/entities/Usuario.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/mb/DefaultManagedBean.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/mb/editarcasos/EditarCasoBean.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/mb/editarcasos/LoginBean.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/mb/editarcasos/SelecioneCasoBean.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/test/Teste.java [new file with mode: 0644]
src/java/org/ufcspa/simdecs/util/DbUtil.java [new file with mode: 0644]
web/WEB-INF/web.xml [new file with mode: 0644]
web/editarcasos/editarCaso.xhtml [new file with mode: 0644]
web/editarcasos/selecioneCaso.xhtml [new file with mode: 0644]
web/img/background.gif [new file with mode: 0755]
web/img/patientFemale.png [new file with mode: 0755]
web/img/patientMale.png [new file with mode: 0755]
web/img/plus.png [new file with mode: 0755]
web/login.xhtml [new file with mode: 0644]
web/modelo.xsd [new file with mode: 0644]
web/rede/index.xhtml [new file with mode: 0644]
web/style.css [new file with mode: 0644]
web/teste.xsd [new file with mode: 0644]

diff --git a/build.xml b/build.xml
new file mode 100644 (file)
index 0000000..48e17e4
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See commented blocks below for -->
+<!-- some examples of how to customize the build. -->
+<!-- (If you delete it and reopen the project it will be recreated.) -->
+<!-- By default, only the Clean and Build commands use this build script. -->
+<!-- Commands such as Run, Debug, and Test only use this build script if -->
+<!-- the Compile on Save feature is turned off for the project. -->
+<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
+<!-- in the project's Project Properties dialog box.-->
+<project name="SimDeCS" default="default" basedir=".">
+    <description>Builds, tests, and runs the project SimDeCS.</description>
+    <import file="nbproject/build-impl.xml"/>
+    <!--
+
+    There exist several targets which are by default empty and which can be 
+    used for execution of your tasks. These targets are usually executed 
+    before and after some main targets. They are: 
+
+      -pre-init:                 called before initialization of project properties 
+      -post-init:                called after initialization of project properties 
+      -pre-compile:              called before javac compilation 
+      -post-compile:             called after javac compilation 
+      -pre-compile-single:       called before javac compilation of single file
+      -post-compile-single:      called after javac compilation of single file
+      -pre-compile-test:         called before javac compilation of JUnit tests
+      -post-compile-test:        called after javac compilation of JUnit tests
+      -pre-compile-test-single:  called before javac compilation of single JUnit test
+      -post-compile-test-single: called after javac compilation of single JUunit test
+      -pre-dist:                 called before archive building 
+      -post-dist:                called after archive building 
+      -post-clean:               called after cleaning build products 
+      -pre-run-deploy:           called before deploying
+      -post-run-deploy:          called after deploying
+
+    Example of pluging an obfuscator after the compilation could look like 
+
+        <target name="-post-compile">
+            <obfuscate>
+                <fileset dir="${build.classes.dir}"/>
+            </obfuscate>
+        </target>
+
+    For list of available properties check the imported 
+    nbproject/build-impl.xml file. 
+
+
+    Other way how to customize the build is by overriding existing main targets.
+    The target of interest are: 
+
+      init-macrodef-javac:    defines macro for javac compilation
+      init-macrodef-junit:   defines macro for junit execution
+      init-macrodef-debug:    defines macro for class debugging
+      do-dist:                archive building
+      run:                    execution of project 
+      javadoc-build:          javadoc generation 
+
+    Example of overriding the target for project execution could look like 
+
+        <target name="run" depends="<PROJNAME>-impl.jar">
+            <exec dir="bin" executable="launcher.exe">
+                <arg file="${dist.jar}"/>
+            </exec>
+        </target>
+
+    Notice that overridden target depends on jar target and not only on 
+    compile target as regular run target does. Again, for list of available 
+    properties which you can use check the target you are overriding in 
+    nbproject/build-impl.xml file. 
+
+    -->
+</project>
diff --git a/lib/avalon-framework-4.1.3.jar b/lib/avalon-framework-4.1.3.jar
new file mode 100755 (executable)
index 0000000..fd72580
Binary files /dev/null and b/lib/avalon-framework-4.1.3.jar differ
diff --git a/lib/commons-fileupload-1.2.2.jar b/lib/commons-fileupload-1.2.2.jar
new file mode 100755 (executable)
index 0000000..131f192
Binary files /dev/null and b/lib/commons-fileupload-1.2.2.jar differ
diff --git a/lib/commons-io-2.1.jar b/lib/commons-io-2.1.jar
new file mode 100755 (executable)
index 0000000..b5c7d69
Binary files /dev/null and b/lib/commons-io-2.1.jar differ
diff --git a/lib/commons-lang3-3.1.jar b/lib/commons-lang3-3.1.jar
new file mode 100755 (executable)
index 0000000..a85e539
Binary files /dev/null and b/lib/commons-lang3-3.1.jar differ
diff --git a/lib/commons-logging-1.1.jar b/lib/commons-logging-1.1.jar
new file mode 100755 (executable)
index 0000000..2ff9bbd
Binary files /dev/null and b/lib/commons-logging-1.1.jar differ
diff --git a/lib/icu4j-3.8.jar b/lib/icu4j-3.8.jar
new file mode 100755 (executable)
index 0000000..2665486
Binary files /dev/null and b/lib/icu4j-3.8.jar differ
diff --git a/lib/javahelp-2.0.02.jar b/lib/javahelp-2.0.02.jar
new file mode 100755 (executable)
index 0000000..6b894bc
Binary files /dev/null and b/lib/javahelp-2.0.02.jar differ
diff --git a/lib/jaxme2-0.5.1.jar b/lib/jaxme2-0.5.1.jar
new file mode 100755 (executable)
index 0000000..9696d43
Binary files /dev/null and b/lib/jaxme2-0.5.1.jar differ
diff --git a/lib/jaxme2-rt-0.5.1.jar b/lib/jaxme2-rt-0.5.1.jar
new file mode 100755 (executable)
index 0000000..3ef8d91
Binary files /dev/null and b/lib/jaxme2-rt-0.5.1.jar differ
diff --git a/lib/jaxmeapi-0.5.1.jar b/lib/jaxmeapi-0.5.1.jar
new file mode 100755 (executable)
index 0000000..dcf0556
Binary files /dev/null and b/lib/jaxmeapi-0.5.1.jar differ
diff --git a/lib/jaxmejs-0.5.1.jar b/lib/jaxmejs-0.5.1.jar
new file mode 100755 (executable)
index 0000000..63cb385
Binary files /dev/null and b/lib/jaxmejs-0.5.1.jar differ
diff --git a/lib/jaxmexs-0.5.1.jar b/lib/jaxmexs-0.5.1.jar
new file mode 100755 (executable)
index 0000000..17a7e65
Binary files /dev/null and b/lib/jaxmexs-0.5.1.jar differ
diff --git a/lib/jpf-1.5.jar b/lib/jpf-1.5.jar
new file mode 100755 (executable)
index 0000000..5353d0c
Binary files /dev/null and b/lib/jpf-1.5.jar differ
diff --git a/lib/junit-4.1.jar b/lib/junit-4.1.jar
new file mode 100755 (executable)
index 0000000..2c46d67
Binary files /dev/null and b/lib/junit-4.1.jar differ
diff --git a/lib/log4j-1.2.12.jar b/lib/log4j-1.2.12.jar
new file mode 100755 (executable)
index 0000000..9b5a720
Binary files /dev/null and b/lib/log4j-1.2.12.jar differ
diff --git a/lib/logkit-1.0.1.jar b/lib/logkit-1.0.1.jar
new file mode 100755 (executable)
index 0000000..d3250ee
Binary files /dev/null and b/lib/logkit-1.0.1.jar differ
diff --git a/lib/postgresql-9.1-901.jdbc3.jar b/lib/postgresql-9.1-901.jdbc3.jar
new file mode 100644 (file)
index 0000000..046eeca
Binary files /dev/null and b/lib/postgresql-9.1-901.jdbc3.jar differ
diff --git a/lib/servlet-api-2.3.jar b/lib/servlet-api-2.3.jar
new file mode 100755 (executable)
index 0000000..cd5b351
Binary files /dev/null and b/lib/servlet-api-2.3.jar differ
diff --git a/lib/unbbayes-4.10.4-1s.jar b/lib/unbbayes-4.10.4-1s.jar
new file mode 100755 (executable)
index 0000000..c53c95e
Binary files /dev/null and b/lib/unbbayes-4.10.4-1s.jar differ
diff --git a/lib/xalan-2.7.0.jar b/lib/xalan-2.7.0.jar
new file mode 100755 (executable)
index 0000000..007be39
Binary files /dev/null and b/lib/xalan-2.7.0.jar differ
diff --git a/lib/xml-apis-1.0.b2.jar b/lib/xml-apis-1.0.b2.jar
new file mode 100755 (executable)
index 0000000..ad33a5a
Binary files /dev/null and b/lib/xml-apis-1.0.b2.jar differ
diff --git a/nbproject/ant-deploy.xml b/nbproject/ant-deploy.xml
new file mode 100644 (file)
index 0000000..2d5f877
--- /dev/null
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project default="-deploy-ant" basedir=".">
+    <target name="-init-cl-deployment-env" if="deploy.ant.enabled">
+        <property file="${deploy.ant.properties.file}" />
+        <available file="${deploy.ant.docbase.dir}/WEB-INF/sun-web.xml" property="sun.web.present"/>
+        <available file="${deploy.ant.docbase.dir}/WEB-INF/glassfish-web.xml" property="glassfish.web.present"/>
+        <available file="${deploy.ant.resource.dir}" property="has.setup"/>
+        <tempfile prefix="gfv3" property="gfv3.password.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
+        <echo message="AS_ADMIN_PASSWORD=${gfv3.password}" file="${gfv3.password.file}"/>
+    </target>
+    
+    <target name="-parse-sun-web" depends="-init-cl-deployment-env" if="sun.web.present">
+        <tempfile prefix="gfv3" property="temp.sun.web" destdir="${java.io.tmpdir}"/>
+        <copy file="${deploy.ant.docbase.dir}/WEB-INF/sun-web.xml" tofile="${temp.sun.web}"/>
+        <!-- The doctype triggers resolution which can fail -->
+        <replace file="${temp.sun.web}">
+            <replacetoken><![CDATA[<!DOCTYPE]]></replacetoken>
+            <replacevalue><![CDATA[<!-- <!DOCTYPE]]></replacevalue>
+        </replace>
+        <replace file="${temp.sun.web}">
+            <replacetoken><![CDATA[<sun-web-app]]></replacetoken>
+            <replacevalue><![CDATA[--> <sun-web-app]]></replacevalue>
+        </replace>
+        <xmlproperty file="${temp.sun.web}" validate="false">
+        </xmlproperty>    
+        <delete file="${temp.sun.web}"/>
+        <condition property="deploy.ant.client.url" value="${gfv3.url}${sun-web-app.context-root}" else="${gfv3.url}/${ant.project.name}">
+            <isset property="sun-web-app.context-root"/>
+        </condition>
+        <condition property="deploy.context.root.argument" value="&amp;contextroot=${sun-web-app.context-root}" else="/${ant.project.name}">
+            <isset property="sun-web-app.context-root"/>
+        </condition>
+    </target>
+    <target name="-parse-glassfish-web" depends="-init-cl-deployment-env" if="glassfish.web.present">
+        <tempfile prefix="gfv3" property="temp.gf.web" destdir="${java.io.tmpdir}"/>
+        <copy file="${deploy.ant.docbase.dir}/WEB-INF/glassfish-web.xml" tofile="${temp.gf.web}"/>
+        <!-- The doctype triggers resolution which can fail -->
+        <replace file="${temp.gf.web}">
+            <replacetoken><![CDATA[<!DOCTYPE]]></replacetoken>
+            <replacevalue><![CDATA[<!-- <!DOCTYPE]]></replacevalue>
+        </replace>
+        <replace file="${temp.gf.web}">
+            <replacetoken><![CDATA[<glassfish-web-app]]></replacetoken>
+            <replacevalue><![CDATA[--> <glassfish-web-app]]></replacevalue>
+        </replace>
+        <xmlproperty file="${temp.gf.web}" validate="false">
+        </xmlproperty>
+        <delete file="${temp.gf.web}"/>
+        <condition property="deploy.ant.client.url" value="${gfv3.url}${glassfish-web-app.context-root}" else="${gfv3.url}/${ant.project.name}">
+            <isset property="glassfish-web-app.context-root"/>
+        </condition>
+        <condition property="deploy.context.root.argument" value="&amp;contextroot=${glassfish-web-app.context-root}" else="/${ant.project.name}">
+            <isset property="glassfish-web-app.context-root"/>
+        </condition>
+    </target>
+    <target name="-no-parse-sun-web" depends="-init-cl-deployment-env" unless="sun.web.present">
+        <property name="deploy.context.root.argument" value=""/>
+    </target>
+    <target name="-add-resources" depends="-init-cl-deployment-env" if="has.setup">
+        <tempfile prefix="gfv3" property="gfv3.resources.dir" destdir="${java.io.tmpdir}"/>
+        <mkdir dir="${gfv3.resources.dir}"/>
+        <mkdir dir="${gfv3.resources.dir}/META-INF"/>
+        <copy todir="${gfv3.resources.dir}/META-INF">
+            <fileset dir="${deploy.ant.resource.dir}"/>
+        </copy>
+        <jar destfile="${deploy.ant.archive}" update="true">
+            <fileset dir="${gfv3.resources.dir}"/>
+        </jar>
+        <delete dir="${gfv3.resources.dir}"/>
+    </target>
+    <target name="-deploy-ant" depends="-parse-glassfish-web, -parse-sun-web, -no-parse-sun-web,-add-resources" if="deploy.ant.enabled">
+        <antcall target="-deploy-without-pw"/>
+        <antcall target="-deploy-with-pw"/>
+    </target>
+
+    <target name="-deploy-without-pw" unless="gfv3.password">
+        <echo message="Deploying ${deploy.ant.archive}"/>
+        <tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
+        <property name="full.deploy.ant.archive" location="${deploy.ant.archive}"/>
+        <get src="${gfv3.admin.url}/__asadmin/deploy?path=${full.deploy.ant.archive}${deploy.context.root.argument}&amp;force=true&amp;name=${ant.project.name}"
+            dest="${gfv3.results.file}"/>
+        <delete file="${gfv3.results.file}"/>    
+    </target>
+    <target name="-deploy-with-pw" if="gfv3.password">
+        <echo message="Deploying ${deploy.ant.archive}"/>
+        <tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
+        <property name="full.deploy.ant.archive" location="${deploy.ant.archive}"/>
+        <get username="${gfv3.username}" password="${gfv3.password}" src="${gfv3.admin.url}/__asadmin/deploy?path=${full.deploy.ant.archive}${deploy.context.root.argument}&amp;force=true&amp;name=${ant.project.name}"
+            dest="${gfv3.results.file}"/>
+        <delete file="${gfv3.results.file}"/>
+    </target>
+    <target name="-undeploy-ant" depends="-init-cl-deployment-env" if="deploy.ant.enabled">
+        <antcall target="-undeploy-without-pw"/>
+        <antcall target="-undeploy-with-pw"/>
+    </target>
+
+    <target name="-undeploy-without-pw" unless="gfv3.password">
+        <echo message="Undeploying ${deploy.ant.archive}"/>
+        <tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
+        <get src="${gfv3.admin.url}/__asadmin/undeploy?name=${ant.project.name}"
+            dest="${gfv3.results.file}"/>
+        <delete file="${gfv3.results.file}"/>    
+    </target>
+    <target name="-undeploy-with-pw" if="gfv3.password">
+        <echo message="Undeploying ${deploy.ant.archive}"/>
+        <tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
+        <get username="${gfv3.username}" password="${gfv3.password}" src="${gfv3.admin.url}/__asadmin/undeploy?name=${ant.project.name}"
+            dest="${gfv3.results.file}"/>
+        <delete file="${gfv3.results.file}"/>
+    </target>
+</project>
diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml
new file mode 100644 (file)
index 0000000..db58d5e
--- /dev/null
@@ -0,0 +1,1115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+        *** GENERATED FROM project.xml - DO NOT EDIT  ***
+        ***         EDIT ../build.xml INSTEAD         ***
+
+        For the purpose of easier reading the script
+        is divided into following sections:
+        - initialization
+        - compilation
+        - dist
+        - execution
+        - debugging
+        - javadoc
+        - junit compilation
+        - junit execution
+        - junit debugging
+        - cleanup
+
+        -->
+<project xmlns:webproject1="http://www.netbeans.org/ns/web-project/1" xmlns:webproject2="http://www.netbeans.org/ns/web-project/2" xmlns:webproject3="http://www.netbeans.org/ns/web-project/3" basedir=".." default="default" name="SimDeCS-impl">
+    <import file="ant-deploy.xml"/>
+    <fail message="Please build using Ant 1.7.1 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.7.1"/>
+            </not>
+        </condition>
+    </fail>
+    <target depends="dist,javadoc" description="Build whole project." name="default"/>
+    <!--
+                INITIALIZATION SECTION
+            -->
+    <target name="-pre-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="-pre-init" name="-init-private">
+        <property file="nbproject/private/private.properties"/>
+    </target>
+    <target depends="-pre-init,-init-private" name="-init-user">
+        <property file="${user.properties.file}"/>
+        <!-- The two properties below are usually overridden -->
+        <!-- by the active platform. Just a fallback. -->
+        <property name="default.javac.source" value="1.4"/>
+        <property name="default.javac.target" value="1.4"/>
+    </target>
+    <target depends="-pre-init,-init-private,-init-user" name="-init-project">
+        <property file="nbproject/project.properties"/>
+    </target>
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" if="dist.ear.dir" name="-do-ear-init"/>
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
+        <condition property="have.tests">
+            <or>
+                <available file="${test.src.dir}"/>
+            </or>
+        </condition>
+        <condition property="have.sources">
+            <or>
+                <available file="${src.dir}"/>
+            </or>
+        </condition>
+        <condition property="netbeans.home+have.tests">
+            <and>
+                <isset property="netbeans.home"/>
+                <isset property="have.tests"/>
+            </and>
+        </condition>
+        <condition property="no.javadoc.preview">
+            <isfalse value="${javadoc.preview}"/>
+        </condition>
+        <property name="javac.compilerargs" value=""/>
+        <condition property="no.deps">
+            <and>
+                <istrue value="${no.dependencies}"/>
+            </and>
+        </condition>
+        <condition property="no.dist.ear.dir">
+            <not>
+                <isset property="dist.ear.dir"/>
+            </not>
+        </condition>
+        <property name="build.web.excludes" value="${build.classes.excludes}"/>
+        <condition property="do.compile.jsps">
+            <istrue value="${compile.jsps}"/>
+        </condition>
+        <condition property="do.debug.server">
+            <or>
+                <not>
+                    <isset property="debug.server"/>
+                </not>
+                <istrue value="${debug.server}"/>
+                <and>
+                    <not>
+                        <istrue value="${debug.server}"/>
+                    </not>
+                    <not>
+                        <istrue value="${debug.client}"/>
+                    </not>
+                </and>
+            </or>
+        </condition>
+        <condition property="do.debug.client">
+            <istrue value="${debug.client}"/>
+        </condition>
+        <condition property="do.display.browser">
+            <istrue value="${display.browser}"/>
+        </condition>
+        <condition property="do.display.browser.debug">
+            <and>
+                <isset property="do.display.browser"/>
+                <not>
+                    <isset property="do.debug.client"/>
+                </not>
+            </and>
+        </condition>
+        <available file="${conf.dir}/MANIFEST.MF" property="has.custom.manifest"/>
+        <available file="${persistence.xml.dir}/persistence.xml" property="has.persistence.xml"/>
+        <condition property="do.war.package.with.custom.manifest">
+            <isset property="has.custom.manifest"/>
+        </condition>
+        <condition property="do.war.package.without.custom.manifest">
+            <not>
+                <isset property="has.custom.manifest"/>
+            </not>
+        </condition>
+        <condition property="do.tmp.war.package.with.custom.manifest">
+            <and>
+                <isset property="has.custom.manifest"/>
+                <or>
+                    <isfalse value="${directory.deployment.supported}"/>
+                    <isset property="dist.ear.dir"/>
+                </or>
+            </and>
+        </condition>
+        <condition property="do.tmp.war.package.without.custom.manifest">
+            <and>
+                <not>
+                    <isset property="has.custom.manifest"/>
+                </not>
+                <or>
+                    <isfalse value="${directory.deployment.supported}"/>
+                    <isset property="dist.ear.dir"/>
+                </or>
+            </and>
+        </condition>
+        <condition property="do.tmp.war.package">
+            <or>
+                <isfalse value="${directory.deployment.supported}"/>
+                <isset property="dist.ear.dir"/>
+            </or>
+        </condition>
+        <property name="build.meta.inf.dir" value="${build.web.dir}/META-INF"/>
+        <condition else="" property="application.args.param" value="${application.args}">
+            <and>
+                <isset property="application.args"/>
+                <not>
+                    <equals arg1="${application.args}" arg2="" trim="true"/>
+                </not>
+            </and>
+        </condition>
+        <property name="source.encoding" value="${file.encoding}"/>
+        <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
+            <and>
+                <isset property="javadoc.encoding"/>
+                <not>
+                    <equals arg1="${javadoc.encoding}" arg2=""/>
+                </not>
+            </and>
+        </condition>
+        <property name="javadoc.encoding.used" value="${source.encoding}"/>
+        <property name="includes" value="**"/>
+        <property name="excludes" value=""/>
+        <property name="runmain.jvmargs" value=""/>
+        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
+        <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
+            <and>
+                <isset property="endorsed.classpath"/>
+                <length length="0" string="${endorsed.classpath}" when="greater"/>
+            </and>
+        </condition>
+        <condition else="false" property="jdkBug6558476">
+            <and>
+                <matches pattern="1\.[56]" string="${java.specification.version}"/>
+                <not>
+                    <os family="unix"/>
+                </not>
+            </and>
+        </condition>
+        <property name="javac.fork" value="${jdkBug6558476}"/>
+    </target>
+    <target depends="init" name="-init-cos" unless="deploy.on.save">
+        <condition property="deploy.on.save" value="true">
+            <or>
+                <istrue value="${j2ee.deploy.on.save}"/>
+                <istrue value="${j2ee.compile.on.save}"/>
+            </or>
+        </condition>
+    </target>
+    <target name="-post-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
+        <fail unless="src.dir">Must set src.dir</fail>
+        <fail unless="test.src.dir">Must set test.src.dir</fail>
+        <fail unless="build.dir">Must set build.dir</fail>
+        <fail unless="build.web.dir">Must set build.web.dir</fail>
+        <fail unless="build.generated.dir">Must set build.generated.dir</fail>
+        <fail unless="dist.dir">Must set dist.dir</fail>
+        <fail unless="build.classes.dir">Must set build.classes.dir</fail>
+        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
+        <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
+        <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
+        <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
+        <fail unless="dist.war">Must set dist.war</fail>
+        <condition property="missing.j2ee.server.home">
+            <and>
+                <matches pattern="j2ee.server.home" string="${j2ee.platform.classpath}"/>
+                <not>
+                    <isset property="j2ee.server.home"/>
+                </not>
+            </and>
+        </condition>
+        <fail if="missing.j2ee.server.home">
+The Java EE server classpath is not correctly set up - server home directory is missing.
+Either open the project in the IDE and assign the server or setup the server classpath manually.
+For example like this:
+   ant -Dj2ee.server.home=&lt;app_server_installation_directory&gt;
+                </fail>
+        <fail unless="j2ee.platform.classpath">
+The Java EE server classpath is not correctly set up. Your active server type is ${j2ee.server.type}.
+Either open the project in the IDE and assign the server or setup the server classpath manually.
+For example like this:
+   ant -Duser.properties.file=&lt;path_to_property_file&gt; (where you put the property "j2ee.platform.classpath" in a .properties file)
+or ant -Dj2ee.platform.classpath=&lt;server_classpath&gt; (where no properties file is used)
+                </fail>
+    </target>
+    <target name="-init-macrodef-property">
+        <macrodef name="property" uri="http://www.netbeans.org/ns/web-project/1">
+            <attribute name="name"/>
+            <attribute name="value"/>
+            <sequential>
+                <property name="@{name}" value="${@{value}}"/>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
+        <macrodef name="javac" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${src.dir}" name="srcdir"/>
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <attribute default="${javac.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+            <attribute default="${javac.processorpath}" name="processorpath"/>
+            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="${javac.debug}" name="debug"/>
+            <attribute default="${empty.dir}" name="gensrcdir"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property location="${build.dir}/empty" name="empty.dir"/>
+                <mkdir dir="${empty.dir}"/>
+                <mkdir dir="@{apgeneratedsrcdir}"/>
+                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}" target="${javac.target}">
+                    <src>
+                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
+                            <include name="*"/>
+                        </dirset>
+                    </src>
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <compilerarg line="${javac.compilerargs}"/>
+                    <compilerarg value="-processorpath"/>
+                    <compilerarg path="@{processorpath}:${empty.dir}"/>
+                    <compilerarg line="${ap.processors.internal}"/>
+                    <compilerarg value="-s"/>
+                    <compilerarg path="@{apgeneratedsrcdir}"/>
+                    <compilerarg line="${ap.proc.none.internal}"/>
+                    <customize/>
+                </javac>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
+        <macrodef name="javac" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${src.dir}" name="srcdir"/>
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <attribute default="${javac.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+            <attribute default="${javac.processorpath}" name="processorpath"/>
+            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="${javac.debug}" name="debug"/>
+            <attribute default="${empty.dir}" name="gensrcdir"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property location="${build.dir}/empty" name="empty.dir"/>
+                <mkdir dir="${empty.dir}"/>
+                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" includeantruntime="false" includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}" target="${javac.target}">
+                    <src>
+                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
+                            <include name="*"/>
+                        </dirset>
+                    </src>
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <compilerarg line="${javac.compilerargs}"/>
+                    <customize/>
+                </javac>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
+        <macrodef name="depend" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${src.dir}" name="srcdir"/>
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <attribute default="${javac.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+            <sequential>
+                <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                </depend>
+            </sequential>
+        </macrodef>
+        <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <sequential>
+                <fail unless="javac.includes">Must set javac.includes</fail>
+                <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
+                    <path>
+                        <filelist dir="@{destdir}" files="${javac.includes}"/>
+                    </path>
+                    <globmapper from="*.java" to="*.class"/>
+                </pathconvert>
+                <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
+                <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
+                <delete>
+                    <files includesfile="${javac.includesfile.binary}"/>
+                </delete>
+                <delete file="${javac.includesfile.binary}"/>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-junit">
+        <macrodef name="junit" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <sequential>
+                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${java.io.tmpdir}">
+                    <batchtest todir="${build.test.results.dir}">
+                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
+                    </batchtest>
+                    <classpath>
+                        <path path="${run.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <jvmarg value="-ea"/>
+                    <jvmarg line="${runmain.jvmargs}"/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-java">
+        <macrodef name="java" uri="http://www.netbeans.org/ns/web-project/1">
+            <attribute default="${main.class}" name="classname"/>
+            <attribute default="${debug.classpath}" name="classpath"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <java classname="@{classname}" fork="true">
+                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <jvmarg line="${runmain.jvmargs}"/>
+                    <classpath>
+                        <path path="@{classpath}:${j2ee.platform.classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-nbjsdebug">
+        <macrodef name="nbjsdebugstart" uri="http://www.netbeans.org/ns/web-project/1">
+            <attribute default="${client.url}" name="webUrl"/>
+            <sequential>
+                <nbjsdebugstart urlPart="${client.urlPart}" webUrl="@{webUrl}"/>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
+        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/web-project/1">
+            <attribute default="${main.class}" name="name"/>
+            <attribute default="${debug.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+            <sequential>
+                <nbjpdastart addressproperty="jpda.address" name="@{name}" transport="${debug-transport}">
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                </nbjpdastart>
+            </sequential>
+        </macrodef>
+        <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/web-project/1">
+            <attribute default="${build.classes.dir}" name="dir"/>
+            <sequential>
+                <nbjpdareload>
+                    <fileset dir="@{dir}" includes="${fix.classes}">
+                        <include name="${fix.includes}*.class"/>
+                    </fileset>
+                </nbjpdareload>
+            </sequential>
+        </macrodef>
+        <macrodef name="nbjpdaappreloaded" uri="http://www.netbeans.org/ns/web-project/1">
+            <sequential>
+                <nbjpdaappreloaded/>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-debug-args">
+        <property name="version-output" value="java version &quot;${ant.java.version}"/>
+        <condition property="have-jdk-older-than-1.4">
+            <or>
+                <contains string="${version-output}" substring="java version &quot;1.0"/>
+                <contains string="${version-output}" substring="java version &quot;1.1"/>
+                <contains string="${version-output}" substring="java version &quot;1.2"/>
+                <contains string="${version-output}" substring="java version &quot;1.3"/>
+            </or>
+        </condition>
+        <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
+            <istrue value="${have-jdk-older-than-1.4}"/>
+        </condition>
+        <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
+            <os family="windows"/>
+        </condition>
+        <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
+            <isset property="debug.transport"/>
+        </condition>
+    </target>
+    <target depends="-init-debug-args" name="-init-macrodef-debug">
+        <macrodef name="debug" uri="http://www.netbeans.org/ns/web-project/1">
+            <attribute default="${main.class}" name="classname"/>
+            <attribute default="${debug.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+            <attribute default="${application.args.param}" name="args"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <java classname="@{classname}" fork="true">
+                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <jvmarg line="${debug-args-line}"/>
+                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+                    <jvmarg line="${runmain.jvmargs}"/>
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <arg line="@{args}"/>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-taskdefs">
+        <fail unless="libs.CopyLibs.classpath">
+The libs.CopyLibs.classpath property is not set up.
+This property must point to 
+org-netbeans-modules-java-j2seproject-copylibstask.jar file which is part
+of NetBeans IDE installation and is usually located at 
+&lt;netbeans_installation&gt;/java&lt;version&gt;/ant/extra folder.
+Either open the project in the IDE and make sure CopyLibs library
+exists or setup the property manually. For example like this:
+ ant -Dlibs.CopyLibs.classpath=a/path/to/org-netbeans-modules-java-j2seproject-copylibstask.jar
+                </fail>
+        <taskdef classpath="${libs.CopyLibs.classpath}" resource="org/netbeans/modules/java/j2seproject/copylibstask/antlib.xml"/>
+    </target>
+    <target name="-init-ap-cmdline-properties">
+        <property name="annotation.processing.enabled" value="true"/>
+        <property name="annotation.processing.processors.list" value=""/>
+        <property name="annotation.processing.run.all.processors" value="true"/>
+        <property name="javac.processorpath" value="${javac.classpath}"/>
+        <property name="javac.test.processorpath" value="${javac.test.classpath}"/>
+        <condition property="ap.supported.internal" value="true">
+            <not>
+                <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/>
+            </not>
+        </condition>
+    </target>
+    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported">
+        <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}">
+            <isfalse value="${annotation.processing.run.all.processors}"/>
+        </condition>
+        <condition else="" property="ap.proc.none.internal" value="-proc:none">
+            <isfalse value="${annotation.processing.enabled}"/>
+        </condition>
+    </target>
+    <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
+        <property name="ap.cmd.line.internal" value=""/>
+    </target>
+    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-check" name="profile-init"/>
+    <target name="-profile-pre-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-profile-post-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="-profile-pre-init, init, -profile-post-init" name="-profile-init-check">
+        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
+        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
+    </target>
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-java,-init-macrodef-nbjpda,-init-macrodef-nbjsdebug,-init-macrodef-debug,-init-taskdefs,-init-ap-cmdline" name="init"/>
+    <!--
+                COMPILATION SECTION
+            -->
+    <target depends="init" if="no.dist.ear.dir" name="deps-module-jar" unless="no.deps"/>
+    <target depends="init" if="dist.ear.dir" name="deps-ear-jar" unless="no.deps"/>
+    <target depends="init, deps-module-jar, deps-ear-jar" name="deps-jar" unless="no.deps"/>
+    <target depends="init,deps-jar" name="-pre-pre-compile">
+        <mkdir dir="${build.classes.dir}"/>
+    </target>
+    <target name="-pre-compile">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-copy-webdir">
+        <copy todir="${build.web.dir}">
+            <fileset dir="${web.docbase.dir}" excludes="${build.web.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+        <copy todir="${build.web.dir}/WEB-INF">
+            <fileset dir="${webinf.dir}" excludes="${build.web.excludes}"/>
+        </copy>
+    </target>
+    <target depends="init, deps-jar, -pre-pre-compile, -pre-compile, -copy-manifest, -copy-persistence-xml, -copy-webdir, library-inclusion-in-archive,library-inclusion-in-manifest" if="have.sources" name="-do-compile">
+        <webproject2:javac destdir="${build.classes.dir}" gensrcdir="${build.generated.sources.dir}"/>
+        <copy todir="${build.classes.dir}">
+            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+    </target>
+    <target if="has.custom.manifest" name="-copy-manifest">
+        <mkdir dir="${build.meta.inf.dir}"/>
+        <copy todir="${build.meta.inf.dir}">
+            <fileset dir="${conf.dir}" includes="MANIFEST.MF"/>
+        </copy>
+    </target>
+    <target if="has.persistence.xml" name="-copy-persistence-xml">
+        <mkdir dir="${build.web.dir}/WEB-INF/classes/META-INF"/>
+        <copy todir="${build.web.dir}/WEB-INF/classes/META-INF">
+            <fileset dir="${persistence.xml.dir}" includes="persistence.xml"/>
+        </copy>
+    </target>
+    <target name="-post-compile">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
+    <target name="-pre-compile-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
+        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
+        <webproject2:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}"/>
+        <copy todir="${build.classes.dir}">
+            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+    </target>
+    <target name="-post-compile-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
+    <property name="jspc.schemas" value="/resources/schemas/"/>
+    <property name="jspc.dtds" value="/resources/dtds/"/>
+    <target depends="compile" description="Test compile JSP pages to expose compilation errors." if="do.compile.jsps" name="compile-jsps">
+        <mkdir dir="${build.generated.dir}/src"/>
+        <java classname="org.netbeans.modules.web.project.ant.JspC" failonerror="true" fork="true">
+            <arg value="-uriroot"/>
+            <arg file="${basedir}/${build.web.dir}"/>
+            <arg value="-d"/>
+            <arg file="${basedir}/${build.generated.dir}/src"/>
+            <arg value="-die1"/>
+            <arg value="-schemas ${jspc.schemas}"/>
+            <arg value="-dtds ${jspc.dtds}"/>
+            <arg value="-compilerSourceVM ${javac.source}"/>
+            <arg value="-compilerTargetVM ${javac.target}"/>
+            <arg value="-javaEncoding ${source.encoding}"/>
+            <arg value="-sysClasspath ${libs.jsp-compilation-syscp.classpath}"/>
+            <classpath path="${java.home}/../lib/tools.jar:${libs.jsp-compiler.classpath}:${libs.jsp-compilation.classpath}"/>
+        </java>
+        <mkdir dir="${build.generated.dir}/classes"/>
+        <webproject2:javac classpath="${build.classes.dir}:${libs.jsp-compilation.classpath}:${javac.classpath}:${j2ee.platform.classpath}" destdir="${build.generated.dir}/classes" srcdir="${build.generated.dir}/src"/>
+    </target>
+    <target depends="compile" if="jsp.includes" name="-do-compile-single-jsp">
+        <fail unless="javac.jsp.includes">Must select some files in the IDE or set javac.jsp.includes</fail>
+        <mkdir dir="${build.generated.dir}/src"/>
+        <java classname="org.netbeans.modules.web.project.ant.JspCSingle" failonerror="true" fork="true">
+            <arg value="-uriroot"/>
+            <arg file="${basedir}/${build.web.dir}"/>
+            <arg value="-d"/>
+            <arg file="${basedir}/${build.generated.dir}/src"/>
+            <arg value="-die1"/>
+            <arg value="-schemas ${jspc.schemas}"/>
+            <arg value="-dtds ${jspc.dtds}"/>
+            <arg value="-sysClasspath ${libs.jsp-compilation-syscp.classpath}"/>
+            <arg value="-jspc.files"/>
+            <arg path="${jsp.includes}"/>
+            <arg value="-compilerSourceVM ${javac.source}"/>
+            <arg value="-compilerTargetVM ${javac.target}"/>
+            <arg value="-javaEncoding ${source.encoding}"/>
+            <classpath path="${java.home}/../lib/tools.jar:${libs.jsp-compiler.classpath}:${libs.jsp-compilation.classpath}"/>
+        </java>
+        <mkdir dir="${build.generated.dir}/classes"/>
+        <webproject2:javac classpath="${build.classes.dir}:${libs.jsp-compilation.classpath}:${javac.classpath}:${j2ee.platform.classpath}" destdir="${build.generated.dir}/classes" srcdir="${build.generated.dir}/src">
+            <customize>
+                <patternset includes="${javac.jsp.includes}"/>
+            </customize>
+        </webproject2:javac>
+    </target>
+    <target name="compile-single-jsp">
+        <fail unless="jsp.includes">Must select a file in the IDE or set jsp.includes</fail>
+        <antcall target="-do-compile-single-jsp"/>
+    </target>
+    <!--
+                DIST BUILDING SECTION
+            -->
+    <target name="-pre-dist">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,compile-jsps,-pre-dist" if="do.war.package.without.custom.manifest" name="-do-dist-without-manifest">
+        <dirname file="${dist.war}" property="dist.jar.dir"/>
+        <mkdir dir="${dist.jar.dir}"/>
+        <jar compress="${jar.compress}" jarfile="${dist.war}">
+            <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*"/>
+        </jar>
+    </target>
+    <target depends="init,compile,compile-jsps,-pre-dist" if="do.war.package.with.custom.manifest" name="-do-dist-with-manifest">
+        <dirname file="${dist.war}" property="dist.jar.dir"/>
+        <mkdir dir="${dist.jar.dir}"/>
+        <jar compress="${jar.compress}" jarfile="${dist.war}" manifest="${build.meta.inf.dir}/MANIFEST.MF">
+            <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*"/>
+        </jar>
+    </target>
+    <target depends="init,compile,compile-jsps,-pre-dist" if="do.tmp.war.package.without.custom.manifest" name="-do-tmp-dist-without-manifest">
+        <dirname file="${dist.war}" property="dist.jar.dir"/>
+        <mkdir dir="${dist.jar.dir}"/>
+        <jar compress="${jar.compress}" jarfile="${dist.war}">
+            <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*"/>
+        </jar>
+    </target>
+    <target depends="init,compile,compile-jsps,-pre-dist" if="do.tmp.war.package.with.custom.manifest" name="-do-tmp-dist-with-manifest">
+        <dirname file="${dist.war}" property="dist.jar.dir"/>
+        <mkdir dir="${dist.jar.dir}"/>
+        <jar compress="${jar.compress}" jarfile="${dist.war}" manifest="${build.meta.inf.dir}/MANIFEST.MF">
+            <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*"/>
+        </jar>
+    </target>
+    <target depends="init,compile,compile-jsps,-pre-dist,-do-dist-with-manifest,-do-dist-without-manifest" name="do-dist"/>
+    <target depends="init" if="dist.ear.dir" name="library-inclusion-in-manifest">
+        <copyfiles files="${libs.primefaces.classpath}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${libs.hibernate-support.classpath}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.avalon-framework-4.1.3.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.commons-fileupload-1.2.2.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.commons-io-2.1.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.commons-lang3-3.1.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.commons-logging-1.1.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.icu4j-3.8.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.javahelp-2.0.02.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.jaxme2-0.5.1.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.jaxme2-rt-0.5.1.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.jaxmeapi-0.5.1.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.jaxmejs-0.5.1.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.jaxmexs-0.5.1.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.jpf-1.5.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.junit-4.1.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.log4j-1.2.12.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.logkit-1.0.1.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.servlet-api-2.3.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.unbbayes-4.10.4-1s.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.xalan-2.7.0.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.xml-apis-1.0.b2.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.postgresql-9.1-901.jdbc3.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <mkdir dir="${build.web.dir}/META-INF"/>
+        <manifest file="${build.web.dir}/META-INF/MANIFEST.MF" mode="update"/>
+    </target>
+    <target depends="init" name="library-inclusion-in-archive" unless="dist.ear.dir">
+        <copyfiles files="${libs.primefaces.classpath}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${libs.hibernate-support.classpath}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.avalon-framework-4.1.3.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.commons-fileupload-1.2.2.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.commons-io-2.1.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.commons-lang3-3.1.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.commons-logging-1.1.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.icu4j-3.8.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.javahelp-2.0.02.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.jaxme2-0.5.1.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.jaxme2-rt-0.5.1.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.jaxmeapi-0.5.1.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.jaxmejs-0.5.1.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.jaxmexs-0.5.1.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.jpf-1.5.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.junit-4.1.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.log4j-1.2.12.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.logkit-1.0.1.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.servlet-api-2.3.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.unbbayes-4.10.4-1s.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.xalan-2.7.0.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.xml-apis-1.0.b2.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.postgresql-9.1-901.jdbc3.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+    </target>
+    <target depends="init" if="dist.ear.dir" name="-clean-webinf-lib">
+        <delete dir="${build.web.dir}/WEB-INF/lib"/>
+    </target>
+    <target depends="init,-clean-webinf-lib,compile,compile-jsps,-pre-dist,library-inclusion-in-manifest" if="do.tmp.war.package" name="do-ear-dist">
+        <dirname file="${dist.ear.war}" property="dist.jar.dir"/>
+        <mkdir dir="${dist.jar.dir}"/>
+        <jar compress="${jar.compress}" jarfile="${dist.ear.war}" manifest="${build.web.dir}/META-INF/MANIFEST.MF">
+            <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*"/>
+        </jar>
+    </target>
+    <target name="-post-dist">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-dist,do-dist,-post-dist" description="Build distribution (WAR)." name="dist"/>
+    <target depends="init,-clean-webinf-lib,-init-cos,compile,-pre-dist,do-ear-dist,-post-dist" description="Build distribution (WAR) to be packaged into an EAR." name="dist-ear"/>
+    <!--
+                EXECUTION SECTION
+            -->
+    <target depends="run-deploy,run-display-browser" description="Deploy to server and show in browser." name="run"/>
+    <target name="-pre-run-deploy">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-post-run-deploy">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-pre-nbmodule-run-deploy">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- This target can be overriden by NetBeans modules. Don't override it directly, use -pre-run-deploy task instead. -->
+    </target>
+    <target name="-post-nbmodule-run-deploy">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- This target can be overriden by NetBeans modules. Don't override it directly, use -post-run-deploy task instead. -->
+    </target>
+    <target name="-run-deploy-am">
+        <!-- Task to deploy to the Access Manager runtime. -->
+    </target>
+    <target depends="init,-init-cos,compile,compile-jsps,-do-compile-single-jsp,-pre-dist,-do-tmp-dist-with-manifest,-do-tmp-dist-without-manifest,-pre-run-deploy,-pre-nbmodule-run-deploy,-run-deploy-nb,-init-deploy-ant,-deploy-ant,-run-deploy-am,-post-nbmodule-run-deploy,-post-run-deploy,-do-update-breakpoints" name="run-deploy"/>
+    <target if="netbeans.home" name="-run-deploy-nb">
+        <nbdeploy clientUrlPart="${client.urlPart}" debugmode="false" forceRedeploy="${forceRedeploy}"/>
+    </target>
+    <target name="-init-deploy-ant" unless="netbeans.home">
+        <property name="deploy.ant.archive" value="${dist.war}"/>
+        <property name="deploy.ant.docbase.dir" value="${web.docbase.dir}"/>
+        <property name="deploy.ant.resource.dir" value="${resource.dir}"/>
+        <property name="deploy.ant.enabled" value="true"/>
+    </target>
+    <target depends="dist,-run-undeploy-nb,-init-deploy-ant,-undeploy-ant" name="run-undeploy"/>
+    <target if="netbeans.home" name="-run-undeploy-nb">
+        <fail message="Undeploy is not supported from within the IDE"/>
+    </target>
+    <target depends="init,-pre-dist,dist,-post-dist" name="verify">
+        <nbverify file="${dist.war}"/>
+    </target>
+    <target depends="run-deploy,-init-display-browser,-display-browser-nb,-display-browser-cl" name="run-display-browser"/>
+    <target if="do.display.browser" name="-init-display-browser">
+        <condition property="do.display.browser.nb">
+            <isset property="netbeans.home"/>
+        </condition>
+        <condition property="do.display.browser.cl">
+            <isset property="deploy.ant.enabled"/>
+        </condition>
+    </target>
+    <target if="do.display.browser.nb" name="-display-browser-nb">
+        <nbbrowse url="${client.url}"/>
+    </target>
+    <target if="do.display.browser.cl" name="-get-browser" unless="browser">
+        <condition property="browser" value="rundll32">
+            <os family="windows"/>
+        </condition>
+        <condition else="" property="browser.args" value="url.dll,FileProtocolHandler">
+            <os family="windows"/>
+        </condition>
+        <condition property="browser" value="/usr/bin/open">
+            <os family="mac"/>
+        </condition>
+        <property environment="env"/>
+        <condition property="browser" value="${env.BROWSER}">
+            <isset property="env.BROWSER"/>
+        </condition>
+        <condition property="browser" value="/usr/bin/firefox">
+            <available file="/usr/bin/firefox"/>
+        </condition>
+        <condition property="browser" value="/usr/local/firefox/firefox">
+            <available file="/usr/local/firefox/firefox"/>
+        </condition>
+        <condition property="browser" value="/usr/bin/mozilla">
+            <available file="/usr/bin/mozilla"/>
+        </condition>
+        <condition property="browser" value="/usr/local/mozilla/mozilla">
+            <available file="/usr/local/mozilla/mozilla"/>
+        </condition>
+        <condition property="browser" value="/usr/sfw/lib/firefox/firefox">
+            <available file="/usr/sfw/lib/firefox/firefox"/>
+        </condition>
+        <condition property="browser" value="/opt/csw/bin/firefox">
+            <available file="/opt/csw/bin/firefox"/>
+        </condition>
+        <condition property="browser" value="/usr/sfw/lib/mozilla/mozilla">
+            <available file="/usr/sfw/lib/mozilla/mozilla"/>
+        </condition>
+        <condition property="browser" value="/opt/csw/bin/mozilla">
+            <available file="/opt/csw/bin/mozilla"/>
+        </condition>
+    </target>
+    <target depends="-get-browser" if="do.display.browser.cl" name="-display-browser-cl">
+        <fail unless="browser">
+                    Browser not found, cannot launch the deployed application. Try to set the BROWSER environment variable.
+                </fail>
+        <property name="browse.url" value="${deploy.ant.client.url}${client.urlPart}"/>
+        <echo>Launching ${browse.url}</echo>
+        <exec executable="${browser}" spawn="true">
+            <arg line="${browser.args} ${browse.url}"/>
+        </exec>
+    </target>
+    <target depends="init,-init-cos,compile-single" name="run-main">
+        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+        <webproject1:java classname="${run.class}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single" name="run-test-with-main">
+        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+        <webproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
+    </target>
+    <target depends="init" if="netbeans.home" name="-do-update-breakpoints">
+        <webproject1:nbjpdaappreloaded/>
+    </target>
+    <!--
+                DEBUGGING SECTION
+            -->
+    <target depends="init,-init-cos,compile,compile-jsps,-do-compile-single-jsp,-pre-dist,-do-tmp-dist-with-manifest,-do-tmp-dist-without-manifest" description="Debug project in IDE." if="netbeans.home" name="debug">
+        <nbstartserver debugmode="true"/>
+        <antcall target="connect-debugger"/>
+        <nbdeploy clientUrlPart="${client.urlPart}" debugmode="true" forceRedeploy="true"/>
+        <antcall target="debug-display-browser"/>
+        <antcall target="connect-client-debugger"/>
+    </target>
+    <target if="do.debug.server" name="connect-debugger" unless="is.debugged">
+        <nbjpdaconnect address="${jpda.address}" host="${jpda.host}" name="${name}" transport="${jpda.transport}">
+            <classpath>
+                <path path="${debug.classpath}:${j2ee.platform.classpath}"/>
+            </classpath>
+            <sourcepath>
+                <path path="${web.docbase.dir}"/>
+            </sourcepath>
+        </nbjpdaconnect>
+    </target>
+    <target if="do.display.browser.debug" name="debug-display-browser">
+        <nbbrowse url="${client.url}"/>
+    </target>
+    <target if="do.debug.client" name="connect-client-debugger">
+        <webproject1:nbjsdebugstart webUrl="${client.url}"/>
+    </target>
+    <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
+        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
+        <webproject1:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
+    </target>
+    <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
+    <target depends="init,compile,compile-jsps,-do-compile-single-jsp,debug" if="netbeans.home" name="debug-single"/>
+    <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
+        <webproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
+    </target>
+    <target depends="init" if="netbeans.home" name="-debug-start-debugger">
+        <webproject1:nbjpdastart name="${debug.class}"/>
+    </target>
+    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
+        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
+        <webproject1:debug classname="${debug.class}"/>
+    </target>
+    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single-main"/>
+    <target depends="init" name="-pre-debug-fix">
+        <fail unless="fix.includes">Must set fix.includes</fail>
+        <property name="javac.includes" value="${fix.includes}.java"/>
+    </target>
+    <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
+        <webproject1:nbjpdareload/>
+    </target>
+    <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
+    <!--
+            =================
+            PROFILING SECTION
+            =================
+            -->
+    <target description="Profile a J2EE project in the IDE." name="profile">
+        <condition else="start-profiled-server" property="profiler.startserver.target" value="start-profiled-server-extraargs">
+            <isset property="profiler.info.jvmargs.extra"/>
+        </condition>
+        <antcall target="${profiler.startserver.target}"/>
+        <antcall target="run"/>
+        <antcall target="start-loadgen"/>
+    </target>
+    <target name="start-profiled-server">
+        <nbstartprofiledserver forceRestart="${profiler.j2ee.serverForceRestart}" javaPlatform="${profiler.info.javaPlatform}" startupTimeout="${profiler.j2ee.serverStartupTimeout}">
+            <jvmarg value="${profiler.info.jvmargs.agent}"/>
+            <jvmarg value="${profiler.j2ee.agentID}"/>
+        </nbstartprofiledserver>
+    </target>
+    <target name="start-profiled-server-extraargs">
+        <nbstartprofiledserver forceRestart="${profiler.j2ee.serverForceRestart}" javaPlatform="${profiler.info.javaPlatform}" startupTimeout="${profiler.j2ee.serverStartupTimeout}">
+            <jvmarg value="${profiler.info.jvmargs.extra}"/>
+            <jvmarg value="${profiler.info.jvmargs.agent}"/>
+            <jvmarg value="${profiler.j2ee.agentID}"/>
+        </nbstartprofiledserver>
+    </target>
+    <target if="profiler.loadgen.path" name="start-loadgen">
+        <loadgenstart path="${profiler.loadgen.path}"/>
+    </target>
+    <!--
+                JAVADOC SECTION
+            -->
+    <target depends="init" if="have.sources" name="javadoc-build">
+        <mkdir dir="${dist.javadoc.dir}"/>
+        <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
+            <classpath>
+                <path path="${javac.classpath}:${j2ee.platform.classpath}"/>
+            </classpath>
+            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
+                <filename name="**/*.java"/>
+            </fileset>
+            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
+                <include name="**/*.java"/>
+            </fileset>
+        </javadoc>
+        <copy todir="${dist.javadoc.dir}">
+            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
+                <filename name="**/doc-files/**"/>
+            </fileset>
+            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
+                <include name="**/doc-files/**"/>
+            </fileset>
+        </copy>
+    </target>
+    <target depends="init,javadoc-build" if="netbeans.home" name="javadoc-browse" unless="no.javadoc.preview">
+        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
+    </target>
+    <target depends="init,javadoc-build,javadoc-browse" description="Build Javadoc." name="javadoc"/>
+    <!--
+                
+                JUNIT COMPILATION SECTION
+            -->
+    <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
+        <mkdir dir="${build.test.classes.dir}"/>
+        <property name="j2ee.platform.embeddableejb.classpath" value=""/>
+    </target>
+    <target name="-pre-compile-test">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test" if="have.tests" name="-do-compile-test">
+        <webproject2:javac classpath="${javac.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}" debug="true" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
+        <copy todir="${build.test.classes.dir}">
+            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+    </target>
+    <target name="-post-compile-test">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
+    <target name="-pre-compile-test-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
+        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
+        <webproject2:javac classpath="${javac.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" srcdir="${test.src.dir}"/>
+        <copy todir="${build.test.classes.dir}">
+            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+    </target>
+    <target name="-post-compile-test-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
+    <!--
+                
+                JUNIT EXECUTION SECTION
+            -->
+    <target depends="init" if="have.tests" name="-pre-test-run">
+        <mkdir dir="${build.test.results.dir}"/>
+    </target>
+    <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
+        <webproject2:junit testincludes="**/*Test.java"/>
+    </target>
+    <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
+        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
+    </target>
+    <target depends="init" if="have.tests" name="test-report"/>
+    <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
+    <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
+    <target depends="init" if="have.tests" name="-pre-test-run-single">
+        <mkdir dir="${build.test.results.dir}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
+        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
+        <webproject2:junit excludes="" includes="${test.includes}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
+        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
+    <!--
+                
+                JUNIT DEBUGGING SECTION
+            -->
+    <target depends="init,compile-test" if="have.tests" name="-debug-start-debuggee-test">
+        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
+        <property location="${build.test.results.dir}/TEST-${test.class}.xml" name="test.report.file"/>
+        <delete file="${test.report.file}"/>
+        <!-- must exist, otherwise the XML formatter would fail -->
+        <mkdir dir="${build.test.results.dir}"/>
+        <webproject1:debug args="${test.class}" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" classpath="${ant.home}/lib/ant.jar:${ant.home}/lib/ant-junit.jar:${debug.test.classpath}:${j2ee.platform.embeddableejb.classpath}">
+            <customize>
+                <arg value="showoutput=true"/>
+                <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/>
+                <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/>
+            </customize>
+        </webproject1:debug>
+    </target>
+    <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
+        <webproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
+    </target>
+    <target depends="init,compile-test,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
+    <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
+        <webproject1:nbjpdareload dir="${build.test.classes.dir}"/>
+    </target>
+    <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
+    <!--
+        =========================
+        TESTS PROFILING  SECTION
+        =========================
+        -->
+    <target depends="profile-init,compile-test-single" if="netbeans.home" name="profile-test-single">
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+                <path path="${j2ee.platform.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
+            <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
+            <jvmarg value="${profiler.info.jvmargs.agent}"/>
+            <jvmarg line="${profiler.info.jvmargs}"/>
+            <test name="${profile.class}"/>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+                <path path="${j2ee.platform.classpath}"/>
+            </classpath>
+            <syspropertyset>
+                <propertyref prefix="test-sys-prop."/>
+                <mapper from="test-sys-prop.*" to="*" type="glob"/>
+            </syspropertyset>
+            <formatter type="brief" usefile="false"/>
+            <formatter type="xml"/>
+        </junit>
+    </target>
+    <!--
+                
+                CLEANUP SECTION
+            -->
+    <target depends="init" name="deps-clean" unless="no.deps"/>
+    <target depends="init" name="do-clean">
+        <condition property="build.dir.to.clean" value="${build.web.dir}">
+            <isset property="dist.ear.dir"/>
+        </condition>
+        <property name="build.dir.to.clean" value="${build.web.dir}"/>
+        <delete includeEmptyDirs="true" quiet="true">
+            <fileset dir="${build.dir.to.clean}/WEB-INF/lib"/>
+        </delete>
+        <delete dir="${build.dir}"/>
+        <available file="${build.dir.to.clean}/WEB-INF/lib" property="status.clean-failed" type="dir"/>
+        <delete dir="${dist.dir}"/>
+    </target>
+    <target depends="do-clean" if="status.clean-failed" name="check-clean">
+        <echo message="Warning: unable to delete some files in ${build.web.dir}/WEB-INF/lib - they are probably locked by the J2EE server. "/>
+        <echo level="info" message="To delete all files undeploy the module from Server Registry in Runtime tab and then use Clean again."/>
+    </target>
+    <target depends="init" if="netbeans.home" name="undeploy-clean">
+        <nbundeploy failOnError="false" startServer="false"/>
+    </target>
+    <target name="-post-clean">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,undeploy-clean,deps-clean,do-clean,check-clean,-post-clean" description="Clean build products." name="clean"/>
+    <target depends="clean" description="Clean build products." name="clean-ear"/>
+</project>
diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties
new file mode 100644 (file)
index 0000000..2e0f702
--- /dev/null
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=94d05c5c
+build.xml.script.CRC32=9f680c47
+build.xml.stylesheet.CRC32=651128d4@1.36.1.1
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=94d05c5c
+nbproject/build-impl.xml.script.CRC32=a02c700a
+nbproject/build-impl.xml.stylesheet.CRC32=b7883b1f@1.36.1.1
diff --git a/nbproject/project.properties b/nbproject/project.properties
new file mode 100644 (file)
index 0000000..25ea7c6
--- /dev/null
@@ -0,0 +1,131 @@
+annotation.processing.enabled=true
+annotation.processing.enabled.in.editor=true
+annotation.processing.processor.options=-Aeclipselink.canonicalmodel.use_static_factory=false
+annotation.processing.processors.list=
+annotation.processing.run.all.processors=true
+annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
+auxiliary.org-netbeans-modules-projectapi.jsf_2e_language=Facelets
+build.classes.dir=${build.web.dir}/WEB-INF/classes
+build.classes.excludes=**/*.java,**/*.form
+build.dir=build
+build.generated.dir=${build.dir}/generated
+build.generated.sources.dir=${build.dir}/generated-sources
+build.test.classes.dir=${build.dir}/test/classes
+build.test.results.dir=${build.dir}/test/results
+build.web.dir=${build.dir}/web
+build.web.excludes=${build.classes.excludes}
+client.urlPart=
+compile.jsps=false
+conf.dir=${source.root}/conf
+debug.classpath=${build.classes.dir}:${javac.classpath}
+debug.test.classpath=\
+    ${run.test.classpath}
+display.browser=true
+dist.dir=dist
+dist.ear.war=${dist.dir}/${war.ear.name}
+dist.javadoc.dir=${dist.dir}/javadoc
+dist.war=${dist.dir}/${war.name}
+endorsed.classpath=\
+    ${libs.javaee-endorsed-api-6.0.classpath}
+excludes=
+file.reference.avalon-framework-4.1.3.jar=lib/avalon-framework-4.1.3.jar
+file.reference.commons-fileupload-1.2.2.jar=lib/commons-fileupload-1.2.2.jar
+file.reference.commons-io-2.1.jar=lib/commons-io-2.1.jar
+file.reference.commons-lang3-3.1.jar=lib/commons-lang3-3.1.jar
+file.reference.commons-logging-1.1.jar=lib/commons-logging-1.1.jar
+file.reference.icu4j-3.8.jar=lib/icu4j-3.8.jar
+file.reference.javahelp-2.0.02.jar=lib/javahelp-2.0.02.jar
+file.reference.jaxme2-0.5.1.jar=lib/jaxme2-0.5.1.jar
+file.reference.jaxme2-rt-0.5.1.jar=lib/jaxme2-rt-0.5.1.jar
+file.reference.jaxmeapi-0.5.1.jar=lib/jaxmeapi-0.5.1.jar
+file.reference.jaxmejs-0.5.1.jar=lib/jaxmejs-0.5.1.jar
+file.reference.jaxmexs-0.5.1.jar=lib/jaxmexs-0.5.1.jar
+file.reference.jpf-1.5.jar=lib/jpf-1.5.jar
+file.reference.junit-4.1.jar=lib/junit-4.1.jar
+file.reference.log4j-1.2.12.jar=lib/log4j-1.2.12.jar
+file.reference.logkit-1.0.1.jar=lib/logkit-1.0.1.jar
+file.reference.postgresql-9.1-901.jdbc3.jar=lib/postgresql-9.1-901.jdbc3.jar
+file.reference.servlet-api-2.3.jar=lib/servlet-api-2.3.jar
+file.reference.unbbayes-4.10.4-1s.jar=lib/unbbayes-4.10.4-1s.jar
+file.reference.xalan-2.7.0.jar=lib/xalan-2.7.0.jar
+file.reference.xml-apis-1.0.b2.jar=lib/xml-apis-1.0.b2.jar
+includes=**
+j2ee.compile.on.save=false
+j2ee.deploy.on.save=false
+j2ee.platform=1.6-web
+j2ee.platform.classpath=${j2ee.server.home}/modules/jstl-impl.jar:${j2ee.server.home}/modules/javax.resource.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jar:${j2ee.server.home}/modules/bean-validator.jar:${j2ee.server.home}/modules/javax.ejb.jar:${j2ee.server.home}/modules/jsf-impl.jar:${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/endorsed/javax.annotation.jar:${j2ee.server.home}/modules/weld-osgi-bundle.jar:${j2ee.server.home}/modules/javax.security.auth.message.jar:${j2ee.server.home}/modules/javax.mail.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/javax.management.j2ee.jar:${j2ee.server.home}/modules/jsf-api.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/javax.enterprise.deploy.jar:${j2ee.server.middleware}/mq/lib/jaxm-api.jar:${j2ee.server.home}/modules/endorsed/jaxb-api-osgi.jar:${j2ee.server.home}/modules/javax.security.jacc.jar:${j2ee.server.home}/modules/javax.transaction.jar:${j2ee.server.home}/modules/jersey-core.jar:${j2ee.server.home}/modules/javax.servlet.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl.jar:${j2ee.server.home}/modules/javax.persistence.jar:${j2ee.server.home}/modules/javax.jms.jar
+j2ee.platform.embeddableejb.classpath=${j2ee.server.home}/lib/embedded/glassfish-embedded-static-shell.jar
+j2ee.platform.wscompile.classpath=${j2ee.server.home}/modules/webservices-osgi.jar
+j2ee.platform.wsgen.classpath=${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api-osgi.jar:${j2ee.server.home}/modules/javax.ejb.jar
+j2ee.platform.wsimport.classpath=${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api-osgi.jar:${j2ee.server.home}/modules/javax.ejb.jar
+j2ee.platform.wsit.classpath=
+j2ee.server.type=gfv3ee6
+jar.compress=false
+javac.classpath=\
+    ${libs.primefaces.classpath}:\
+    ${libs.hibernate-support.classpath}:\
+    ${file.reference.avalon-framework-4.1.3.jar}:\
+    ${file.reference.commons-fileupload-1.2.2.jar}:\
+    ${file.reference.commons-io-2.1.jar}:\
+    ${file.reference.commons-lang3-3.1.jar}:\
+    ${file.reference.commons-logging-1.1.jar}:\
+    ${file.reference.icu4j-3.8.jar}:\
+    ${file.reference.javahelp-2.0.02.jar}:\
+    ${file.reference.jaxme2-0.5.1.jar}:\
+    ${file.reference.jaxme2-rt-0.5.1.jar}:\
+    ${file.reference.jaxmeapi-0.5.1.jar}:\
+    ${file.reference.jaxmejs-0.5.1.jar}:\
+    ${file.reference.jaxmexs-0.5.1.jar}:\
+    ${file.reference.jpf-1.5.jar}:\
+    ${file.reference.junit-4.1.jar}:\
+    ${file.reference.log4j-1.2.12.jar}:\
+    ${file.reference.logkit-1.0.1.jar}:\
+    ${file.reference.servlet-api-2.3.jar}:\
+    ${file.reference.unbbayes-4.10.4-1s.jar}:\
+    ${file.reference.xalan-2.7.0.jar}:\
+    ${file.reference.xml-apis-1.0.b2.jar}:\
+    ${file.reference.postgresql-9.1-901.jdbc3.jar}
+# Space-separated list of extra javac options
+javac.compilerargs=
+javac.debug=true
+javac.deprecation=false
+javac.processorpath=\
+    ${javac.classpath}
+javac.source=1.6
+javac.target=1.6
+javac.test.classpath=\
+    ${javac.classpath}:\
+    ${build.classes.dir}
+javac.test.processorpath=\
+    ${javac.test.classpath}
+javadoc.additionalparam=
+javadoc.author=false
+javadoc.encoding=${source.encoding}
+javadoc.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.preview=true
+javadoc.private=false
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+lib.dir=${web.docbase.dir}/WEB-INF/lib
+persistence.xml.dir=${conf.dir}
+platform.active=default_platform
+resource.dir=setup
+run.test.classpath=\
+    ${javac.test.classpath}:\
+    ${build.test.classes.dir}
+# Space-separated list of JVM arguments used when running a class with a main method or a unit test
+# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value):
+runmain.jvmargs=
+source.encoding=UTF-8
+source.root=src
+src.dir=${source.root}/java
+test.src.dir=test
+war.content.additional=
+war.ear.name=SimDeCS.war
+war.name=SimDeCS.war
+web.docbase.dir=web
+webinf.dir=web/WEB-INF
diff --git a/nbproject/project.xml b/nbproject/project.xml
new file mode 100644 (file)
index 0000000..848272b
--- /dev/null
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.web.project</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/web-project/3">
+            <name>SimDeCS</name>
+            <minimum-ant-version>1.6.5</minimum-ant-version>
+            <web-module-libraries>
+                <library dirs="200">
+                    <file>${libs.primefaces.classpath}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${libs.hibernate-support.classpath}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.avalon-framework-4.1.3.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.commons-fileupload-1.2.2.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.commons-io-2.1.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.commons-lang3-3.1.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.commons-logging-1.1.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.icu4j-3.8.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.javahelp-2.0.02.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.jaxme2-0.5.1.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.jaxme2-rt-0.5.1.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.jaxmeapi-0.5.1.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.jaxmejs-0.5.1.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.jaxmexs-0.5.1.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.jpf-1.5.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.junit-4.1.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.log4j-1.2.12.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.logkit-1.0.1.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.servlet-api-2.3.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.unbbayes-4.10.4-1s.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.xalan-2.7.0.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.xml-apis-1.0.b2.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+                <library dirs="200">
+                    <file>${file.reference.postgresql-9.1-901.jdbc3.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
+            </web-module-libraries>
+            <web-module-additional-libraries/>
+            <source-roots>
+                <root id="src.dir"/>
+            </source-roots>
+            <test-roots>
+                <root id="test.src.dir"/>
+            </test-roots>
+        </data>
+    </configuration>
+</project>
diff --git a/samples/headache.xml b/samples/headache.xml
new file mode 100755 (executable)
index 0000000..7e5d5b5
--- /dev/null
@@ -0,0 +1,1277 @@
+<?xml version='1.0' encoding='US-ASCII'?>
+<xbifns:XMLBIF version="0.6" xmlns:xbifns="http://unbbayes.sourceforge.net/xml/XMLBIF_0_6.xsd">
+  <xbifns:header>
+    <xbifns:version>1.0</xbifns:version>
+    <xbifns:name>Headache</xbifns:name>
+    <xbifns:creator>UnBBayes</xbifns:creator>
+  </xbifns:header>
+  <xbifns:staticProperty>
+    <xbifns:nodeSize>40</xbifns:nodeSize>
+    <xbifns:nodeFontSize>0</xbifns:nodeFontSize>
+    <xbifns:colorUtilityNode>0</xbifns:colorUtilityNode>
+    <xbifns:colorDecisionNode>0</xbifns:colorDecisionNode>
+    <xbifns:colorDiscreteProbabilisticNode>0</xbifns:colorDiscreteProbabilisticNode>
+    <xbifns:colorContinuousProbilisticNode>0</xbifns:colorContinuousProbilisticNode>
+    <xbifns:colorExplanationNode>0</xbifns:colorExplanationNode>
+  </xbifns:staticProperty>
+  <xbifns:hierarchy>
+    <xbifns:root name="root">
+      <xbifns:level name="Rest Relief"/>
+      <xbifns:level name="Nuchal rigidity"/>
+      <xbifns:level name="Nasal Obstruction"/>
+      <xbifns:level name="Uncommon episodies"/>
+      <xbifns:level name="Visual Disturbance"/>
+      <xbifns:level name="High frequency"/>
+      <xbifns:level name="Antimicrobians"/>
+      <xbifns:level name="Fever"/>
+      <xbifns:level name="Nasal Discharge"/>
+      <xbifns:level name="Sinusitis"/>
+      <xbifns:level name="Facial Pain"/>
+      <xbifns:level name="Painful mastication"/>
+      <xbifns:level name="Temporomandibular"/>
+      <xbifns:level name="Aneurysmal History"/>
+      <xbifns:level name="Acute weakness"/>
+      <xbifns:level name="Diplopy"/>
+      <xbifns:level name="Seizure"/>
+      <xbifns:level name="Imaging Investigation"/>
+      <xbifns:level name="Specialist"/>
+      <xbifns:level name="Profilaxy"/>
+      <xbifns:level name="Analgesia"/>
+      <xbifns:level name="Unilateral Red Eye"/>
+      <xbifns:level name="Photophobia"/>
+      <xbifns:level name="Pulsating Pain"/>
+      <xbifns:level name="Hemicranial Pain"/>
+      <xbifns:level name="Cluster Headache"/>
+      <xbifns:level name="Migraine"/>
+      <xbifns:level name="Tension-type Headache"/>
+      <xbifns:level name="Nausea"/>
+      <xbifns:level name="Holocranial Pain"/>
+    </xbifns:root>
+  </xbifns:hierarchy>
+  <xbifns:network>
+    <xbifns:variables>
+      <xbifns:variable perguntas=";A dor de cabe&#231;a melhora ao ficar parado?;" tipo="E" tempoEtapa="0.1" custoEtapa="0.01" rgbColor="-256" height="60.0" width="80.0" yPos="408" xPos="156" type="DiscreteProbabilistic" name="rest_relief">
+        <xbifns:description>Rest Relief</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="218" xPos="1046" type="DiscreteProbabilistic" name="nuchal_rigidity">
+        <xbifns:description>Nuchal rigidity</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="52" xPos="304" type="DiscreteProbabilistic" name="nasal_obstruction">
+        <xbifns:description>Nasal Obstruction</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="446" xPos="265" type="DiscreteProbabilistic" name="uncommon_episodies">
+        <xbifns:description>Uncommon episodies</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas=";A dor de cabe&#231;a melhora ao ficar parado?;Durante a dor, v&#234; pontos coloridos, luzes piscantes ou a vista borrada?;" tipo="E" tempoEtapa="0.1" custoEtapa="0.01" rgbColor="-256" height="60.0" width="80.0" yPos="360" xPos="59" type="DiscreteProbabilistic" name="visual_disturbance">
+        <xbifns:description>Visual Disturbance</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="224" xPos="350" type="DiscreteProbabilistic" name="high_frequency">
+        <xbifns:description>High frequency</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="281" xPos="586" type="DiscreteProbabilistic" name="antimicrobians">
+        <xbifns:description>Antimicrobians</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="427" xPos="609" type="DiscreteProbabilistic" name="fever">
+        <xbifns:description>Fever</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="433" xPos="497" type="DiscreteProbabilistic" name="nasal_discharge">
+        <xbifns:description>Nasal Discharge</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="361" xPos="541" type="DiscreteProbabilistic" name="sinusitis">
+        <xbifns:description>Sinusitis</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="297" xPos="745" type="DiscreteProbabilistic" name="facial_pain">
+        <xbifns:description>Facial Pain</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="262" xPos="927" type="DiscreteProbabilistic" name="painful_mastication">
+        <xbifns:description>Painful mastication</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="195" xPos="744" type="DiscreteProbabilistic" name="temporomandibular">
+        <xbifns:description>Temporomandibular</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="0" xPos="847" type="DiscreteProbabilistic" name="aneurysmal_history">
+        <xbifns:description>Aneurysmal History</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="86" xPos="975" type="DiscreteProbabilistic" name="acute_weakness">
+        <xbifns:description>Acute weakness</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="97" xPos="459" type="DiscreteProbabilistic" name="diplopy">
+        <xbifns:description>Diplopy</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="Ja houve ocasiao de ter convulsao-tremores pelo corpo que nao se podia controlar com desmaio ou sem?;" tipo="E" tempoEtapa="1.0" custoEtapa="2.0" rgbColor="-256" height="60.0" width="97.0" yPos="24" xPos="411" type="DiscreteProbabilistic" name="seizure">
+        <xbifns:description>Seizure</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="0" xPos="666" type="DiscreteProbabilistic" name="imaging_investigation">
+        <xbifns:description>Imaging Investigation</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="D" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="82" xPos="650" type="DiscreteProbabilistic" name="specialist">
+        <xbifns:description>Specialist</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="193" xPos="517" type="DiscreteProbabilistic" name="profilaxy">
+        <xbifns:description>Profilaxy</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="307" xPos="310" type="DiscreteProbabilistic" name="analgesia">
+        <xbifns:description>Analgesia</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="46" xPos="154" type="DiscreteProbabilistic" name="unilateral_red_eye">
+        <xbifns:description>Unilateral Red Eye</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="71" xPos="48" type="DiscreteProbabilistic" name="photophobia">
+        <xbifns:description>Photophobia</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="153" xPos="18" type="DiscreteProbabilistic" name="pulsating_pain">
+        <xbifns:description>Pulsating Pain</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="234" xPos="16" type="DiscreteProbabilistic" name="hemicranial_pain">
+        <xbifns:description>Hemicranial Pain</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="160" xPos="249" type="DiscreteProbabilistic" name="cluster_headache">
+        <xbifns:description>Cluster Headache</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="255" xPos="163" type="DiscreteProbabilistic" name="migraine">
+        <xbifns:description>Migraine</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="374" xPos="279" type="DiscreteProbabilistic" name="tension_type_headache">
+        <xbifns:description>Tension-type Headache</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas=";Durante a dor de cabe&#231;a ocorre tamb&#233;m enj&#244;o?;Durante a dor de cabe&#231;a, sente vontade de vomitar?;" tipo="E" tempoEtapa="0.1" custoEtapa="0.01" rgbColor="-256" height="60.0" width="80.0" yPos="303" xPos="26" type="DiscreteProbabilistic" name="nausea">
+        <xbifns:description>Nausea</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+      <xbifns:variable perguntas="" tipo="E" tempoEtapa="0.0" custoEtapa="0.0" rgbColor="-256" height="60.0" width="80.0" yPos="473" xPos="363" type="DiscreteProbabilistic" name="holocranial_pain">
+        <xbifns:description>Holocranial Pain</xbifns:description>
+        <xbifns:state name="Yes"/>
+        <xbifns:state name="Not"/>
+      </xbifns:variable>
+    </xbifns:variables>
+    <xbifns:structure>
+      <xbifns:edge child="high_frequency" parent="cluster_headache"/>
+      <xbifns:edge child="high_frequency" parent="migraine"/>
+      <xbifns:edge child="antimicrobians" parent="sinusitis"/>
+      <xbifns:edge child="sinusitis" parent="nasal_obstruction"/>
+      <xbifns:edge child="sinusitis" parent="fever"/>
+      <xbifns:edge child="sinusitis" parent="nasal_discharge"/>
+      <xbifns:edge child="sinusitis" parent="facial_pain"/>
+      <xbifns:edge child="temporomandibular" parent="facial_pain"/>
+      <xbifns:edge child="temporomandibular" parent="painful_mastication"/>
+      <xbifns:edge child="imaging_investigation" parent="aneurysmal_history"/>
+      <xbifns:edge child="imaging_investigation" parent="diplopy"/>
+      <xbifns:edge child="imaging_investigation" parent="acute_weakness"/>
+      <xbifns:edge child="imaging_investigation" parent="seizure"/>
+      <xbifns:edge child="specialist" parent="profilaxy"/>
+      <xbifns:edge child="specialist" parent="nuchal_rigidity"/>
+      <xbifns:edge child="specialist" parent="temporomandibular"/>
+      <xbifns:edge child="specialist" parent="diplopy"/>
+      <xbifns:edge child="specialist" parent="aneurysmal_history"/>
+      <xbifns:edge child="specialist" parent="acute_weakness"/>
+      <xbifns:edge child="specialist" parent="seizure"/>
+      <xbifns:edge child="profilaxy" parent="high_frequency"/>
+      <xbifns:edge child="analgesia" parent="sinusitis"/>
+      <xbifns:edge child="analgesia" parent="tension_type_headache"/>
+      <xbifns:edge child="analgesia" parent="migraine"/>
+      <xbifns:edge child="analgesia" parent="cluster_headache"/>
+      <xbifns:edge child="cluster_headache" parent="nausea"/>
+      <xbifns:edge child="cluster_headache" parent="nasal_obstruction"/>
+      <xbifns:edge child="cluster_headache" parent="unilateral_red_eye"/>
+      <xbifns:edge child="cluster_headache" parent="photophobia"/>
+      <xbifns:edge child="cluster_headache" parent="pulsating_pain"/>
+      <xbifns:edge child="cluster_headache" parent="hemicranial_pain"/>
+      <xbifns:edge child="migraine" parent="unilateral_red_eye"/>
+      <xbifns:edge child="migraine" parent="rest_relief"/>
+      <xbifns:edge child="migraine" parent="visual_disturbance"/>
+      <xbifns:edge child="migraine" parent="photophobia"/>
+      <xbifns:edge child="migraine" parent="pulsating_pain"/>
+      <xbifns:edge child="migraine" parent="hemicranial_pain"/>
+      <xbifns:edge child="migraine" parent="nausea"/>
+      <xbifns:edge child="tension_type_headache" parent="pulsating_pain"/>
+      <xbifns:edge child="tension_type_headache" parent="uncommon_episodies"/>
+      <xbifns:edge child="tension_type_headache" parent="holocranial_pain"/>
+    </xbifns:structure>
+    <xbifns:conditionalDistributionSet>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="rest_relief"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.8999999761581421</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="nuchal_rigidity"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.9990000128746033</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="nasal_obstruction"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.949999988079071</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="uncommon_episodies"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.8999999761581421</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="visual_disturbance"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.9900000095367432</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="high_frequency"/>
+        <xbifns:parents>
+          <xbifns:parent index="0" name="migraine"/>
+          <xbifns:parent index="1" name="cluster_headache"/>
+        </xbifns:parents>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="2">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="3">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="4">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="5">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="6">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="7">0.9900000095367432</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="antimicrobians"/>
+        <xbifns:parents>
+          <xbifns:parent index="0" name="sinusitis"/>
+        </xbifns:parents>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="2">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="3">0.9990000128746033</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="fever"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.9900000095367432</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="nasal_discharge"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.8999999761581421</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="sinusitis"/>
+        <xbifns:parents>
+          <xbifns:parent index="0" name="facial_pain"/>
+          <xbifns:parent index="1" name="nasal_discharge"/>
+          <xbifns:parent index="2" name="fever"/>
+          <xbifns:parent index="3" name="nasal_obstruction"/>
+        </xbifns:parents>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.949999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="2">0.75</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="3">0.25</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="4">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="5">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="6">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="7">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="8">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="9">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="10">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="11">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="12">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="13">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="14">0.15000000596046448</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="15">0.8500000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="16">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="17">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="18">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="19">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="20">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="21">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="22">0.15000000596046448</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="23">0.8500000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="24">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="25">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="26">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="27">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="28">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="29">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="30">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="31">0.9900000095367432</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="facial_pain"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.949999988079071</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="painful_mastication"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.949999988079071</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="temporomandibular"/>
+        <xbifns:parents>
+          <xbifns:parent index="0" name="painful_mastication"/>
+          <xbifns:parent index="1" name="facial_pain"/>
+        </xbifns:parents>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="2">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="3">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="4">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="5">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="6">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="7">0.9900000095367432</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="aneurysmal_history"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.9990000128746033</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="acute_weakness"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.9900000095367432</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="diplopy"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.9900000095367432</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="seizure"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.9900000095367432</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="imaging_investigation"/>
+        <xbifns:parents>
+          <xbifns:parent index="0" name="seizure"/>
+          <xbifns:parent index="1" name="acute_weakness"/>
+          <xbifns:parent index="2" name="diplopy"/>
+          <xbifns:parent index="3" name="aneurysmal_history"/>
+        </xbifns:parents>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="2">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="3">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="4">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="5">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="6">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="7">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="8">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="9">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="10">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="11">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="12">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="13">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="14">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="15">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="16">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="17">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="18">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="19">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="20">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="21">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="22">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="23">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="24">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="25">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="26">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="27">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="28">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="29">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="30">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="31">0.9900000095367432</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="specialist"/>
+        <xbifns:parents>
+          <xbifns:parent index="0" name="seizure"/>
+          <xbifns:parent index="1" name="acute_weakness"/>
+          <xbifns:parent index="2" name="aneurysmal_history"/>
+          <xbifns:parent index="3" name="diplopy"/>
+          <xbifns:parent index="4" name="temporomandibular"/>
+          <xbifns:parent index="5" name="nuchal_rigidity"/>
+          <xbifns:parent index="6" name="profilaxy"/>
+        </xbifns:parents>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="2">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="3">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="4">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="5">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="6">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="7">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="8">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="9">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="10">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="11">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="12">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="13">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="14">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="15">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="16">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="17">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="18">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="19">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="20">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="21">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="22">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="23">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="24">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="25">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="26">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="27">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="28">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="29">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="30">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="31">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="32">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="33">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="34">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="35">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="36">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="37">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="38">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="39">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="40">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="41">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="42">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="43">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="44">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="45">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="46">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="47">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="48">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="49">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="50">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="51">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="52">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="53">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="54">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="55">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="56">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="57">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="58">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="59">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="60">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="61">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="62">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="63">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="64">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="65">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="66">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="67">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="68">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="69">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="70">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="71">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="72">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="73">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="74">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="75">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="76">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="77">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="78">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="79">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="80">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="81">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="82">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="83">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="84">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="85">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="86">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="87">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="88">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="89">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="90">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="91">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="92">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="93">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="94">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="95">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="96">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="97">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="98">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="99">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="100">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="101">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="102">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="103">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="104">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="105">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="106">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="107">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="108">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="109">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="110">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="111">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="112">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="113">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="114">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="115">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="116">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="117">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="118">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="119">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="120">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="121">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="122">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="123">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="124">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="125">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="126">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="127">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="128">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="129">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="130">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="131">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="132">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="133">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="134">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="135">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="136">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="137">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="138">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="139">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="140">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="141">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="142">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="143">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="144">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="145">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="146">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="147">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="148">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="149">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="150">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="151">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="152">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="153">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="154">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="155">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="156">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="157">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="158">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="159">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="160">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="161">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="162">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="163">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="164">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="165">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="166">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="167">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="168">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="169">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="170">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="171">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="172">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="173">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="174">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="175">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="176">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="177">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="178">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="179">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="180">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="181">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="182">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="183">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="184">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="185">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="186">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="187">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="188">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="189">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="190">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="191">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="192">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="193">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="194">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="195">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="196">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="197">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="198">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="199">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="200">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="201">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="202">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="203">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="204">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="205">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="206">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="207">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="208">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="209">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="210">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="211">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="212">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="213">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="214">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="215">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="216">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="217">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="218">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="219">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="220">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="221">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="222">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="223">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="224">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="225">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="226">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="227">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="228">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="229">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="230">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="231">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="232">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="233">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="234">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="235">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="236">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="237">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="238">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="239">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="240">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="241">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="242">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="243">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="244">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="245">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="246">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="247">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="248">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="249">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="250">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="251">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="252">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="253">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="254">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="255">0.9990000128746033</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="profilaxy"/>
+        <xbifns:parents>
+          <xbifns:parent index="0" name="high_frequency"/>
+        </xbifns:parents>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="2">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="3">0.9900000095367432</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="analgesia"/>
+        <xbifns:parents>
+          <xbifns:parent index="0" name="cluster_headache"/>
+          <xbifns:parent index="1" name="migraine"/>
+          <xbifns:parent index="2" name="tension_type_headache"/>
+          <xbifns:parent index="3" name="sinusitis"/>
+        </xbifns:parents>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="2">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="3">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="4">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="5">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="6">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="7">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="8">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="9">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="10">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="11">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="12">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="13">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="14">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="15">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="16">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="17">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="18">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="19">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="20">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="21">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="22">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="23">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="24">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="25">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="26">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="27">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="28">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="29">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="30">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="31">0.9900000095367432</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="unilateral_red_eye"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.9900000095367432</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="photophobia"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.9990000128746033</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="pulsating_pain"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.9900000095367432</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="hemicranial_pain"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.9990000128746033</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="cluster_headache"/>
+        <xbifns:parents>
+          <xbifns:parent index="0" name="hemicranial_pain"/>
+          <xbifns:parent index="1" name="pulsating_pain"/>
+          <xbifns:parent index="2" name="photophobia"/>
+          <xbifns:parent index="3" name="unilateral_red_eye"/>
+          <xbifns:parent index="4" name="nasal_obstruction"/>
+          <xbifns:parent index="5" name="nausea"/>
+        </xbifns:parents>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="2">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="3">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="4">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="5">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="6">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="7">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="8">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="9">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="10">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="11">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="12">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="13">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="14">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="15">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="16">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="17">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="18">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="19">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="20">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="21">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="22">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="23">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="24">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="25">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="26">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="27">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="28">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="29">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="30">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="31">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="32">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="33">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="34">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="35">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="36">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="37">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="38">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="39">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="40">0.949999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="41">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="42">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="43">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="44">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="45">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="46">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="47">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="48">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="49">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="50">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="51">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="52">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="53">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="54">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="55">0.949999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="56">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="57">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="58">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="59">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="60">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="61">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="62">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="63">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="64">0.949999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="65">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="66">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="67">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="68">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="69">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="70">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="71">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="72">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="73">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="74">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="75">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="76">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="77">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="78">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="79">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="80">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="81">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="82">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="83">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="84">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="85">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="86">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="87">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="88">0.15000000596046448</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="89">0.8500000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="90">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="91">0.949999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="92">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="93">0.949999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="94">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="95">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="96">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="97">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="98">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="99">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="100">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="101">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="102">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="103">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="104">0.8181819915771484</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="105">0.18181799352169037</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="106">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="107">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="108">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="109">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="110">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="111">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="112">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="113">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="114">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="115">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="116">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="117">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="118">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="119">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="120">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="121">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="122">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="123">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="124">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="125">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="126">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="127">0.9900000095367432</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="migraine"/>
+        <xbifns:parents>
+          <xbifns:parent index="0" name="nausea"/>
+          <xbifns:parent index="1" name="hemicranial_pain"/>
+          <xbifns:parent index="2" name="pulsating_pain"/>
+          <xbifns:parent index="3" name="photophobia"/>
+          <xbifns:parent index="4" name="visual_disturbance"/>
+          <xbifns:parent index="5" name="rest_relief"/>
+          <xbifns:parent index="6" name="unilateral_red_eye"/>
+        </xbifns:parents>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="2">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="3">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="4">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="5">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="6">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="7">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="8">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="9">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="10">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="11">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="12">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="13">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="14">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="15">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="16">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="17">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="18">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="19">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="20">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="21">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="22">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="23">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="24">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="25">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="26">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="27">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="28">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="29">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="30">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="31">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="32">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="33">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="34">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="35">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="36">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="37">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="38">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="39">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="40">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="41">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="42">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="43">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="44">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="45">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="46">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="47">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="48">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="49">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="50">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="51">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="52">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="53">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="54">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="55">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="56">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="57">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="58">0.31818199157714844</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="59">0.6818180084228516</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="60">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="61">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="62">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="63">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="64">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="65">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="66">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="67">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="68">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="69">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="70">0.6666669845581055</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="71">0.33333298563957214</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="72">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="73">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="74">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="75">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="76">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="77">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="78">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="79">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="80">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="81">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="82">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="83">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="84">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="85">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="86">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="87">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="88">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="89">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="90">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="91">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="92">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="93">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="94">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="95">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="96">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="97">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="98">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="99">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="100">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="101">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="102">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="103">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="104">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="105">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="106">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="107">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="108">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="109">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="110">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="111">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="112">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="113">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="114">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="115">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="116">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="117">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="118">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="119">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="120">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="121">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="122">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="123">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="124">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="125">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="126">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="127">0.949999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="128">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="129">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="130">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="131">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="132">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="133">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="134">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="135">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="136">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="137">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="138">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="139">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="140">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="141">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="142">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="143">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="144">0.949999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="145">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="146">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="147">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="148">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="149">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="150">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="151">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="152">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="153">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="154">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="155">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="156">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="157">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="158">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="159">0.949999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="160">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="161">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="162">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="163">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="164">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="165">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="166">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="167">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="168">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="169">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="170">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="171">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="172">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="173">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="174">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="175">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="176">0.949999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="177">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="178">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="179">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="180">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="181">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="182">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="183">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="184">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="185">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="186">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="187">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="188">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="189">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="190">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="191">0.949999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="192">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="193">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="194">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="195">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="196">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="197">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="198">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="199">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="200">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="201">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="202">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="203">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="204">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="205">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="206">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="207">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="208">0.949999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="209">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="210">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="211">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="212">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="213">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="214">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="215">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="216">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="217">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="218">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="219">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="220">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="221">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="222">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="223">0.949999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="224">0.9990000128746033</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="225">0.0010000000474974513</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="226">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="227">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="228">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="229">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="230">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="231">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="232">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="233">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="234">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="235">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="236">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="237">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="238">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="239">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="240">0.949999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="241">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="242">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="243">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="244">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="245">0.3499999940395355</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="246">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="247">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="248">0.699999988079071</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="249">0.30000001192092896</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="250">0.550000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="251">0.44999998807907104</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="252">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="253">0.5</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="254">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="255">0.949999988079071</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="tension_type_headache"/>
+        <xbifns:parents>
+          <xbifns:parent index="0" name="holocranial_pain"/>
+          <xbifns:parent index="1" name="uncommon_episodies"/>
+          <xbifns:parent index="2" name="pulsating_pain"/>
+        </xbifns:parents>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="2">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="3">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="4">0.4000000059604645</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="5">0.6000000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="6">0.15000000596046448</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="7">0.8500000238418579</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="8">0.9900000095367432</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="9">0.009999999776482582</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="10">0.800000011920929</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="11">0.20000000298023224</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="12">0.8999999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="13">0.10000000149011612</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="14">0.6499999761581421</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="15">0.3499999940395355</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="nausea"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.029999999329447746</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.9700000286102295</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+      <xbifns:conditionalDistribution type="Discrete">
+        <xbifns:owner name="holocranial_pain"/>
+        <xbifns:CPT>
+          <xbifns:dependentParentIndex index="0">0.05000000074505806</xbifns:dependentParentIndex>
+          <xbifns:dependentParentIndex index="1">0.949999988079071</xbifns:dependentParentIndex>
+        </xbifns:CPT>
+      </xbifns:conditionalDistribution>
+    </xbifns:conditionalDistributionSet>
+  </xbifns:network>
+</xbifns:XMLBIF>
\ No newline at end of file
diff --git a/setup/glassfish-resources.xml b/setup/glassfish-resources.xml
new file mode 100644 (file)
index 0000000..0fd0d9e
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
+<resources>
+    <jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="org.postgresql.ds.PGSimpleDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="post-gre-sql_simdecs_simdecsPool" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.DataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">
+        <property name="serverName" value="127.0.0.1"/>
+        <property name="portNumber" value="5432"/>
+        <property name="databaseName" value="simdecs"/>
+        <property name="User" value="simdecs"/>
+        <property name="Password" value="simdecs"/>
+        <property name="URL" value="jdbc:postgresql://127.0.0.1:5432/simdecs"/>
+        <property name="driverClass" value="org.postgresql.Driver"/>
+    </jdbc-connection-pool>
+    <jdbc-resource enabled="true" jndi-name="jdbc/SimDeCS" object-type="user" pool-name="post-gre-sql_simdecs_simdecsPool"/>
+</resources>
diff --git a/src/conf/MANIFEST.MF b/src/conf/MANIFEST.MF
new file mode 100644 (file)
index 0000000..59499bc
--- /dev/null
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/src/conf/persistence.xml b/src/conf/persistence.xml
new file mode 100644 (file)
index 0000000..1fcb1bd
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
+  <persistence-unit name="SimDeCSPU" transaction-type="RESOURCE_LOCAL">
+    <provider>org.hibernate.ejb.HibernatePersistence</provider>
+    <non-jta-data-source>jdbc/SimDeCS</non-jta-data-source>
+    <class>org.ufcspa.simdecs.entities.Usuario</class>
+    <class>org.ufcspa.simdecs.entities.Caso</class>
+    <class>org.ufcspa.simdecs.entities.Paciente</class>
+    <class>org.ufcspa.simdecs.entities.Rede</class>
+    <class>org.ufcspa.simdecs.entities.Nodo</class>
+    <class>org.ufcspa.simdecs.entities.DependenciaNodo</class>
+    <class>org.ufcspa.simdecs.entities.NodoPaciente</class>
+    <class>org.ufcspa.simdecs.entities.PerguntaNodo</class>
+    <class>org.ufcspa.simdecs.entities.RespostaNodo</class>
+    <class>org.ufcspa.simdecs.entities.SinonimoResposta</class>
+    <exclude-unlisted-classes>true</exclude-unlisted-classes>
+    <properties>
+      <property name="hibernate.hbm2ddl.auto" value="update"/>
+      <property name="hibernate.show_sql" value="true"/>
+      <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
+    </properties>
+  </persistence-unit>
+</persistence>
diff --git a/src/java/org/ufcspa/simdecs/bn/ui/FileUploadController.java b/src/java/org/ufcspa/simdecs/bn/ui/FileUploadController.java
new file mode 100644 (file)
index 0000000..cfde520
--- /dev/null
@@ -0,0 +1,94 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.bn.ui;
+
+import java.io.*;
+import java.util.ArrayList;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.faces.application.FacesMessage;
+import javax.faces.bean.ManagedBean;
+import javax.faces.context.FacesContext;
+import javax.persistence.EntityManager;
+import javax.xml.bind.JAXBException;
+import org.primefaces.event.FileUploadEvent;
+import org.primefaces.model.UploadedFile;
+import org.ufcspa.simdecs.entities.Nodo;
+import org.ufcspa.simdecs.entities.Rede;
+import org.ufcspa.simdecs.util.DbUtil;
+import unbbayes.io.exception.LoadException;
+import unbbayes.io.xmlbif.version6.XMLBIFIO;
+import unbbayes.prs.bn.ProbabilisticNetwork;
+
+/**
+ *
+ * @author mchelem
+ */
+@ManagedBean(name = "fileUploadController")
+public class FileUploadController implements Serializable {    
+    
+    private static final Logger logger = Logger.getLogger("" + FileUploadController.class);
+    EntityManager em = null;
+    
+    public FileUploadController() {
+        em = DbUtil.getInstance().getEntityManager();
+    }
+       
+    private File saveUploadedFile(UploadedFile uploadedFile) throws IOException{
+        long unixTime = System.currentTimeMillis() / 1000L;
+        
+        InputStream in = new BufferedInputStream(uploadedFile.getInputstream()); 
+        File file = new File("bn_"+ unixTime + "_" + uploadedFile.getFileName());           
+        FileOutputStream fout = new FileOutputStream(file);
+        while(in.available() != 0){ 
+            fout.write(in.read());
+        }
+        logger.log(Level.INFO, "Uploaded file saved in: {0}", file.getAbsolutePath());
+        return file;            
+    }
+    
+    private void persist(Rede redeBayesiana){        
+        em.getTransaction().begin();
+        em.persist(redeBayesiana);  
+        em.getTransaction().commit();
+        logger.log(Level.INFO, "Bayesian Network {0} persisted.", redeBayesiana.getNome());
+    }
+    
+    
+    public void handleFileUpload(FileUploadEvent event) {
+        try {
+            File file = this.saveUploadedFile(event.getFile());            
+            // required to run unbbayes gui classes on server
+            System.setProperty("java.awt.headless", "false"); 
+            
+            ProbabilisticNetwork bn = new ProbabilisticNetwork(null);
+            XMLBIFIO.loadXML(new File(file.getAbsolutePath()), bn);             
+            Rede rede = new Rede();
+            rede.setNome(bn.getName()); 
+            rede.setArquivo(file.getAbsolutePath());
+            
+            ArrayList<Nodo> nodes = new ArrayList<Nodo>();
+            for (unbbayes.prs.Node prs_node: bn.getNodes()){
+                Nodo nodo = new Nodo();
+                nodo.setNome(prs_node.getName());
+                nodo.setBogus("N");
+                nodo.setRede(rede);
+                nodes.add(nodo);                
+            }
+            rede.setNodos(nodes);             
+            persist(rede);
+            
+            FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
+            FacesContext.getCurrentInstance().addMessage(null, msg);
+        } catch (LoadException ex) {
+            Logger.getLogger(FileUploadController.class.getName()).log(Level.SEVERE, null, ex);
+        } catch (IOException ex) {
+            Logger.getLogger(FileUploadController.class.getName()).log(Level.SEVERE, null, ex);
+        } catch (JAXBException ex) {
+            Logger.getLogger(FileUploadController.class.getName()).log(Level.SEVERE, null, ex);
+        }
+    }
+}
+        
\ No newline at end of file
diff --git a/src/java/org/ufcspa/simdecs/entities/Caso.java b/src/java/org/ufcspa/simdecs/entities/Caso.java
new file mode 100644 (file)
index 0000000..68d963c
--- /dev/null
@@ -0,0 +1,131 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.entities;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.SequenceGenerator;
+import org.hibernate.annotations.Index;
+import org.hibernate.annotations.Table;
+
+/**
+ *
+ * @author maroni
+ */
+@Entity
+@Table(appliesTo="Caso",
+       indexes= {
+                    @Index(name="caso_usu_ix", columnNames="usu_id"),
+                    @Index(name="caso_nome_ix", columnNames="nome")
+                }
+      )
+public class Caso implements Serializable {
+    
+    private static final long serialVersionUID = 1L;
+    
+    @Id
+    @SequenceGenerator(name="seqCaso", sequenceName="SQ_CASO")
+    @GeneratedValue(strategy = GenerationType.AUTO, generator="seqCaso")
+    private Long id;
+
+    @Column(nullable=false, length=300)
+    private String nome;
+
+    @Column(nullable=false, length=4000)
+    private String textoInicial;
+    
+    @Column(nullable=false, length=4000)
+    private String resumo;
+    
+    @ManyToOne
+    @JoinColumn(name="usu_id", nullable=false)    
+    private Usuario usuario;
+    
+    @OneToMany(mappedBy="caso")
+    private List<Paciente> pacientes;
+
+    public Usuario getUsuario() {
+        return usuario;
+    }
+
+    public void setUsuario(Usuario usuario) {
+        this.usuario = usuario;
+    }
+
+    public String getNome() {
+        return nome;
+    }
+
+    public void setNome(String nome) {
+        this.nome = nome;
+    }
+
+    public String getResumo() {
+        return resumo;
+    }
+
+    public void setResumo(String resumo) {
+        this.resumo = resumo;
+    }
+
+    public String getTextoInicial() {
+        return textoInicial;
+    }
+
+    public void setTextoInicial(String textoInicial) {
+        this.textoInicial = textoInicial;
+    }
+    
+    
+    
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    @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 Caso)) {
+            return false;
+        }
+        Caso other = (Caso) 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.entities.Caso[ id=" + id + " ]";
+    }
+
+    public List<Paciente> getPacientes() {
+        return pacientes;
+    }
+
+    public void setPacientes(List<Paciente> pacientes) {
+        this.pacientes = pacientes;
+    }
+}
diff --git a/src/java/org/ufcspa/simdecs/entities/DependenciaNodo.java b/src/java/org/ufcspa/simdecs/entities/DependenciaNodo.java
new file mode 100644 (file)
index 0000000..346cd19
--- /dev/null
@@ -0,0 +1,99 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.entities;
+
+import java.io.Serializable;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+
+/**
+ *
+ * @author maroni
+ */
+@Entity
+@Table(name="DEPENDENCIA_NODO")
+public class DependenciaNodo implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @Id
+    @SequenceGenerator(name="SeqDependenciaNodo", sequenceName="SQ_DEPENDENCIA_NODO")
+    @GeneratedValue(strategy = GenerationType.AUTO, generator="SeqDependenciaNodo")
+    private Long id;
+
+    @ManyToOne
+    @JoinColumn(name="nodo_id", nullable=false)
+    private Nodo nodo;
+
+    @ManyToOne
+    @JoinColumn(name="nodo_dependente_id", nullable=false)
+    private Nodo nodoDependente;
+    
+    @ManyToOne
+    @JoinColumn(name="resn_id", nullable=false)
+    private Nodo respostaNodo;
+    
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    @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 DependenciaNodo)) {
+            return false;
+        }
+        DependenciaNodo other = (DependenciaNodo) 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.entities.DependenciaNodo[ id=" + id + " ]";
+    }
+
+    public Nodo getNodo() {
+        return nodo;
+    }
+
+    public void setNodo(Nodo nodo) {
+        this.nodo = nodo;
+    }
+
+    public Nodo getNodoDependente() {
+        return nodoDependente;
+    }
+
+    public void setNodoDependente(Nodo nodoDependente) {
+        this.nodoDependente = nodoDependente;
+    }
+
+    public Nodo getRespostaNodo() {
+        return respostaNodo;
+    }
+
+    public void setRespostaNodo(Nodo respostaNodo) {
+        this.respostaNodo = respostaNodo;
+    }
+
+}
diff --git a/src/java/org/ufcspa/simdecs/entities/Nodo.java b/src/java/org/ufcspa/simdecs/entities/Nodo.java
new file mode 100644 (file)
index 0000000..afc7b81
--- /dev/null
@@ -0,0 +1,159 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.entities;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.persistence.*;
+
+/**
+ *
+ * @author maroni
+ */
+@Entity
+public class Nodo implements Serializable {
+  
+    public static final String SINAL_SINTOMA        = "SINAL_SINTOMA";
+    public static final String HISTORICO            = "HISTORICO";
+    public static final String EXAME_FISICO         = "EXAME_FISICO";
+    public static final String EXAME_COMPLEMENTAR   = "EXAME_COMPLEMENTAR";
+    public static final String DIAGNOSTICO          = "DIAGNOSTICO";
+    public static final String CONDUTA              = "CONDUTA";
+    
+    
+    private static final long serialVersionUID = 1L;
+    @Id
+    @SequenceGenerator(name="SeqNodo", sequenceName="SQ_NODO")
+    @GeneratedValue(strategy = GenerationType.AUTO, generator="SeqNodo")
+    private Long id;
+    
+    @Column(nullable=false, length=100)
+    private String nome;
+
+    @Column(nullable=true, length=100)
+    private String nomeAmigavel;
+
+    @Column(nullable=true)
+    private Integer tempo;
+
+    @Column(nullable=true)
+    private Float custo;
+
+    @Column(nullable=true, length=30)
+    private String tipo;
+
+    @Column(nullable=true, length=1)
+    private String bogus;
+
+    @OneToMany(cascade = javax.persistence.CascadeType.ALL, mappedBy="nodo")
+    private List<PerguntaNodo> perguntas;
+    
+    @ManyToOne
+    @JoinColumn(name="rede_id", nullable=false)
+    private Rede rede;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    
+    @Override
+    public boolean equals(Object obj) {
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        final Nodo other = (Nodo) obj;
+        if ((this.nome == null) ? (other.nome != null) : !this.nome.equals(other.nome)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 3;
+        hash = 17 * hash + (this.nome != null ? this.nome.hashCode() : 0);
+        return hash;
+    }
+
+    
+
+    @Override
+    public String toString() {
+        return "org.ufcspa.simdecs.entities.Nodo[ nome=" + nome + " ]";
+    }
+
+    public Float getCusto() {
+        return custo;
+    }
+
+    public void setCusto(Float custo) {
+        this.custo = custo;
+    }
+
+    public String getNome() {
+        return nome;
+    }
+
+    public void setNome(String nome) {
+        this.nome = nome;
+    }
+
+    public String getNomeAmigavel() {
+        return nomeAmigavel;
+    }
+
+    public void setNomeAmigavel(String nomeAmigavel) {
+        this.nomeAmigavel = nomeAmigavel;
+    }
+
+    public Rede getRede() {
+        return rede;
+    }
+
+    public void setRede(Rede rede) {
+        this.rede = rede;
+    }
+
+    public Integer getTempo() {
+        return tempo;
+    }
+
+    public void setTempo(Integer tempo) {
+        this.tempo = tempo;
+    }
+
+    public String getTipo() {
+        return tipo;
+    }
+
+    public void setTipo(String tipo) {
+        this.tipo = tipo;
+    }
+
+    public String getBogus() {
+        return bogus;
+    }
+
+    public void setBogus(String bogus) {
+        this.bogus = bogus;
+    }
+
+    public List<PerguntaNodo> getPerguntas() {
+        return perguntas;
+    }
+
+    public void setPerguntas(List<PerguntaNodo> perguntas) {
+        this.perguntas = perguntas;
+    }
+
+    
+}
diff --git a/src/java/org/ufcspa/simdecs/entities/NodoPaciente.java b/src/java/org/ufcspa/simdecs/entities/NodoPaciente.java
new file mode 100644 (file)
index 0000000..e6e7df9
--- /dev/null
@@ -0,0 +1,85 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.entities;
+
+import java.io.Serializable;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.SequenceGenerator;
+
+/**
+ *
+ * @author maroni
+ */
+@Entity
+public class NodoPaciente implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @Id
+    @SequenceGenerator(name="SeqNodoPaciente", sequenceName="SQ_NODO_PACIENTE")
+    @GeneratedValue(strategy = GenerationType.AUTO, generator="SeqNodoPaciente")
+    private Long id;
+
+    @ManyToOne
+    @JoinColumn(name="nodo_id", nullable=false)
+    private Nodo nodo;
+
+    @ManyToOne
+    @JoinColumn(name="paciente_id", nullable=false)
+    private Paciente paciente;
+    
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    @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 NodoPaciente)) {
+            return false;
+        }
+        NodoPaciente other = (NodoPaciente) 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.entities.NodoPaciente[ id=" + id + " ]";
+    }
+
+    public Nodo getNodo() {
+        return nodo;
+    }
+
+    public void setNodo(Nodo nodo) {
+        this.nodo = nodo;
+    }
+
+    public Paciente getPaciente() {
+        return paciente;
+    }
+
+    public void setPaciente(Paciente paciente) {
+        this.paciente = paciente;
+    }
+    
+}
diff --git a/src/java/org/ufcspa/simdecs/entities/Paciente.java b/src/java/org/ufcspa/simdecs/entities/Paciente.java
new file mode 100644 (file)
index 0000000..47cd958
--- /dev/null
@@ -0,0 +1,163 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.entities;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.SequenceGenerator;
+import org.hibernate.annotations.Table;
+
+/**
+ *
+ * @author maroni
+ */
+@Entity
+@Table(appliesTo="Paciente")
+public class Paciente implements Serializable {
+    
+    private static final long serialVersionUID = 1L;
+    @Id
+    @SequenceGenerator(name="seqPaciente", sequenceName="SQ_PACIENTE")
+    @GeneratedValue(strategy = GenerationType.AUTO, generator="seqPaciente")
+    private Long id;
+
+    @ManyToOne
+    @JoinColumn(name="rede_id", nullable=false)
+    private Rede rede;
+
+    @ManyToOne
+    @JoinColumn(name="caso_id", nullable=false)
+    private Caso caso;
+
+    @Column(length=100, nullable=false)
+    private String nome;
+
+    @Column(length=3, nullable=false)
+    private Integer idade;
+
+    @Column(nullable=false)
+    private Float peso;
+
+    @Column(nullable=false)
+    private Float altura;
+    
+    @Column(length=1, nullable=false)
+    private String sexo;
+    
+    @OneToMany(mappedBy="paciente")
+    private List<NodoPaciente> nodos;
+    
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    @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 Paciente)) {
+            return false;
+        }
+        Paciente other = (Paciente) 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.entities.Paciente[ id=" + id + " ]";
+    }
+
+    public Integer getIdade() {
+        return idade;
+    }
+
+    public void setIdade(Integer idade) {
+        this.idade = idade;
+    }
+
+    public String getNome() {
+        return nome;
+    }
+
+    public void setNome(String nome) {
+        this.nome = nome;
+    }
+
+    public Float getPeso() {
+        return peso;
+    }
+
+    public void setPeso(Float peso) {
+        this.peso = peso;
+    }
+
+    public Rede getRede() {
+        return rede;
+    }
+
+    public void setRede(Rede rede) {
+        this.rede = rede;
+    }
+
+    public String getSexo() {
+        return sexo;
+    }
+
+    public void setSexo(String sexo) {
+        this.sexo = sexo;
+    }
+
+    public Caso getCaso() {
+        return caso;
+    }
+
+    public void setCaso(Caso caso) {
+        this.caso = caso;
+    }    
+    
+    public String getImage() {
+        if (sexo.equals("F"))
+            return "img/patientFemale.png";
+        else
+            return "img/patientMale.png";
+    }
+
+    public Float getAltura() {
+        return altura;
+    }
+
+    public void setAltura(Float altura) {
+        this.altura = altura;
+    }
+
+    public List<NodoPaciente> getNodos() {
+        return nodos;
+    }
+
+    public void setNodos(List<NodoPaciente> nodos) {
+        this.nodos = nodos;
+    }
+}
diff --git a/src/java/org/ufcspa/simdecs/entities/PerguntaNodo.java b/src/java/org/ufcspa/simdecs/entities/PerguntaNodo.java
new file mode 100644 (file)
index 0000000..f1a8ae0
--- /dev/null
@@ -0,0 +1,101 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.entities;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+
+/**
+ *
+ * @author maroni
+ */
+@Entity
+@Table(name="PERGUNTA_NODO")
+public class PerguntaNodo implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @Id
+    @SequenceGenerator(name="SeqPerguntaNodo", sequenceName="SQ_PERGUNTA_NODO")
+    @GeneratedValue(strategy = GenerationType.AUTO, generator="SeqPerguntaNodo")
+    private Long id;
+    
+    @Column(length=2000, nullable=false)
+    private String texto;
+    
+    @ManyToOne
+    @JoinColumn(name="nodo_id", nullable=false)
+    private Nodo nodo;
+
+    @OneToMany(cascade = javax.persistence.CascadeType.ALL, mappedBy="pergunta")
+    private List<RespostaNodo> respostas;
+    
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    @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 PerguntaNodo)) {
+            return false;
+        }
+        PerguntaNodo other = (PerguntaNodo) 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.entities.PerguntaNodo[ id=" + id + " ]";
+    }
+
+    public String getTexto() {
+        return texto;
+    }
+
+    public void setTexto(String texto) {
+        this.texto = texto;
+    }
+
+    public Nodo getNodo() {
+        return nodo;
+    }
+
+    public void setNodo(Nodo nodo) {
+        this.nodo = nodo;
+    }
+
+    public List<RespostaNodo> getRespostas() {
+        return respostas;
+    }
+
+    public void setRespostas(List<RespostaNodo> respostas) {
+        this.respostas = respostas;
+    }
+
+
+}
diff --git a/src/java/org/ufcspa/simdecs/entities/Rede.java b/src/java/org/ufcspa/simdecs/entities/Rede.java
new file mode 100644 (file)
index 0000000..52a3457
--- /dev/null
@@ -0,0 +1,98 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.entities;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+import javax.persistence.SequenceGenerator;
+import org.hibernate.annotations.Table;
+
+/**
+ *
+ * @author maroni
+ */
+@Entity
+@Table(appliesTo="Rede")
+public class Rede implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @Id
+    @SequenceGenerator(name="seqRede", sequenceName="SQ_REDE")
+    @GeneratedValue(strategy = GenerationType.AUTO, generator="seqRede")
+    private Long id;
+
+    @Column(length=100, nullable=false)
+    private String nome;
+
+    @Column(length=100, nullable=false)
+    private String arquivo;
+        
+    @OneToMany(cascade = javax.persistence.CascadeType.ALL, mappedBy="rede")
+    private List<Nodo> nodos;
+        
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    @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 Rede)) {
+            return false;
+        }
+        Rede other = (Rede) 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.entities.Rede[ id=" + id + " ]";
+    }
+
+    public String getArquivo() {
+        return arquivo;
+    }
+
+    public void setArquivo(String arquivo) {
+        this.arquivo = arquivo;
+    }
+
+    public String getNome() {
+        return nome;
+    }
+
+    public void setNome(String nome) {
+        this.nome = nome;
+    }
+
+
+    public List<Nodo> getNodos() {
+        return nodos;
+    }
+
+    public void setNodos(List<Nodo> nodos) {
+        this.nodos = nodos;
+    }
+
+}
diff --git a/src/java/org/ufcspa/simdecs/entities/RespostaNodo.java b/src/java/org/ufcspa/simdecs/entities/RespostaNodo.java
new file mode 100644 (file)
index 0000000..8b1d562
--- /dev/null
@@ -0,0 +1,114 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.entities;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+//
+/**
+ *
+ * @author maroni
+ */
+@Entity
+@Table(name="RESPOSTA_NODO")
+public class RespostaNodo implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @Id
+    @SequenceGenerator(name="SeqRespotaNOdo", sequenceName="SQ_RESPOTA_NODO")
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    private Long id;
+    
+    @Column(nullable=false, length=3)
+    private Integer pesoMinimo;
+
+    @Column(nullable=false, length=3)
+    private Integer pesoMaximo;
+
+    @ManyToOne
+    @JoinColumn(name="nodo_id", nullable=false)
+    private PerguntaNodo pergunta;
+    
+    @OneToMany(cascade = javax.persistence.CascadeType.ALL, mappedBy="resposta")
+    private List<SinonimoResposta> sinonimos;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    @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 RespostaNodo)) {
+            return false;
+        }
+        RespostaNodo other = (RespostaNodo) 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.entities.RespostaNodo[ id=" + id + " ]";
+    }
+
+    public Integer getPesoMaximo() {
+        return pesoMaximo;
+    }
+
+    public void setPesoMaximo(Integer pesoMaximo) {
+        this.pesoMaximo = pesoMaximo;
+    }
+
+    public Integer getPesoMinimo() {
+        return pesoMinimo;
+    }
+
+    public void setPesoMinimo(Integer pesoMinimo) {
+        this.pesoMinimo = pesoMinimo;
+    }
+
+    public PerguntaNodo getPergunta() {
+        return pergunta;
+    }
+
+    public void setPergunta(PerguntaNodo pergunta) {
+        this.pergunta = pergunta;
+    }
+
+    
+    public List<SinonimoResposta> getSinonimos() {
+        return sinonimos;
+    }
+
+    public void setSinonimos(List<SinonimoResposta> sinonimos) {
+        this.sinonimos = sinonimos;
+    }
+    
+    
+    
+}
diff --git a/src/java/org/ufcspa/simdecs/entities/SinonimoResposta.java b/src/java/org/ufcspa/simdecs/entities/SinonimoResposta.java
new file mode 100644 (file)
index 0000000..47f54c4
--- /dev/null
@@ -0,0 +1,88 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.entities;
+
+import java.io.Serializable;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+
+/**
+ *
+ * @author maroni
+ */
+@Entity
+@Table(name="SINONIMO_RESPOSTA")
+public class SinonimoResposta implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @Id
+    @SequenceGenerator(name="SeqSinonimoResposta", sequenceName="SQ_SINONIMO_RESPOTA")
+    @GeneratedValue(strategy = GenerationType.AUTO, generator="SeqSinonimoResposta")
+    private Long id;
+
+    @Column(length=2000, nullable=false)
+    private String texto;
+    
+    @ManyToOne
+    @JoinColumn(name="resn_id", nullable=false)
+    private RespostaNodo resposta;
+    
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    @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 SinonimoResposta)) {
+            return false;
+        }
+        SinonimoResposta other = (SinonimoResposta) 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.entities.SinonimoRespota[ id=" + id + " ]";
+    }
+
+    public RespostaNodo getResposta() {
+        return resposta;
+    }
+
+    public void setResposta(RespostaNodo resposta) {
+        this.resposta = resposta;
+    }
+
+    public String getTexto() {
+        return texto;
+    }
+
+    public void setTexto(String texto) {
+        this.texto = texto;
+    }
+
+
+}
diff --git a/src/java/org/ufcspa/simdecs/entities/Usuario.java b/src/java/org/ufcspa/simdecs/entities/Usuario.java
new file mode 100644 (file)
index 0000000..3c8afdf
--- /dev/null
@@ -0,0 +1,97 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.entities;
+
+import java.io.Serializable;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.SequenceGenerator;
+import org.hibernate.annotations.Table;
+
+/**
+ *
+ * @author maroni
+ */
+@Entity
+@Table(appliesTo="Usuario")
+public class Usuario implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    
+    @Id
+    @SequenceGenerator(name="seqUsuario", sequenceName="SQ_USUARIO")
+    @GeneratedValue(strategy = GenerationType.AUTO, generator="seqUsuario")
+    private Long id;
+
+    @Column(length=50, nullable=false)
+    private String nome;
+
+    @Column(length=30, nullable=false, unique=true)
+    private String login;
+    
+    @Column(length=50, nullable=false)
+    private String senha;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getLogin() {
+        return login;
+    }
+
+    public void setLogin(String login) {
+        this.login = login;
+    }
+
+    public String getNome() {
+        return nome;
+    }
+
+    public void setNome(String nome) {
+        this.nome = nome;
+    }
+
+    public String getSenha() {
+        return senha;
+    }
+
+    public void setSenha(String senha) {
+        this.senha = senha;
+    }
+    
+    @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 Usuario)) {
+            return false;
+        }
+        Usuario other = (Usuario) 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.entities.Usuario[ id=" + id + " ]";
+    }
+    
+}
diff --git a/src/java/org/ufcspa/simdecs/mb/DefaultManagedBean.java b/src/java/org/ufcspa/simdecs/mb/DefaultManagedBean.java
new file mode 100644 (file)
index 0000000..16218b3
--- /dev/null
@@ -0,0 +1,85 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.mb;
+
+import java.util.Locale;
+import javax.faces.application.FacesMessage;
+import javax.faces.application.FacesMessage.Severity;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.persistence.EntityManager;
+import javax.servlet.http.HttpSession;
+import org.ufcspa.simdecs.entities.Usuario;
+import org.ufcspa.simdecs.util.DbUtil;
+
+/**
+ *
+ * @author maroni
+ */
+public class DefaultManagedBean {
+
+    protected EntityManager em;
+    
+    public Usuario getUsuario() {
+        return (Usuario) getSession().getAttribute("usuario");
+    }
+    
+    public DefaultManagedBean() {
+        em = DbUtil.getInstance().getEntityManager();
+    }
+    
+    public Locale getLocale() {
+        return getFacesContext().getViewRoot().getLocale();
+    }
+    
+    public void addMessage(String componentID, Severity severity, String iTitle, String iMessage) {        
+        FacesContext.getCurrentInstance().addMessage(componentID, new FacesMessage(severity, iTitle, iMessage));
+    }
+
+    public void addInfoMessage(String componentID, String iTitle, String iMessage) {
+        addMessage(componentID, FacesMessage.SEVERITY_INFO, iTitle, iMessage);
+    }
+
+    public void addInfoMessage(String iTitle, String iMessage) {
+        addInfoMessage(null, iTitle, iMessage);
+    }
+
+    public void addWarnMessage(String componentID, String iTitle, String iMessage) {
+        addMessage(componentID, FacesMessage.SEVERITY_WARN, iTitle, iMessage);
+    }
+
+    public void addWarnMessage(String iTitle, String iMessage) {
+        addWarnMessage(null, iTitle, iMessage);
+    }
+
+    public void addErrorMessage(String componentID, String iTitle, String iMessage) {
+        addMessage(componentID, FacesMessage.SEVERITY_ERROR, iTitle, iMessage);
+    }
+
+    public void addErrorMessage(String iTitle, String iMessage) {
+        addErrorMessage(null, iTitle, iMessage);
+    }
+    
+    protected String getTextParameter(String paramName) {
+        return (String) getFacesContext().getExternalContext().getRequestParameterMap().get(paramName);
+    }
+
+    protected Object getParameter(String paramName) {
+        return getFacesContext().getExternalContext().getRequestParameterMap().get(paramName);
+    }
+    
+    protected FacesContext getFacesContext() {
+        return FacesContext.getCurrentInstance();
+    }
+    
+    
+    protected UIComponent getComponentById(String componentId) {
+        return getFacesContext().getViewRoot().findComponent(componentId);
+    }
+    
+    protected HttpSession getSession() {
+        return (HttpSession) getFacesContext().getExternalContext().getSession(true);
+    }
+}
diff --git a/src/java/org/ufcspa/simdecs/mb/editarcasos/EditarCasoBean.java b/src/java/org/ufcspa/simdecs/mb/editarcasos/EditarCasoBean.java
new file mode 100644 (file)
index 0000000..959808a
--- /dev/null
@@ -0,0 +1,211 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.mb.editarcasos;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.RequestScoped;
+import org.ufcspa.simdecs.entities.Caso;
+import org.ufcspa.simdecs.entities.Nodo;
+import org.ufcspa.simdecs.entities.Paciente;
+import org.ufcspa.simdecs.entities.Rede;
+import org.ufcspa.simdecs.mb.DefaultManagedBean;
+
+/**
+ *
+ * @author maroni
+ */
+@ManagedBean
+@RequestScoped
+public class EditarCasoBean extends DefaultManagedBean {
+
+    private Long idPaciente;
+    private String nomePaciente;
+    private Integer idadePaciente;
+    private Float pesoPaciente;
+    private Float alturaPaciente;
+    private String sexoPaciente;
+    private Long redePaciente;
+    private Map<String, String> listaRedesPaciente;
+    private List<Paciente> listaPacientes;
+    private String relato;
+    private Map<String, String> listaSinaisSintomas;
+    private List<String> sinaisSintomasSelecionados;
+
+    private Caso caso;
+
+    private void populate() {
+        // Popula Caso
+        caso = (Caso) em.createQuery("From Caso where id=:pIDCaso")
+                            .setParameter("pIDCaso", (Long) getSession().getAttribute("casoSelecionado"))
+                            .getSingleResult();
+
+        // Popula Lista de Redes
+        Iterator<Rede> it = em.createQuery("From Rede Order By nome").getResultList().iterator();
+        listaRedesPaciente= new HashMap<String, String>();
+        while(it.hasNext()) {
+            Rede rede = it.next();
+            listaRedesPaciente.put(rede.getNome(), String.valueOf(rede.getId()));
+        }
+        
+        // Popula Lista de Pacientes
+        listaPacientes = caso.getPacientes();
+    }
+    
+    /** Creates a new instance of EditarCasoBean */
+    public EditarCasoBean() {
+        populate();
+    }
+
+    public void prepareAdicionarPaciente() {
+        redePaciente = idPaciente = null;
+        sexoPaciente = nomePaciente = "";
+        pesoPaciente = null;
+        idadePaciente= null;
+    }
+
+    public void adicionarPaciente() {
+        Rede rede = em.find(Rede.class, redePaciente);
+        em.getTransaction().begin();
+        Paciente paciente = new Paciente();
+        paciente.setNome(nomePaciente);
+        paciente.setIdade(idadePaciente);
+        paciente.setPeso(pesoPaciente);
+        paciente.setSexo(sexoPaciente);
+        paciente.setAltura(alturaPaciente);
+        paciente.setRede(rede);
+        paciente.setCaso(caso);
+        em.persist(paciente);
+        em.getTransaction().commit();
+        addInfoMessage("Paciente Adicionado!", "Paciente adicionado com sucesso!");
+        populate();
+    }
+    
+    public void selecionaPaciente() {
+        Paciente paciente = em.find(Paciente.class, Long.valueOf(getTextParameter("pIdPaciente")));
+        
+        Iterator<Nodo> it = em.createQuery("From Nodo Where rede.id=:pRedeID and tipo=:pTipo")
+                                .setParameter("pRedeID", paciente.getId())
+                                .setParameter("pTipo", Nodo.SINAL_SINTOMA)
+                                .getResultList()
+                                .iterator();
+        listaSinaisSintomas = new HashMap<String, String>();
+        while(it.hasNext()) {
+            Nodo nodo = it.next();
+            listaSinaisSintomas.put(nodo.getNomeAmigavel(), nodo.getNome());
+        }
+    }
+    
+    public Caso getCaso() {
+        return caso;
+    }
+
+    public void setCaso(Caso caso) {
+        this.caso = caso;
+    }
+
+    public Long getIdPaciente() {
+        return idPaciente;
+    }
+
+    public void setIdPaciente(Long idPaciente) {
+        this.idPaciente = idPaciente;
+    }
+
+    public Integer getIdadePaciente() {
+        return idadePaciente;
+    }
+
+    public void setIdadePaciente(Integer idadePaciente) {
+        this.idadePaciente = idadePaciente;
+    }
+
+
+    public String getNomePaciente() {
+        return nomePaciente;
+    }
+
+    public void setNomePaciente(String nomePaciente) {
+        this.nomePaciente = nomePaciente;
+    }
+
+    public Float getPesoPaciente() {
+        return pesoPaciente;
+    }
+
+    public void setPesoPaciente(Float pesoPaciente) {
+        this.pesoPaciente = pesoPaciente;
+    }
+
+    public Long getRedePaciente() {
+        return redePaciente;
+    }
+
+    public void setRedePaciente(Long redePaciente) {
+        this.redePaciente = redePaciente;
+    }
+
+    public String getSexoPaciente() {
+        return sexoPaciente;
+    }
+
+    public void setSexoPaciente(String sexoPaciente) {
+        this.sexoPaciente = sexoPaciente;
+    }
+
+    public Map<String, String> getListaRedesPaciente() {
+        return listaRedesPaciente;
+    }
+
+    public void setListaRedesPaciente(Map<String, String> listaRedesPaciente) {
+        this.listaRedesPaciente = listaRedesPaciente;
+    }
+
+    public List<Paciente> getListaPacientes() {
+        return listaPacientes;
+    }
+
+    public void setListaPacientes(List<Paciente> listaPacientes) {
+        this.listaPacientes = listaPacientes;
+    }
+
+    public Map<String, String> getListaSinaisSintomas() {
+        return listaSinaisSintomas;
+    }
+
+    public void setListaSinaisSintomas(Map<String, String> listaSinaisSintomas) {
+        this.listaSinaisSintomas = listaSinaisSintomas;
+    }
+
+    public List<String> getSinaisSintomasSelecionados() {
+        return sinaisSintomasSelecionados;
+    }
+
+    public void setSinaisSintomasSelecionados(List<String> sinaisSintomasSelecionados) {
+        this.sinaisSintomasSelecionados = sinaisSintomasSelecionados;
+    }
+
+
+    public String getRelato() {
+        return relato;
+    }
+
+    public void setRelato(String relato) {
+        this.relato = relato;
+    }
+
+    public Float getAlturaPaciente() {
+        return alturaPaciente;
+    }
+
+    public void setAlturaPaciente(Float alturaPaciente) {
+        this.alturaPaciente = alturaPaciente;
+    }
+
+    
+}
diff --git a/src/java/org/ufcspa/simdecs/mb/editarcasos/LoginBean.java b/src/java/org/ufcspa/simdecs/mb/editarcasos/LoginBean.java
new file mode 100644 (file)
index 0000000..7600b1c
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.mb.editarcasos;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.RequestScoped;
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.servlet.http.HttpSession;
+import org.ufcspa.simdecs.entities.Usuario;
+import org.ufcspa.simdecs.mb.DefaultManagedBean;
+import org.ufcspa.simdecs.util.DbUtil;
+
+/**
+ *
+ * @author maroni
+ */
+@ManagedBean
+@RequestScoped
+public class LoginBean extends DefaultManagedBean {
+
+
+    private String login;
+    private String senha;
+
+    public String getLogin() {
+        return login;
+    }
+
+    public void setLogin(String login) {
+        this.login = login;
+    }
+
+    public String getSenha() {
+        return senha;
+    }
+
+    public void setSenha(String senha) {
+        this.senha = senha;
+    }
+    
+    public String validadeLogin() {
+        try {
+            Usuario usuario = (Usuario) em.createQuery("From Usuario as Usu Where Usu.login=:pLogin and Usu.senha=:pSenha")
+                                            .setParameter("pLogin", login.toLowerCase())
+                                            .setParameter("pSenha", senha)
+                                            .getSingleResult();
+            
+            HttpSession session = getSession();
+            session.setAttribute("usuario", usuario);
+            session.setMaxInactiveInterval(-1);
+            return "editarcasos/selecioneCaso.jsf?faces-redirect=true";
+        } catch (NoResultException e) {
+                addInfoMessage("Usuário/Senha Inválidos", "Usuário/Senha Inválidos");
+                return null;
+        }
+    }
+    
+    
+    public LoginBean() {
+    }
+}
diff --git a/src/java/org/ufcspa/simdecs/mb/editarcasos/SelecioneCasoBean.java b/src/java/org/ufcspa/simdecs/mb/editarcasos/SelecioneCasoBean.java
new file mode 100644 (file)
index 0000000..96df97a
--- /dev/null
@@ -0,0 +1,173 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.mb.editarcasos;
+
+import java.util.List;
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.RequestScoped;
+import org.primefaces.component.commandbutton.CommandButton;
+import org.ufcspa.simdecs.entities.Caso;
+import org.ufcspa.simdecs.entities.Usuario;
+import org.ufcspa.simdecs.mb.DefaultManagedBean;
+
+
+/**
+ *
+ * @author maroni
+ */
+@ManagedBean
+@RequestScoped
+public class SelecioneCasoBean extends DefaultManagedBean {
+
+    private Long idCaso;
+    private String nomeUsuario;
+    private String nomeCaso;
+    private String textoInicial;
+    private String resumo;
+    private List<Caso> listaCasos;
+
+    public String getNomeUsuario() {
+        Usuario usuario = getUsuario();
+        if (usuario != null) {
+            return usuario.getNome();
+        } else
+            return null;
+    }
+
+    public void preparaNovoCaso() {
+        nomeCaso = textoInicial = resumo = "";
+        idCaso = null;
+
+        CommandButton buttonCriar    = (CommandButton) getComponentById("fEditarCaso:criar");
+        CommandButton buttonEditar   = (CommandButton) getComponentById("fEditarCaso:editar");
+        CommandButton buttonExcluir  = (CommandButton) getComponentById("fEditarCaso:excluir");
+
+        buttonCriar.setRendered(true);
+        buttonEditar.setRendered(false);
+        buttonExcluir.setRendered(false);
+    }
+    
+    public String criarNovoCaso() {
+        em.getTransaction().begin();
+        Usuario usuario = getUsuario();
+        
+        Caso caso = new Caso();
+        caso.setNome(nomeCaso);
+        caso.setResumo(resumo);
+        caso.setTextoInicial(textoInicial);
+        caso.setUsuario(usuario);
+        em.persist(caso);
+        
+        em.getTransaction().commit();
+        getSession().setAttribute("casoSelecionado", caso.getId());
+        
+        return "/editarcasos/editarCaso.jsf?faces-redirect=true&pIDCaso=";
+    }
+    
+    public String editarCaso() {
+
+        Caso caso = em.find(Caso.class, idCaso);
+
+        if (caso != null) {
+            em.getTransaction().begin();
+
+            caso.setNome(nomeCaso);
+            caso.setResumo(resumo);
+            caso.setTextoInicial(textoInicial);
+            em.persist(caso);
+
+            em.getTransaction().commit();
+        }
+        getSession().setAttribute("casoSelecionado", caso.getId());
+        
+        return "/editarcasos/editarCaso.jsf?faces-redirect=true";
+
+    }
+    
+    public void prepararEditarCasoClinico() {
+        Long id = Long.valueOf(getTextParameter("pIDCaso"));
+        Caso caso = (Caso) em.createQuery("From Caso Where id=:pIDCaso")
+          .setParameter("pIDCaso", id)
+          .getSingleResult();
+        
+        idCaso = id;
+        nomeCaso = caso.getNome();
+        textoInicial = caso.getTextoInicial();
+        resumo = caso.getResumo();
+        
+        CommandButton buttonCriar   = (CommandButton) getComponentById("fEditarCaso:criar");
+        CommandButton buttonEditar  = (CommandButton) getComponentById("fEditarCaso:editar");
+        CommandButton buttonExcluir = (CommandButton) getComponentById("fEditarCaso:excluir");
+        
+        buttonCriar.setRendered(false);
+        buttonEditar.setRendered(true);
+        buttonExcluir.setRendered(true);
+    }
+    
+    public void excluirCasoClinico() {
+        Long id = Long.valueOf(getTextParameter("pIDCaso"));
+        Caso caso = (Caso) em.createQuery("From Caso Where id=:pIDCaso")
+          .setParameter("pIDCaso", id)
+          .getSingleResult();
+        
+        em.getTransaction().begin();
+        em.remove(caso);
+        em.getTransaction().commit();
+        populateCasosClinicos();
+        addInfoMessage("Excluido!", "Caso clínico excluido com sucesso!");
+        
+    }
+    
+    public SelecioneCasoBean() {
+        populateCasosClinicos();
+    }
+
+    private void populateCasosClinicos() {
+        listaCasos = em.createQuery("From Caso Where usuario.id=:pIdUsuario Order By nome")
+          .setParameter("pIdUsuario", getUsuario().getId())
+          .getResultList();
+    }
+    
+    public List<Caso> getListaCasos() {
+        return listaCasos;
+    }
+
+    public void setListaCasos(List<Caso> listaCasos) {
+        this.listaCasos = listaCasos;
+    }    
+    
+    public String getNomeCaso() {
+        return nomeCaso;
+    }
+
+    public void setNomeCaso(String nomeCaso) {
+        this.nomeCaso = nomeCaso;
+    }
+
+    public String getResumo() {
+        return resumo;
+    }
+
+    public void setResumo(String resumo) {
+        this.resumo = resumo;
+    }
+
+    public String getTextoInicial() {
+        return textoInicial;
+    }
+
+    public void setTextoInicial(String textoInicial) {
+        this.textoInicial = textoInicial;
+    }
+
+    public Long getIdCaso() {
+        return idCaso;
+    }
+
+    public void setIdCaso(Long idCaso) {
+        this.idCaso = idCaso;
+    }
+
+}
diff --git a/src/java/org/ufcspa/simdecs/test/Teste.java b/src/java/org/ufcspa/simdecs/test/Teste.java
new file mode 100644 (file)
index 0000000..2754040
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.test;
+
+import java.io.File;
+import unbbayes.io.xmlbif.version4.XMLBIFIO;
+import unbbayes.prs.bn.ProbabilisticNetwork;
+import unbbayes.prs.bn.ProbabilisticNode;
+
+/**
+ *
+ * @author maroni
+ */
+public class Teste {
+
+    /**
+     * @param args
+     */
+    public static void main(String[] args) {
+        /*
+         * Carregando uma rede espec’fica
+         */
+        ProbabilisticNetwork rede = new ProbabilisticNetwork(null);
+        try {
+            XMLBIFIO.loadXML(new File("/Users/maroni/teste.xml"), rede);
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            System.exit(1);
+        }
+
+        /*
+         * Lendo um nodo espec’fico
+         * Pegando um nodo. Para trabalhar com a tabela de probabilidades,
+         * preciso que este nodo seja um ProbabilisticNode. Repare no typecasting 
+         */
+
+        ProbabilisticNode nodo = (ProbabilisticNode) rede.getNode("seizure");
+    }
+}
diff --git a/src/java/org/ufcspa/simdecs/util/DbUtil.java b/src/java/org/ufcspa/simdecs/util/DbUtil.java
new file mode 100644 (file)
index 0000000..4510115
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.ufcspa.simdecs.util;
+
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.Persistence;
+
+/**
+ *
+ * @author maroni
+ */
+public class DbUtil {
+
+    private static DbUtil dbUtil;
+    private EntityManager em;
+    
+    private DbUtil() {
+        EntityManagerFactory emf = Persistence.createEntityManagerFactory("SimDeCSPU");
+        em = emf.createEntityManager();
+    }
+    
+    public static DbUtil getInstance() {
+        if (dbUtil == null) 
+            dbUtil = new DbUtil();
+        
+        return dbUtil;
+    }
+
+    public EntityManager getEntityManager() {
+        return em;
+    }
+}
diff --git a/web/WEB-INF/web.xml b/web/WEB-INF/web.xml
new file mode 100644 (file)
index 0000000..8806522
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
+    <context-param>
+        <param-name>javax.faces.PROJECT_STAGE</param-name>
+        <param-value>Development</param-value>
+    </context-param>
+    <servlet>
+        <servlet-name>Faces Servlet</servlet-name>
+        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>Faces Servlet</servlet-name>
+        <url-pattern>*.jsf</url-pattern>
+    </servlet-mapping>
+    <session-config>
+        <session-timeout>
+            30
+        </session-timeout>
+    </session-config>
+    <welcome-file-list>
+        <welcome-file>login.jsf</welcome-file>
+    </welcome-file-list>
+    <filter>   
+        <filter-name>PrimeFaces FileUpload Filter</filter-name>        
+        <filter-class> 
+            org.primefaces.webapp.filter.FileUploadFilter
+        </filter-class>
+    </filter>  
+    <filter-mapping>   
+        <filter-name>PrimeFaces FileUpload Filter</filter-name>        
+        <servlet-name>Faces Servlet</servlet-name>
+    </filter-mapping>
+</web-app>
diff --git a/web/editarcasos/editarCaso.xhtml b/web/editarcasos/editarCaso.xhtml
new file mode 100644 (file)
index 0000000..0542a4a
--- /dev/null
@@ -0,0 +1,126 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:p="http://primefaces.prime.com.tr/ui"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:c="http://java.sun.com/jsp/jstl/core">
+    <h:head>
+        <title>SimDeCS - Selecione o Caso</title>
+        <link type="text/css" rel="stylesheet" href="../style.css" />
+    </h:head>
+    <h:body>
+        <p:ajaxStatus />
+        <p:growl id="messageGrow" showDetail="true" life="3000" />
+  
+        <p:panel id="pSelecionarPaciente" header="Seleção de Pacientes">
+            <h:form id="fPaciente">
+                Bem vindo ao caso clínico "<h:outputText value="#{editarCasoBean.caso.nome}" />"!<br/><br/>
+                Selecione abaixo um dos pacientes ou clique em "Adicionar novo paciente" para montagem do caso clínico.
+                <br/><br/>
+                <p:commandLink value="Adicionar novo paciente" oncomplete="pEditarPaciente.show()" actionListener="#{editarCasoBean.prepareAdicionarPaciente()}" />
+
+                <ui:repeat id="listaPacientes" value="#{editarCasoBean.listaPacientes}" var="paciente">
+                    <table border="0">
+                        <tr>
+                            <td align="center">
+                                <p:commandLink update="fMontarCaso" oncomplete="pMontarCaso.show();" actionListener="#{editarCasoBean.selecionaPaciente()}">
+                                    <f:param name="pIdPaciente" value="#{paciente.id}" />
+                                    <img src="../#{paciente.image}" border="0"/>
+                                </p:commandLink>
+                                <br/>
+                                <p:commandLink update="fMontarCaso" value="#{paciente.nome}" oncomplete="pMontarCaso.show();" actionListener="#{editarCasoBean.selecionaPaciente()}">
+                                    <f:param name="pIdPaciente" value="#{paciente.id}" />
+                                </p:commandLink>
+                            </td>
+                        </tr>
+                    </table>
+                </ui:repeat>
+            </h:form>
+        </p:panel>
+        <br/>
+        
+        <p:dialog id="pMontarCaso" modal="true" width="800" height="500" header="Montagem do Caso" widgetVar="pMontarCaso">
+            <h:form id="fMontarCaso">
+                <table border="0" width="100%">
+                    <tr>
+                        <th>Relato Inicial do Paciente</th>
+                    </tr>
+                    <tr>
+                        <td width="100%">
+                            <p:inputTextarea value="#{editarCasoBean.relato}" rows="4" style="width:100%;"/>
+                        </td>
+                    </tr>
+                    <tr>
+                        <th>Sinais e Sintomas apresentados</th>
+                    </tr>
+                    <tr>
+                        <td width="100%">                            
+                            <h:selectManyCheckbox value="#{editarCasoBean.sinaisSintomasSelecionados}" >
+                                <f:selectItems value="#{editarCasoBean.listaSinaisSintomas}" />
+                            </h:selectManyCheckbox>
+                        </td>
+                    </tr>
+                </table>
+            </h:form>            
+        </p:dialog>
+        
+        <p:dialog id="pEditarPaciente" widgetVar="pEditarPaciente" header="Paciente" modal="true" width="500" height="400">
+            <h:form id="fEditarPaciente">
+                <table border="0" width="100%">
+                    <tr>
+                        <th align="left">Nome:</th>
+                    </tr>
+                    <tr>
+                        <td><h:inputText value="#{editarCasoBean.nomePaciente}" style="width:100%" /></td>
+                    </tr>
+                    <tr>
+                        <th align="left">Idade</th>
+                    </tr>
+                    <tr>
+                        <td><h:inputText value="#{editarCasoBean.idadePaciente}" style="width:20%" /></td>
+                    </tr>
+                    <tr>
+                        <th align="left">Peso</th>
+                    </tr>
+                    <tr>
+                        <td><h:inputText value="#{editarCasoBean.pesoPaciente}" style="width:20%" /></td>
+                    </tr>
+                    <tr>
+                        <th align="left">Altura</th>
+                    </tr>
+                    <tr>
+                        <td><h:inputText value="#{editarCasoBean.alturaPaciente}" style="width:20%" /></td>
+                    </tr>
+                    <tr>
+                        <th align="left">Assunto Clínico</th>
+                    </tr>
+                    <tr>
+                        <td>
+                            <h:selectOneMenu value="#{editarCasoBean.redePaciente}" required="true">
+                                <f:selectItems value="#{editarCasoBean.listaRedesPaciente}" />  
+                            </h:selectOneMenu>
+                        </td>
+                    </tr>
+                    <tr>
+                        <th align="left">Sexo</th>
+                    </tr>
+                    <tr>
+                        <td>
+                            <h:selectOneMenu value="#{editarCasoBean.sexoPaciente}" required="true">
+                                <f:selectItem itemValue="M" itemLabel="Masculino" />  
+                                <f:selectItem itemValue="F" itemLabel="Feminino" />  
+                            </h:selectOneMenu>
+                        </td>
+                    </tr>
+                </table>
+                <p:commandButton id="criar" update="pSelecionarPaciente, listaPacientes, messageGrow" oncomplete="pEditarPaciente.hide();" action="#{editarCasoBean.adicionarPaciente()}" value="Criar o novo paciente" />
+                &nbsp;&nbsp;&nbsp;
+                <p:commandButton onclick="pEditarPaciente.hide();" value="Cancelar" type="button" />
+                
+            </h:form>
+        </p:dialog>
+    </h:body>
+</html>
+
diff --git a/web/editarcasos/selecioneCaso.xhtml b/web/editarcasos/selecioneCaso.xhtml
new file mode 100644 (file)
index 0000000..ec35611
--- /dev/null
@@ -0,0 +1,83 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:p="http://primefaces.prime.com.tr/ui"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:ui="http://java.sun.com/jsf/facelets">
+    <h:head>
+        <title>SimDeCS - Selecione o Caso</title>
+        <link type="text/css" rel="stylesheet" href="../style.css" />
+    </h:head>
+    <h:body>
+        <p:ajaxStatus />
+        <p:growl id="messageGrow1" showDetail="true" life="3000" />
+
+        <p:panel header="Seleção de Caso Clínico">
+            <h:form id="fSelecionaCaso">
+                Olá <h:outputLabel value="#{selecioneCasoBean.nomeUsuario}" />! Seja bem vindo ao simulador de casos clínicos SimDeCS.
+                <br /> <br />
+                Selecione abaixo o caso clínico com o qual deseja trabalhar ou clique em "Criar um novo caso clínico".
+                <br /> <br />
+                <br />
+                <h2>Selecione o caso clínico:</h2>
+                <ul>
+                    <ui:repeat id="listaCasos" var="caso" value="#{selecioneCasoBean.listaCasos}">
+                        <li>
+                            <p:commandLink update="fEditarCaso" oncomplete="dialogEditarCaso.show()" actionListener="#{selecioneCasoBean.prepararEditarCasoClinico()}" value="#{caso.nome}" title="Editar Caso Clínico">
+                                <f:param name="pIDCaso" value="#{caso.id}" />
+                            </p:commandLink>
+                        </li>
+                    </ui:repeat>
+                    <li>
+                        <p:commandLink oncomplete="dialogEditarCaso.show();" actionListener="#{selecioneCasoBean.preparaNovoCaso()}" update="fEditarCaso" >
+                            Criar um novo caso clínico
+                        </p:commandLink>
+                    </li>
+                </ul>
+                <br />
+                <br />
+            </h:form>
+        </p:panel>
+        
+        <p:dialog id="dialogEditarCaso" header="Criar um novo caso clínico" widgetVar="dialogEditarCaso" height="380" width="600"  modal="true">
+            <h:form id="fEditarCaso">
+                <h:inputHidden value="#{selecioneCasoBean.idCaso}" />
+                <table border="0" width="100%">
+                    <tr>
+                        <th align="left">Nome do Caso</th>
+                    </tr>
+                    <tr>
+                        <td><h:inputText value="#{selecioneCasoBean.nomeCaso}" style="width:100%" /></td>
+                    </tr>
+                    <tr>
+                        <th align="left">Resumo</th>
+                    </tr>
+                    <tr>
+                        <td><h:inputTextarea value="#{selecioneCasoBean.resumo}" rows="5" style="width:100%" /></td>
+                    </tr>
+                    <tr>
+                        <th align="left">Texto Inicial</th>
+                    </tr>
+                    <tr>
+                        <td><h:inputTextarea value="#{selecioneCasoBean.textoInicial}" rows="5" style="width:100%" /></td>
+                    </tr>
+                </table>
+                <center>                 
+                    <p:commandButton id="criar" action="#{selecioneCasoBean.criarNovoCaso()}" value="Criar o novo caso" />
+                    &nbsp;&nbsp;&nbsp;
+                    <p:commandButton id="editar" action="#{selecioneCasoBean.editarCaso()}" value="Editar o Caso" ajax="false" />
+                    &nbsp;&nbsp;&nbsp;
+                    <p:commandButton onclick="dialogEditarCaso.hide();" value="Cancelar" type="button" />
+                    &nbsp;&nbsp;&nbsp;
+                    <p:commandButton id="excluir" update="listaCasos" actionListener="#{selecioneCasoBean.excluirCasoClinico()}" value="Excluir" title="Excluir Caso Clínico" ajax="false">  
+                        <f:param name="pIDCaso" value="#{selecioneCasoBean.idCaso}" />
+                    </p:commandButton>
+                </center>
+            </h:form>
+        </p:dialog>
+        
+        
+    </h:body>
+</html>
+
diff --git a/web/img/background.gif b/web/img/background.gif
new file mode 100755 (executable)
index 0000000..3b697ce
Binary files /dev/null and b/web/img/background.gif differ
diff --git a/web/img/patientFemale.png b/web/img/patientFemale.png
new file mode 100755 (executable)
index 0000000..99d9fb6
Binary files /dev/null and b/web/img/patientFemale.png differ
diff --git a/web/img/patientMale.png b/web/img/patientMale.png
new file mode 100755 (executable)
index 0000000..f96304d
Binary files /dev/null and b/web/img/patientMale.png differ
diff --git a/web/img/plus.png b/web/img/plus.png
new file mode 100755 (executable)
index 0000000..88c42b0
Binary files /dev/null and b/web/img/plus.png differ
diff --git a/web/login.xhtml b/web/login.xhtml
new file mode 100644 (file)
index 0000000..3c24551
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:p="http://primefaces.prime.com.tr/ui"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core">
+    <h:head>
+        <title>SimDeCS - Login</title>
+        <link type="text/css" rel="stylesheet" href="style.css" />
+    </h:head>
+    <h:body>
+        <br/><br/><br/><br/>
+        <center>
+            <p:panel header="Acesso ao SimDeCS" style="width:400px;">
+                <h:form id="flogin">
+                    <center>
+                        <p:ajaxStatus />
+                        <p:growl id="messageGrow1" showDetail="true" life="3000" />
+
+                        <table border="0">
+                            <tr>
+                                <th>Usuário:</th>
+                                <td><h:inputText id="login"  value="#{loginBean.login}" /></td>
+                            </tr>
+                            <tr>
+                                <th>Senha:</th>
+                                <td><h:inputSecret id="senha"  value="#{loginBean.senha}" /></td>
+                            </tr>                
+                        </table> 
+                        <h:commandButton action="#{loginBean.validadeLogin()}" value="Login"/>
+                    </center>
+                </h:form>
+            </p:panel>
+        </center>
+    </h:body>
+</html>
+
diff --git a/web/modelo.xsd b/web/modelo.xsd
new file mode 100644 (file)
index 0000000..b6890df
--- /dev/null
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="utf-16"?>
+<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <xsd:element name="mstns:BIF">
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:element name="mstns:HEADER">
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element name="mstns:NAME" type="xsd:string" />
+              <xsd:element name="mstns:VERSION" type="xsd:int" />
+              <xsd:element name="mstns:CREATOR" type="xsd:string" />
+            </xsd:sequence>
+          </xsd:complexType>
+        </xsd:element>
+        <xsd:element name="mstns:STATICPROPERTY">
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element name="mstns:NODESIZE" type="xsd:int" />
+              <xsd:element name="mstns:NODEFONTSIZE" type="xsd:int" />
+              <xsd:element name="mstns:COLORUTILITY" type="xsd:int" />
+              <xsd:element name="mstns:COLORDECISION" type="xsd:int" />
+              <xsd:element name="mstns:COLORPROBDESCRIPTION" type="xsd:int" />
+              <xsd:element name="mstns:COLORPROBEXPLANATION" type="xsd:int" />
+            </xsd:sequence>
+          </xsd:complexType>
+        </xsd:element>
+        <xsd:element name="mstns:HIERARCHY">
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element name="mstns:ROOT">
+                <xsd:complexType>
+                  <xsd:sequence>
+                    <xsd:element name="mstns:LEVEL">
+                      <xsd:complexType>
+                        <xsd:attribute name="NAME" type="xsd:string" />
+                      </xsd:complexType>
+                    </xsd:element>
+                  </xsd:sequence>
+                  <xsd:attribute name="NAME" type="xsd:string" />
+                </xsd:complexType>
+              </xsd:element>
+            </xsd:sequence>
+          </xsd:complexType>
+        </xsd:element>
+        <xsd:element name="mstns:NETWORK">
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element name="mstns:VARIABLES">
+                <xsd:complexType>
+                  <xsd:sequence>
+                    <xsd:element name="mstns:VAR">
+                      <xsd:complexType>
+                        <xsd:sequence>
+                          <xsd:element name="mstns:LABEL" type="xsd:string" />
+                          <xsd:element name="mstns:STATENAME" type="xsd:string" />
+                        </xsd:sequence>
+                        <xsd:attribute name="YPOS" type="xsd:int" />
+                        <xsd:attribute name="XPOS" type="xsd:int" />
+                        <xsd:attribute name="TYPE" type="xsd:string" />
+                        <xsd:attribute name="NAME" type="xsd:string" />
+                      </xsd:complexType>
+                    </xsd:element>
+                  </xsd:sequence>
+                </xsd:complexType>
+              </xsd:element>
+              <xsd:element name="mstns:STRUCTURE">
+                <xsd:complexType>
+                  <xsd:sequence>
+                    <xsd:element name="mstns:ARC">
+                      <xsd:complexType>
+                        <xsd:attribute name="CHILD" type="xsd:string" />
+                        <xsd:attribute name="PARENT" type="xsd:string" />
+                      </xsd:complexType>
+                    </xsd:element>
+                  </xsd:sequence>
+                </xsd:complexType>
+              </xsd:element>
+              <xsd:element name="mstns:POTENTIAL">
+                <xsd:complexType>
+                  <xsd:sequence>
+                    <xsd:element name="mstns:POT">
+                      <xsd:complexType>
+                        <xsd:sequence>
+                          <xsd:element name="mstns:PRIVATE">
+                            <xsd:complexType>
+                              <xsd:attribute name="NAME" type="xsd:string" />
+                            </xsd:complexType>
+                          </xsd:element>
+                          <xsd:element name="mstns:CONDSET">
+                            <xsd:complexType>
+                              <xsd:sequence>
+                                <xsd:element name="mstns:CONDLEM">
+                                  <xsd:complexType>
+                                    <xsd:attribute name="NAME" type="xsd:string" />
+                                  </xsd:complexType>
+                                </xsd:element>
+                              </xsd:sequence>
+                            </xsd:complexType>
+                          </xsd:element>
+                          <xsd:element name="mstns:DPIS">
+                            <xsd:complexType>
+                              <xsd:sequence>
+                                <xsd:element name="mstns:DPI">
+                                  <xsd:complexType>
+                                    <xsd:attribute name="INDEXES" type="xsd:int" />
+                                  </xsd:complexType>
+                                </xsd:element>
+                              </xsd:sequence>
+                            </xsd:complexType>
+                          </xsd:element>
+                        </xsd:sequence>
+                      </xsd:complexType>
+                    </xsd:element>
+                  </xsd:sequence>
+                </xsd:complexType>
+              </xsd:element>
+            </xsd:sequence>
+          </xsd:complexType>
+        </xsd:element>
+      </xsd:sequence>
+      <xsd:attribute name="VERSION" type="xsd:int" />
+    </xsd:complexType>
+  </xsd:element>
+</xsd:schema>
\ No newline at end of file
diff --git a/web/rede/index.xhtml b/web/rede/index.xhtml
new file mode 100644 (file)
index 0000000..b97f284
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:p="http://primefaces.prime.com.tr/ui"
+      xmlns:h="http://java.sun.com/jsf/html">
+    <h:head>
+        <title>Facelet Title</title>
+    </h:head>
+    <h:body>
+        Hello from Facelets
+        <h:form enctype="multipart/form-data">
+            <p:fileUpload fileUploadListener="#{fileUploadController.handleFileUpload}"
+                          update="messages"/>
+
+            <p:growl id="messages" showDetail="true"/>
+
+        </h:form>
+    </h:body>
+</html>
+
diff --git a/web/style.css b/web/style.css
new file mode 100644 (file)
index 0000000..08a2be3
--- /dev/null
@@ -0,0 +1,50 @@
+/* 
+    Document   : style
+    Created on : 25/01/2012, 08:55:06
+    Author     : maroni
+    Description:
+        Purpose of the stylesheet follows.
+*/
+
+/* 
+   TODO customize this sample style
+   Syntax recommendation http://www.w3.org/TR/REC-CSS2/
+*/
+
+root { 
+    display: block;
+}
+
+body {
+    font-size: 12px;
+    font-family: Verdana,Arial,Helvetica,sans-serif;
+    background-image: url(img/background.gif) 
+}
+
+a:link {
+    color: blue;
+}
+
+a:visited {
+    color: blue;
+}
+
+a:hover {
+    color: blue;
+}
+
+a:active {
+    color: blue;
+}
+
+h1 {
+    font-size: 16px;
+}
+
+h2 {
+    font-size: 13px;
+}
+
+.ui-datalist-data {
+    border: 0px;
+}
\ No newline at end of file
diff --git a/web/teste.xsd b/web/teste.xsd
new file mode 100644 (file)
index 0000000..7f55c81
--- /dev/null
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="utf-16"?>
+<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <xsd:element name="xbifns:XMLBIF" type="xbifns:XMLBIFType" />
+  <xsd:complexType name="xbifns:XMLBIFType">
+    <xsd:sequence>
+      <xsd:element name="xbifns:header" type="xbifns:headerType" />
+      <xsd:element name="xbifns:staticProperty" type="xbifns:staticPropertyType" />
+      <xsd:element name="xbifns:hierarchy" type="xbifns:hierarchyType" />
+      <xsd:element name="xbifns:network" type="xbifns:networkType" />
+    </xsd:sequence>
+    <xsd:attribute name="version" type="xsd:decimal" />
+  </xsd:complexType>
+  <xsd:complexType name="xbifns:networkType">
+    <xsd:sequence>
+      <xsd:element name="xbifns:variables" type="xbifns:variablesType" />
+      <xsd:element name="xbifns:structure" type="xbifns:structureType" />
+      <xsd:element name="xbifns:conditionalDistributionSet" type="xbifns:conditionalDistributionSetType" />
+    </xsd:sequence>
+  </xsd:complexType>
+  <xsd:complexType name="xbifns:conditionalDistributionSetType">
+    <xsd:sequence>
+      <xsd:element name="xbifns:conditionalDistribution" type="xbifns:conditionalDistributionType" />
+    </xsd:sequence>
+  </xsd:complexType>
+  <xsd:complexType name="xbifns:conditionalDistributionType">
+    <xsd:sequence>
+      <xsd:element name="xbifns:owner" type="xbifns:ownerType" />
+      <xsd:element name="xbifns:CPT" type="xbifns:CPTType" />
+    </xsd:sequence>
+    <xsd:attribute name="type" type="xsd:string" />
+  </xsd:complexType>
+  <xsd:complexType name="xbifns:CPTType">
+    <xsd:sequence>
+      <xsd:element name="xbifns:dependentParentIndex" type="xbifns:dependentParentIndexType" />
+    </xsd:sequence>
+  </xsd:complexType>
+  <xsd:complexType name="xbifns:dependentParentIndexType">
+    <xsd:attribute name="index" type="xsd:int" />
+  </xsd:complexType>
+  <xsd:complexType name="xbifns:ownerType">
+    <xsd:attribute name="name" type="xsd:string" />
+  </xsd:complexType>
+  <xsd:complexType name="xbifns:structureType">
+    <xsd:sequence>
+      <xsd:element name="xbifns:edge" type="xbifns:edgeType" />
+    </xsd:sequence>
+  </xsd:complexType>
+  <xsd:complexType name="xbifns:edgeType">
+    <xsd:attribute name="child" type="xsd:string" />
+    <xsd:attribute name="parent" type="xsd:string" />
+  </xsd:complexType>
+  <xsd:complexType name="xbifns:variablesType">
+    <xsd:sequence>
+      <xsd:element name="xbifns:variable" type="xbifns:variableType" />
+    </xsd:sequence>
+  </xsd:complexType>
+  <xsd:complexType name="xbifns:variableType">
+    <xsd:sequence>
+      <xsd:element name="xbifns:description" type="xsd:string" />
+      <xsd:element name="xbifns:state" type="xbifns:stateType" />
+    </xsd:sequence>
+    <xsd:attribute name="rgbColor" type="xsd:int" />
+    <xsd:attribute name="height" type="xsd:decimal" />
+    <xsd:attribute name="width" type="xsd:decimal" />
+    <xsd:attribute name="yPos" type="xsd:int" />
+    <xsd:attribute name="xPos" type="xsd:int" />
+    <xsd:attribute name="type" type="xsd:string" />
+    <xsd:attribute name="name" type="xsd:string" />
+  </xsd:complexType>
+  <xsd:complexType name="xbifns:stateType">
+    <xsd:attribute name="name" type="xsd:string" />
+  </xsd:complexType>
+  <xsd:complexType name="xbifns:hierarchyType">
+    <xsd:sequence>
+      <xsd:element name="xbifns:root" type="xbifns:rootType" />
+    </xsd:sequence>
+  </xsd:complexType>
+  <xsd:complexType name="xbifns:rootType">
+    <xsd:sequence>
+      <xsd:element name="xbifns:level" type="xbifns:levelType" />
+    </xsd:sequence>
+    <xsd:attribute name="name" type="xsd:string" />
+  </xsd:complexType>
+  <xsd:complexType name="xbifns:levelType">
+    <xsd:attribute name="name" type="xsd:string" />
+  </xsd:complexType>
+  <xsd:complexType name="xbifns:staticPropertyType">
+    <xsd:sequence>
+      <xsd:element name="xbifns:nodeSize" type="xsd:int" />
+      <xsd:element name="xbifns:nodeFontSize" type="xsd:int" />
+      <xsd:element name="xbifns:colorUtilityNode" type="xsd:int" />
+      <xsd:element name="xbifns:colorDecisionNode" type="xsd:int" />
+      <xsd:element name="xbifns:colorDiscreteProbabilisticNode" type="xsd:int" />
+      <xsd:element name="xbifns:colorContinuousProbilisticNode" type="xsd:int" />
+      <xsd:element name="xbifns:colorExplanationNode" type="xsd:int" />
+    </xsd:sequence>
+  </xsd:complexType>
+  <xsd:complexType name="xbifns:headerType">
+    <xsd:sequence>
+      <xsd:element name="xbifns:version" type="xsd:decimal" />
+      <xsd:element name="xbifns:name" type="xsd:string" />
+      <xsd:element name="xbifns:creator" type="xsd:string" />
+    </xsd:sequence>
+  </xsd:complexType>
+</xsd:schema>
\ No newline at end of file