Initial import.
authorMichele Silva <michele.silva@gmail.com>
Wed, 26 Oct 2011 16:46:32 +0000 (14:46 -0200)
committerMichele Silva <michele.silva@gmail.com>
Wed, 26 Oct 2011 16:46:32 +0000 (14:46 -0200)
201 files changed:
SimDeCS/.classpath [new file with mode: 0644]
SimDeCS/.project [new file with mode: 0644]
SimDeCS/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
SimDeCS/.settings/org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs [new file with mode: 0644]
SimDeCS/.settings/org.eclipse.wst.common.component [new file with mode: 0644]
SimDeCS/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml [new file with mode: 0644]
SimDeCS/.settings/org.eclipse.wst.common.project.facet.core.xml [new file with mode: 0644]
SimDeCS/.settings/org.eclipse.wst.xsl.core.prefs [new file with mode: 0644]
SimDeCS/.settings/org.hibernate.eclipse.console.prefs [new file with mode: 0644]
SimDeCS/.settings/org.jboss.ide.eclipse.as.core.prefs [new file with mode: 0644]
SimDeCS/.settings/org.jboss.tools.seam.core.prefs [new file with mode: 0644]
SimDeCS/SimDeCS.launch [new file with mode: 0644]
SimDeCS/WebContent/META-INF/MANIFEST.MF [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/SimDeCS-ds.xml [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/components.xml [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/faces-config.xml [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/jboss-web.xml [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/antlr-runtime.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/commons-beanutils.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/commons-digester.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/core.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/drools-api.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/drools-compiler.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/drools-core.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/itext-rtf.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/itext.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/jboss-el.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/jboss-seam-debug.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/jboss-seam-excel.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/jboss-seam-ioc.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/jboss-seam-mail.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/jboss-seam-pdf.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/jboss-seam-remoting.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/jboss-seam-ui.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/jboss-seam.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/jbpm-jpdl.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/jcommon.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/jfreechart.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/jsf-facelets.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/jxl.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/mvel2.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/richfaces-api.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/richfaces-impl.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/lib/richfaces-ui.jar [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/pages.xml [new file with mode: 0644]
SimDeCS/WebContent/WEB-INF/web.xml [new file with mode: 0644]
SimDeCS/WebContent/error.xhtml [new file with mode: 0644]
SimDeCS/WebContent/home.xhtml [new file with mode: 0644]
SimDeCS/WebContent/img/btnmanageroles.png [new file with mode: 0644]
SimDeCS/WebContent/img/btnmanageusers.png [new file with mode: 0644]
SimDeCS/WebContent/img/btnnewpermission.png [new file with mode: 0644]
SimDeCS/WebContent/img/btnnewrole.png [new file with mode: 0644]
SimDeCS/WebContent/img/btnnewuser.png [new file with mode: 0644]
SimDeCS/WebContent/img/dtpick.gif [new file with mode: 0644]
SimDeCS/WebContent/img/error.gif [new file with mode: 0644]
SimDeCS/WebContent/img/false.png [new file with mode: 0644]
SimDeCS/WebContent/img/manytoone.gif [new file with mode: 0644]
SimDeCS/WebContent/img/msgerror.png [new file with mode: 0644]
SimDeCS/WebContent/img/msginfo.png [new file with mode: 0644]
SimDeCS/WebContent/img/msgwarn.png [new file with mode: 0644]
SimDeCS/WebContent/img/onetomany.gif [new file with mode: 0644]
SimDeCS/WebContent/img/seamlogo.png [new file with mode: 0644]
SimDeCS/WebContent/img/simdecs-logo.png [new file with mode: 0644]
SimDeCS/WebContent/img/true.png [new file with mode: 0644]
SimDeCS/WebContent/img/unasus.jpg [new file with mode: 0644]
SimDeCS/WebContent/img/vrmed/bodyEditarDiagrama.png [new file with mode: 0644]
SimDeCS/WebContent/img/vrmed/bodyExcluirDiagrama.png [new file with mode: 0644]
SimDeCS/WebContent/img/vrmed/bodyNovoDiagrama.png [new file with mode: 0644]
SimDeCS/WebContent/img/vrmed/cenarios/cenarioCasa.png [new file with mode: 0644]
SimDeCS/WebContent/img/vrmed/cenarios/cenarioHospital.png [new file with mode: 0644]
SimDeCS/WebContent/img/vrmed/cenarios/cenarioUBS.png [new file with mode: 0644]
SimDeCS/WebContent/img/vrmed/footerEditarDiagrama.png [new file with mode: 0644]
SimDeCS/WebContent/img/vrmed/footerExcluirDiagrama.png [new file with mode: 0644]
SimDeCS/WebContent/img/vrmed/footerNovoDiagrama.png [new file with mode: 0644]
SimDeCS/WebContent/img/vrmed/headerEditarDiagrama.png [new file with mode: 0644]
SimDeCS/WebContent/img/vrmed/headerExcluirDiagrama.png [new file with mode: 0644]
SimDeCS/WebContent/img/vrmed/headerNovoDiagrama.png [new file with mode: 0644]
SimDeCS/WebContent/img/vrmed/inteira.png [new file with mode: 0644]
SimDeCS/WebContent/index.html [new file with mode: 0644]
SimDeCS/WebContent/layout/display.xhtml [new file with mode: 0644]
SimDeCS/WebContent/layout/edit.xhtml [new file with mode: 0644]
SimDeCS/WebContent/layout/menu.xhtml [new file with mode: 0644]
SimDeCS/WebContent/layout/sort.xhtml [new file with mode: 0644]
SimDeCS/WebContent/layout/template.xhtml [new file with mode: 0644]
SimDeCS/WebContent/login.page.xml [new file with mode: 0644]
SimDeCS/WebContent/login.xhtml [new file with mode: 0644]
SimDeCS/WebContent/projectConverter.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/grupo/Grupo.page.xml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/grupo/Grupo.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/grupo/GrupoEdit.page.xml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/grupo/GrupoEdit.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/grupo/GrupoList.page.xml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/grupo/GrupoList.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/instituicao/Instituicao.page.xml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/instituicao/Instituicao.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/instituicao/InstituicaoEdit.page.xml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/instituicao/InstituicaoEdit.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/instituicao/InstituicaoList.page.xml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/instituicao/InstituicaoList.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/privilegio/Privilegio.page.xml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/privilegio/Privilegio.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/privilegio/PrivilegioEdit.page.xml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/privilegio/PrivilegioEdit.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/privilegio/PrivilegioList.page.xml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/privilegio/PrivilegioList.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/regra/Regra.page.xml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/regra/Regra.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/regra/RegraEdit.page.xml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/regra/RegraEdit.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/regra/RegraList.page.xml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/regra/RegraList.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/usuario/Usuario.page.xml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/usuario/Usuario.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/usuario/UsuarioEdit.page.xml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/usuario/UsuarioEdit.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/usuario/UsuarioList.page.xml [new file with mode: 0644]
SimDeCS/WebContent/seguro/admin/usuario/UsuarioList.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/vrmed/criarNovoDiagrama.xhtml [new file with mode: 0644]
SimDeCS/WebContent/seguro/vrmed/selecionarDiagrama.page.xml [new file with mode: 0644]
SimDeCS/WebContent/seguro/vrmed/selecionarDiagrama.xhtml [new file with mode: 0644]
SimDeCS/WebContent/stylesheet/theme.css [new file with mode: 0644]
SimDeCS/WebContent/stylesheet/theme.xcss [new file with mode: 0644]
SimDeCS/WebContent/stylesheet/useradmin.css [new file with mode: 0644]
SimDeCS/hibernate-console.properties [new file with mode: 0644]
SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/Authenticator.java [new file with mode: 0644]
SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/GrupoHome.java [new file with mode: 0644]
SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/GrupoList.java [new file with mode: 0644]
SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/InstituicaoHome.java [new file with mode: 0644]
SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/InstituicaoList.java [new file with mode: 0644]
SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/PrivilegioHome.java [new file with mode: 0644]
SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/PrivilegioList.java [new file with mode: 0644]
SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/RegraHome.java [new file with mode: 0644]
SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/RegraList.java [new file with mode: 0644]
SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioGrupoList.java [new file with mode: 0644]
SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioHome.java [new file with mode: 0644]
SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioList.java [new file with mode: 0644]
SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/defaults/SimDeCSEntityHome.java [new file with mode: 0644]
SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/defaults/SimDeCSEntityQuery.java [new file with mode: 0644]
SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/vrmed/SelecionarDiagrama.java [new file with mode: 0644]
SimDeCS/resources/src/hot/seam.properties [new file with mode: 0644]
SimDeCS/resources/src/main/META-INF/persistence.xml [new file with mode: 0644]
SimDeCS/resources/src/main/components.properties [new file with mode: 0644]
SimDeCS/resources/src/main/import.sql [new file with mode: 0644]
SimDeCS/resources/src/main/messages_en.properties [new file with mode: 0644]
SimDeCS/resources/src/main/messages_pt_BR.properties [new file with mode: 0644]
SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Ator.java [new file with mode: 0644]
SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Avatar.java [new file with mode: 0644]
SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/CasoClinico.java [new file with mode: 0644]
SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Cenario.java [new file with mode: 0644]
SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/FaixaEtaria.java [new file with mode: 0644]
SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Grupo.java [new file with mode: 0644]
SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Instituicao.java [new file with mode: 0644]
SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Privilegio.java [new file with mode: 0644]
SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Rede.java [new file with mode: 0644]
SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Regra.java [new file with mode: 0644]
SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Usuario.java [new file with mode: 0644]
SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/exceptions/InvalidDomainException.java [new file with mode: 0644]
SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/exceptions/InvalidSexoException.java [new file with mode: 0644]
SimDeCS/resources/src/main/seam.properties [new file with mode: 0644]
SimDeCS/resources/src/main/security.drl [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/Authenticator.java [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/Bean.java [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/GrupoHome.java [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/GrupoList.java [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/InstituicaoHome.java [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/InstituicaoList.java [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/ListBeanPendente.java [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/PrivilegioHome.java [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/PrivilegioList.java [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/RegraHome.java [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/RegraList.java [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioGrupoList.java [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioHome.java [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioLisGrupoPickList.java [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioList.java [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/defaults/SimDeCSEntityHome.java [new file with mode: 0644]
SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/defaults/SimDeCSEntityQuery.java [new file with mode: 0644]
SimDeCS/src/hot/seam.properties [new file with mode: 0644]
SimDeCS/src/main/META-INF/persistence.xml [new file with mode: 0644]
SimDeCS/src/main/components.properties [new file with mode: 0644]
SimDeCS/src/main/import.sql [new file with mode: 0644]
SimDeCS/src/main/messages_en.properties [new file with mode: 0644]
SimDeCS/src/main/messages_pt_BR.properties [new file with mode: 0644]
SimDeCS/src/main/org/ufcspa/simdecs/entities/Ator.java [new file with mode: 0644]
SimDeCS/src/main/org/ufcspa/simdecs/entities/Avatar.java [new file with mode: 0644]
SimDeCS/src/main/org/ufcspa/simdecs/entities/CasoClinico.java [new file with mode: 0644]
SimDeCS/src/main/org/ufcspa/simdecs/entities/Cenario.java [new file with mode: 0644]
SimDeCS/src/main/org/ufcspa/simdecs/entities/FaixaEtaria.java [new file with mode: 0644]
SimDeCS/src/main/org/ufcspa/simdecs/entities/Grupo.java [new file with mode: 0644]
SimDeCS/src/main/org/ufcspa/simdecs/entities/Instituicao.java [new file with mode: 0644]
SimDeCS/src/main/org/ufcspa/simdecs/entities/Nodo.java [new file with mode: 0644]
SimDeCS/src/main/org/ufcspa/simdecs/entities/PerguntaNodo.java [new file with mode: 0644]
SimDeCS/src/main/org/ufcspa/simdecs/entities/Privilegio.java [new file with mode: 0644]
SimDeCS/src/main/org/ufcspa/simdecs/entities/Rede.java [new file with mode: 0644]
SimDeCS/src/main/org/ufcspa/simdecs/entities/Regra.java [new file with mode: 0644]
SimDeCS/src/main/org/ufcspa/simdecs/entities/RespostaNodo.java [new file with mode: 0644]
SimDeCS/src/main/org/ufcspa/simdecs/entities/Usuario.java [new file with mode: 0644]
SimDeCS/src/main/org/ufcspa/simdecs/entities/exceptions/InvalidDomainException.java [new file with mode: 0644]
SimDeCS/src/main/org/ufcspa/simdecs/entities/exceptions/InvalidSexoException.java [new file with mode: 0644]
SimDeCS/src/main/seam.properties [new file with mode: 0644]
SimDeCS/src/main/security.drl [new file with mode: 0644]

diff --git a/SimDeCS/.classpath b/SimDeCS/.classpath
new file mode 100644 (file)
index 0000000..e86686f
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+       <classpathentry kind="src" output="WebContent/WEB-INF/dev" path="src/hot"/>\r
+       <classpathentry kind="src" path="src/main"/>\r
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre6">\r
+               <attributes>\r
+                       <attribute name="owner.project.facets" value="java"/>\r
+               </attributes>\r
+       </classpathentry>\r
+       <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.jboss.ide.eclipse.as.core.server.runtime.runtimeTarget/JBoss 5.1 Runtime">\r
+               <attributes>\r
+                       <attribute name="owner.project.facets" value="jst.web;jst.jsf"/>\r
+               </attributes>\r
+       </classpathentry>\r
+       <classpathentry exported="true" kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>\r
+       <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>\r
+       <classpathentry kind="output" path="build/classes"/>\r
+</classpath>\r
diff --git a/SimDeCS/.project b/SimDeCS/.project
new file mode 100644 (file)
index 0000000..4bba974
--- /dev/null
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<projectDescription>\r
+       <name>SimDeCS</name>\r
+       <comment></comment>\r
+       <projects>\r
+       </projects>\r
+       <buildSpec>\r
+               <buildCommand>\r
+                       <name>org.eclipse.jdt.core.javabuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>org.eclipse.wst.common.project.facet.core.builder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>org.jboss.tools.jst.web.kb.kbbuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>org.jboss.tools.seam.core.seambuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>org.hibernate.eclipse.console.hibernateBuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>org.eclipse.wst.validation.validationbuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+       </buildSpec>\r
+       <natures>\r
+               <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>\r
+               <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>\r
+               <nature>org.eclipse.wst.common.project.facet.core.nature</nature>\r
+               <nature>org.eclipse.jdt.core.javanature</nature>\r
+               <nature>org.jboss.tools.jsf.jsfnature</nature>\r
+               <nature>org.jboss.tools.jst.web.kb.kbnature</nature>\r
+               <nature>org.jboss.tools.seam.core.seamnature</nature>\r
+               <nature>org.hibernate.eclipse.console.hibernateNature</nature>\r
+       </natures>\r
+</projectDescription>\r
diff --git a/SimDeCS/.settings/org.eclipse.jdt.core.prefs b/SimDeCS/.settings/org.eclipse.jdt.core.prefs
new file mode 100644 (file)
index 0000000..cbda75d
--- /dev/null
@@ -0,0 +1,12 @@
+#Sat Aug 13 08:15:35 BRT 2011\r
+eclipse.preferences.version=1\r
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled\r
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5\r
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve\r
+org.eclipse.jdt.core.compiler.compliance=1.5\r
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate\r
+org.eclipse.jdt.core.compiler.debug.localVariable=generate\r
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate\r
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error\r
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error\r
+org.eclipse.jdt.core.compiler.source=1.5\r
diff --git a/SimDeCS/.settings/org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs b/SimDeCS/.settings/org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs
new file mode 100644 (file)
index 0000000..38989f5
--- /dev/null
@@ -0,0 +1,6 @@
+#Sat Aug 13 08:25:30 BRT 2011\r
+XDOCLETBUILDERACTIVE=true\r
+XDOCLETHOME=\r
+XDOCLETUSEGLOBAL=true\r
+XDOCLETVERSION=1.2.1\r
+eclipse.preferences.version=1\r
diff --git a/SimDeCS/.settings/org.eclipse.wst.common.component b/SimDeCS/.settings/org.eclipse.wst.common.component
new file mode 100644 (file)
index 0000000..567cf5f
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project-modules id="moduleCoreId" project-version="1.5.0">\r
+    <wb-module deploy-name="SimDeCS">\r
+        <wb-resource deploy-path="/" source-path="/WebContent"/>\r
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main"/>\r
+        <wb-resource deploy-path="/WEB-INF/dev" source-path="/src/hot"/>\r
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/hot"/>\r
+        <property name="context-root" value="SimDeCS"/>\r
+        <property name="java-output-path" value="/SimDeCS/build/classes"/>\r
+    </wb-module>\r
+</project-modules>\r
diff --git a/SimDeCS/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml b/SimDeCS/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
new file mode 100644 (file)
index 0000000..8c42ed3
--- /dev/null
@@ -0,0 +1,7 @@
+<root>\r
+  <facet id="jst.jsf">\r
+    <node name="libprov">\r
+      <attribute name="provider-id" value="runtime-library-provider"/>\r
+    </node>\r
+  </facet>\r
+</root>\r
diff --git a/SimDeCS/.settings/org.eclipse.wst.common.project.facet.core.xml b/SimDeCS/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644 (file)
index 0000000..2c5c118
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<faceted-project>\r
+  <runtime name="JBoss 5.1 Runtime"/>\r
+  <fixed facet="jst.web"/>\r
+  <fixed facet="java"/>\r
+  <installed facet="java" version="1.5"/>\r
+  <installed facet="jst.web" version="2.5"/>\r
+  <installed facet="jst.jsf" version="1.2"/>\r
+  <installed facet="jst.seam" version="2.2"/>\r
+</faceted-project>\r
diff --git a/SimDeCS/.settings/org.eclipse.wst.xsl.core.prefs b/SimDeCS/.settings/org.eclipse.wst.xsl.core.prefs
new file mode 100644 (file)
index 0000000..fce25a4
--- /dev/null
@@ -0,0 +1,12 @@
+#Sat Aug 13 08:25:30 BRT 2011\r
+CHECK_CALL_TEMPLATES=2\r
+CHECK_XPATHS=2\r
+CIRCULAR_REF=2\r
+DUPLICATE_PARAMETER=2\r
+EMPTY_PARAM=1\r
+MISSING_INCLUDE=2\r
+MISSING_PARAM=1\r
+NAME_ATTRIBUTE_EMPTY=2\r
+NAME_ATTRIBUTE_MISSING=2\r
+TEMPLATE_CONFLICT=2\r
+eclipse.preferences.version=1\r
diff --git a/SimDeCS/.settings/org.hibernate.eclipse.console.prefs b/SimDeCS/.settings/org.hibernate.eclipse.console.prefs
new file mode 100644 (file)
index 0000000..0f89762
--- /dev/null
@@ -0,0 +1,4 @@
+#Thu Apr 21 18:54:36 BRT 2011\r
+default.configuration=SimDeCS\r
+eclipse.preferences.version=1\r
+hibernate3.enabled=true\r
diff --git a/SimDeCS/.settings/org.jboss.ide.eclipse.as.core.prefs b/SimDeCS/.settings/org.jboss.ide.eclipse.as.core.prefs
new file mode 100644 (file)
index 0000000..2697bf5
--- /dev/null
@@ -0,0 +1,3 @@
+#Sat Aug 13 09:07:37 BRT 2011\r
+eclipse.preferences.version=1\r
+org.jboss.ide.eclipse.as.core.singledeployable.deployableList=\r
diff --git a/SimDeCS/.settings/org.jboss.tools.seam.core.prefs b/SimDeCS/.settings/org.jboss.tools.seam.core.prefs
new file mode 100644 (file)
index 0000000..94ad7ab
--- /dev/null
@@ -0,0 +1,17 @@
+#Sat Aug 13 08:15:27 BRT 2011\r
+action.package=org.ufcspa.simdecs.session\r
+action.sources=/SimDeCS/src/hot\r
+eclipse.preferences.version=1\r
+model.package=org.ufcspa.simdecs.entity\r
+model.sources=/SimDeCS/src/main\r
+seam.ejb.project=SimDeCS\r
+seam.project.connection.profile=SimDeCS Database\r
+seam.project.deployment.type=war\r
+seam.project.settings.version=1.1\r
+seam.project.web.root.folder=/SimDeCS/WebContent\r
+seam.runtime.name=jboss-seam-2.2.1\r
+seam.settings.changed.by.user=true\r
+seam.test.creating=false\r
+seam.test.project=SimDeCS-test\r
+test.package=org.domain.simdecs.test\r
+test.sources=/SimDeCS-test/test-src\r
diff --git a/SimDeCS/SimDeCS.launch b/SimDeCS/SimDeCS.launch
new file mode 100644 (file)
index 0000000..ac469d7
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<launchConfiguration type="org.hibernate.eclipse.launch.ConsoleConfigurationLaunchConfigurationType">\r
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">\r
+<listEntry value="SimDeCS"/>\r
+</listAttribute>\r
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">\r
+<listEntry value="4"/>\r
+</listAttribute>\r
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="SimDeCS"/>\r
+<stringAttribute key="org.hibernate.eclipse.launch.CONFIGURATION_FACTORY" value="JPA"/>\r
+<stringAttribute key="org.hibernate.eclipse.launch.CONNECTION_PROFILE_NAME" value="SimDeCS Database"/>\r
+<listAttribute key="org.hibernate.eclipse.launch.FILE_MAPPINGS"/>\r
+<stringAttribute key="org.hibernate.eclipse.launch.PROPERTY_FILE" value="/SimDeCS/hibernate-console.properties"/>\r
+</launchConfiguration>\r
diff --git a/SimDeCS/WebContent/META-INF/MANIFEST.MF b/SimDeCS/WebContent/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..5e94951
--- /dev/null
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0\r
+Class-Path: \r
+\r
diff --git a/SimDeCS/WebContent/WEB-INF/SimDeCS-ds.xml b/SimDeCS/WebContent/WEB-INF/SimDeCS-ds.xml
new file mode 100644 (file)
index 0000000..ca0b305
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE datasources
+    PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
+    "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
+<datasources>
+   
+   <local-tx-datasource>
+      <jndi-name>SimDeCSDatasource</jndi-name>
+      <use-java-context>true</use-java-context>
+      <connection-url>jdbc:postgresql://localhost:5432/simdecs</connection-url>
+      <driver-class>org.postgresql.Driver</driver-class>
+      <user-name>simdecs</user-name>
+      <password>tatuira</password>
+   </local-tx-datasource>
+    
+</datasources>
diff --git a/SimDeCS/WebContent/WEB-INF/components.xml b/SimDeCS/WebContent/WEB-INF/components.xml
new file mode 100644 (file)
index 0000000..1de84a9
--- /dev/null
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<components xmlns="http://jboss.com/products/seam/components"
+            xmlns:core="http://jboss.com/products/seam/core"
+            xmlns:persistence="http://jboss.com/products/seam/persistence"
+            xmlns:drools="http://jboss.com/products/seam/drools"
+            xmlns:bpm="http://jboss.com/products/seam/bpm"
+            xmlns:security="http://jboss.com/products/seam/security"
+            xmlns:mail="http://jboss.com/products/seam/mail"
+            xmlns:web="http://jboss.com/products/seam/web"
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation=
+                "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.2.xsd
+                 http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.2.xsd
+                 http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.2.xsd
+                 http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.2.xsd
+                 http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.2.xsd
+                 http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.2.xsd
+                 http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.2.xsd
+                 http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.2.xsd">
+
+   <core:init debug="true" jndi-pattern="@jndiPattern@"/>
+
+   <core:manager concurrent-request-timeout="500"
+                 conversation-timeout="120000"
+                 conversation-id-parameter="cid"
+                 parent-conversation-id-parameter="pid"/>
+
+   <!-- Make sure this URL pattern is the same as that used by the Faces Servlet -->
+   <web:hot-deploy-filter url-pattern="*.seam"/>
+
+   <!-- If you are still using JBoss 4, uncomment this to have your PU started -->
+<!--   <persistence:entity-manager-factory name="entityManagerFactory"-->
+<!--                      persistence-unit-name="SimDeCS"/>-->
+   <!-- If you are still using JBoss 4, uncomment this to have the entityManagerFactory ysed -->
+<!--   <persistence:managed-persistence-context name="entityManager" auto-create="true"-->
+<!--                          entity-manager-factory="#{entityManagerFactory}"/>-->
+
+   <persistence:managed-persistence-context name="entityManager" auto-create="true"
+                           persistence-unit-jndi-name="java:/SimDeCSEntityManagerFactory"/>
+
+   <drools:rule-base name="securityRules">
+      <drools:rule-files><value>/security.drl</value></drools:rule-files>
+   </drools:rule-base>
+
+   <security:rule-based-permission-resolver security-rules="#{securityRules}"/>
+
+   <security:identity authenticate-method="#{authenticator.authenticate}" remember-me="true"/>
+
+   <event type="org.jboss.seam.security.notLoggedIn">
+      <action execute="#{redirect.captureCurrentView}"/>
+   </event>
+   <event type="org.jboss.seam.security.loginSuccessful">
+      <action execute="#{redirect.returnToCapturedView}"/>
+   </event>
+
+   <mail:mail-session host="localhost" port="25"/>
+
+   <!-- For use with jBPM pageflow or process management -->
+   <!--
+   <bpm:jbpm>
+      <bpm:process-definitions></bpm:process-definitions>
+      <bpm:pageflow-definitions></bpm:pageflow-definitions>
+   </bpm:jbpm>
+   -->
+
+</components>
diff --git a/SimDeCS/WebContent/WEB-INF/faces-config.xml b/SimDeCS/WebContent/WEB-INF/faces-config.xml
new file mode 100644 (file)
index 0000000..0a19858
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<faces-config
+    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-facesconfig_1_2.xsd"
+    version="1.2">
+       <application>
+               <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
+               <locale-config>
+                       <default-locale>pt_BR</default-locale>
+                       <supported-locale>en</supported-locale>
+                       <supported-locale>bg</supported-locale>
+                       <supported-locale>de</supported-locale>
+                       <supported-locale>en</supported-locale>
+                       <supported-locale>fr</supported-locale>
+                       <supported-locale>tr</supported-locale>
+               </locale-config>
+       </application>
+
+</faces-config>
diff --git a/SimDeCS/WebContent/WEB-INF/jboss-web.xml b/SimDeCS/WebContent/WEB-INF/jboss-web.xml
new file mode 100644 (file)
index 0000000..d4db00f
--- /dev/null
@@ -0,0 +1,11 @@
+<!DOCTYPE jboss-web PUBLIC
+    "-//JBoss//DTD Web Application 4.2//EN"
+    "http://www.jboss.org/j2ee/dtd/jboss-web_4_2.dtd">
+<jboss-web>  
+    <class-loading java2ClassLoadingCompliance="false">
+        <loader-repository>
+            seam.jboss.org:loader=SimDeCS
+            <loader-repository-config>java2ParentDelegation=false</loader-repository-config>
+        </loader-repository>
+    </class-loading>
+</jboss-web>
diff --git a/SimDeCS/WebContent/WEB-INF/lib/antlr-runtime.jar b/SimDeCS/WebContent/WEB-INF/lib/antlr-runtime.jar
new file mode 100644 (file)
index 0000000..d90a086
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/antlr-runtime.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/commons-beanutils.jar b/SimDeCS/WebContent/WEB-INF/lib/commons-beanutils.jar
new file mode 100644 (file)
index 0000000..b1b89c9
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/commons-beanutils.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/commons-digester.jar b/SimDeCS/WebContent/WEB-INF/lib/commons-digester.jar
new file mode 100644 (file)
index 0000000..7abda96
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/commons-digester.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/core.jar b/SimDeCS/WebContent/WEB-INF/lib/core.jar
new file mode 100644 (file)
index 0000000..310fe9f
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/core.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/drools-api.jar b/SimDeCS/WebContent/WEB-INF/lib/drools-api.jar
new file mode 100644 (file)
index 0000000..d33d6c6
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/drools-api.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/drools-compiler.jar b/SimDeCS/WebContent/WEB-INF/lib/drools-compiler.jar
new file mode 100644 (file)
index 0000000..02b719a
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/drools-compiler.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/drools-core.jar b/SimDeCS/WebContent/WEB-INF/lib/drools-core.jar
new file mode 100644 (file)
index 0000000..7e8b791
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/drools-core.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/itext-rtf.jar b/SimDeCS/WebContent/WEB-INF/lib/itext-rtf.jar
new file mode 100644 (file)
index 0000000..3f6f50a
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/itext-rtf.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/itext.jar b/SimDeCS/WebContent/WEB-INF/lib/itext.jar
new file mode 100644 (file)
index 0000000..b81af6e
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/itext.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/jboss-el.jar b/SimDeCS/WebContent/WEB-INF/lib/jboss-el.jar
new file mode 100644 (file)
index 0000000..d4a893f
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/jboss-el.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-debug.jar b/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-debug.jar
new file mode 100644 (file)
index 0000000..dd105ba
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-debug.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-excel.jar b/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-excel.jar
new file mode 100644 (file)
index 0000000..016030b
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-excel.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-ioc.jar b/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-ioc.jar
new file mode 100644 (file)
index 0000000..d5eb47c
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-ioc.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-mail.jar b/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-mail.jar
new file mode 100644 (file)
index 0000000..d88d434
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-mail.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-pdf.jar b/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-pdf.jar
new file mode 100644 (file)
index 0000000..45901f5
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-pdf.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-remoting.jar b/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-remoting.jar
new file mode 100644 (file)
index 0000000..efd0a7d
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-remoting.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-ui.jar b/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-ui.jar
new file mode 100644 (file)
index 0000000..4183828
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/jboss-seam-ui.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/jboss-seam.jar b/SimDeCS/WebContent/WEB-INF/lib/jboss-seam.jar
new file mode 100644 (file)
index 0000000..28b5cd4
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/jboss-seam.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/jbpm-jpdl.jar b/SimDeCS/WebContent/WEB-INF/lib/jbpm-jpdl.jar
new file mode 100644 (file)
index 0000000..6495b33
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/jbpm-jpdl.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/jcommon.jar b/SimDeCS/WebContent/WEB-INF/lib/jcommon.jar
new file mode 100644 (file)
index 0000000..4cd6807
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/jcommon.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/jfreechart.jar b/SimDeCS/WebContent/WEB-INF/lib/jfreechart.jar
new file mode 100644 (file)
index 0000000..8b9f952
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/jfreechart.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/jsf-facelets.jar b/SimDeCS/WebContent/WEB-INF/lib/jsf-facelets.jar
new file mode 100644 (file)
index 0000000..5830289
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/jsf-facelets.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/jxl.jar b/SimDeCS/WebContent/WEB-INF/lib/jxl.jar
new file mode 100644 (file)
index 0000000..e120802
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/jxl.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/mvel2.jar b/SimDeCS/WebContent/WEB-INF/lib/mvel2.jar
new file mode 100644 (file)
index 0000000..03b1463
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/mvel2.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/richfaces-api.jar b/SimDeCS/WebContent/WEB-INF/lib/richfaces-api.jar
new file mode 100644 (file)
index 0000000..0aeb97a
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/richfaces-api.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/richfaces-impl.jar b/SimDeCS/WebContent/WEB-INF/lib/richfaces-impl.jar
new file mode 100644 (file)
index 0000000..6c61a7f
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/richfaces-impl.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/lib/richfaces-ui.jar b/SimDeCS/WebContent/WEB-INF/lib/richfaces-ui.jar
new file mode 100644 (file)
index 0000000..6b02e05
Binary files /dev/null and b/SimDeCS/WebContent/WEB-INF/lib/richfaces-ui.jar differ
diff --git a/SimDeCS/WebContent/WEB-INF/pages.xml b/SimDeCS/WebContent/WEB-INF/pages.xml
new file mode 100644 (file)
index 0000000..1ea222c
--- /dev/null
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pages xmlns="http://jboss.com/products/seam/pages"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd"
+
+       no-conversation-view-id="/home.xhtml"
+       login-view-id="/login.xhtml">
+
+    <page view-id="*">
+        <navigation>
+            <rule if-outcome="home">
+                <redirect view-id="/home.xhtml"/>
+            </rule>
+        </navigation>
+    </page>
+
+    <exception class="org.jboss.seam.framework.EntityNotFoundException">
+        <redirect view-id="/error.xhtml">
+            <message severity="warn">Record not found</message>
+        </redirect>
+    </exception>
+    
+    <exception class="javax.persistence.EntityNotFoundException">
+        <redirect view-id="/error.xhtml">
+            <message severity="warn">Record not found</message>
+        </redirect>
+    </exception>
+    
+    <exception class="javax.persistence.EntityExistsException">
+        <redirect view-id="/error.xhtml">
+            <message severity="warn">Duplicate record</message>
+        </redirect>
+    </exception>
+    
+    <exception class="javax.persistence.OptimisticLockException">
+        <end-conversation/>
+        <redirect view-id="/error.xhtml">
+            <message severity="warn">Another user changed the same data, please try again</message>
+        </redirect>
+    </exception>
+    
+    <exception class="org.jboss.seam.security.AuthorizationException">
+        <redirect view-id="/error.xhtml">
+            <message severity="error">You don't have permission to access this resource</message>
+        </redirect>
+    </exception>
+    
+    <exception class="org.jboss.seam.security.NotLoggedInException">
+        <redirect view-id="/login.xhtml">
+            <message severity="warn">Por favor, efetue login para acessar este recurso!</message>
+        </redirect>
+    </exception>
+    
+    <exception class="javax.faces.application.ViewExpiredException">
+        <redirect view-id="/error.xhtml">
+            <message severity="warn">Your session has timed out, please try again</message>
+        </redirect>
+    </exception>
+    
+    <exception class="org.jboss.seam.ConcurrentRequestTimeoutException" log-level="trace">
+      <http-error error-code="503" />
+    </exception>
+     
+    <exception>
+        <redirect view-id="/error.xhtml">
+            <message severity="error">Unexpected error, please try again</message>
+        </redirect>
+    </exception>
+    
+</pages>
diff --git a/SimDeCS/WebContent/WEB-INF/web.xml b/SimDeCS/WebContent/WEB-INF/web.xml
new file mode 100644 (file)
index 0000000..81a5428
--- /dev/null
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">\r
+  <display-name>SimDeCS</display-name>\r
+  <welcome-file-list>\r
+    <welcome-file>index.html</welcome-file>\r
+    <welcome-file>index.htm</welcome-file>\r
+    <welcome-file>index.jsp</welcome-file>\r
+    <welcome-file>default.html</welcome-file>\r
+    <welcome-file>default.htm</welcome-file>\r
+    <welcome-file>default.jsp</welcome-file>\r
+  </welcome-file-list>\r
+  <servlet>\r
+    <servlet-name>Faces Servlet</servlet-name>\r
+    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\r
+    <load-on-startup>1</load-on-startup>\r
+  </servlet>\r
+  <servlet-mapping>\r
+    <servlet-name>Faces Servlet</servlet-name>\r
+    <url-pattern>*.seam</url-pattern>\r
+  </servlet-mapping>\r
+  <context-param>\r
+    <param-name>org.jboss.jbossfaces.JSF_CONFIG_NAME</param-name>\r
+    <param-value>Mojarra-1.2</param-value>\r
+  </context-param>\r
+  <context-param>\r
+    <param-name>org.richfaces.SKIN</param-name>\r
+    <param-value>DEFAULT</param-value>\r
+  </context-param>\r
+  <listener>\r
+    <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>\r
+  </listener>\r
+  <filter>\r
+    <filter-name>Seam Filter</filter-name>\r
+    <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>\r
+  </filter>\r
+  <filter-mapping>\r
+    <filter-name>Seam Filter</filter-name>\r
+    <url-pattern>/*</url-pattern>\r
+  </filter-mapping>\r
+  <servlet>\r
+    <servlet-name>Seam Resource Servlet</servlet-name>\r
+    <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>\r
+  </servlet>\r
+  <servlet-mapping>\r
+    <servlet-name>Seam Resource Servlet</servlet-name>\r
+    <url-pattern>/seam/resource/*</url-pattern>\r
+  </servlet-mapping>\r
+  <context-param>\r
+    <param-name>facelets.DEVELOPMENT</param-name>\r
+    <param-value>true</param-value>\r
+  </context-param>\r
+  <context-param>\r
+    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\r
+    <param-value>.xhtml</param-value>\r
+  </context-param>\r
+  <security-constraint>\r
+    <display-name>Restrict raw XHTML Documents</display-name>\r
+    <web-resource-collection>\r
+      <web-resource-name>XHTML</web-resource-name>\r
+      <url-pattern>*.xhtml</url-pattern>\r
+    </web-resource-collection>\r
+    <auth-constraint/>\r
+  </security-constraint>\r
+</web-app>
\ No newline at end of file
diff --git a/SimDeCS/WebContent/error.xhtml b/SimDeCS/WebContent/error.xhtml
new file mode 100644 (file)
index 0000000..a4a2af1
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    template="layout/template.xhtml">
+
+    <ui:param name="showGlobalMessages" value="false"/>
+    <ui:define name="body">
+
+        <h1>Error</h1>
+        <p>Something bad happened :-(</p>
+
+        <h:messages id="errorMessage" styleClass="message"/>
+
+    </ui:define>
+</ui:composition>
diff --git a/SimDeCS/WebContent/home.xhtml b/SimDeCS/WebContent/home.xhtml
new file mode 100644 (file)
index 0000000..47ecd8d
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    template="layout/template.xhtml">
+
+    <ui:define name="body">
+
+        <h1>Bem vindo SimDeCs!</h1>
+        <rich:panel>
+            <h:panelGrid columns="3" >
+                <h:graphicImage value="/img/simdecs-logo.png" alt="SimDeCs" />
+                <s:div styleClass="info">
+                    <p><strong>Simulador de Tomadas de Decisão em Cuidados de Saúde:</strong></p>
+                                       <p>Ambiente de aprendizado multiagente na área da saúde.</p>
+                </s:div>
+                <s:div><h:graphicImage value="/img/unasus.jpg" alt="UnaSus" width="250" /></s:div> 
+            </h:panelGrid>
+        </rich:panel>
+
+    </ui:define>
+</ui:composition>
diff --git a/SimDeCS/WebContent/img/btnmanageroles.png b/SimDeCS/WebContent/img/btnmanageroles.png
new file mode 100644 (file)
index 0000000..b70ce6e
Binary files /dev/null and b/SimDeCS/WebContent/img/btnmanageroles.png differ
diff --git a/SimDeCS/WebContent/img/btnmanageusers.png b/SimDeCS/WebContent/img/btnmanageusers.png
new file mode 100644 (file)
index 0000000..6f15ae4
Binary files /dev/null and b/SimDeCS/WebContent/img/btnmanageusers.png differ
diff --git a/SimDeCS/WebContent/img/btnnewpermission.png b/SimDeCS/WebContent/img/btnnewpermission.png
new file mode 100644 (file)
index 0000000..e0a23f6
Binary files /dev/null and b/SimDeCS/WebContent/img/btnnewpermission.png differ
diff --git a/SimDeCS/WebContent/img/btnnewrole.png b/SimDeCS/WebContent/img/btnnewrole.png
new file mode 100644 (file)
index 0000000..3b457cc
Binary files /dev/null and b/SimDeCS/WebContent/img/btnnewrole.png differ
diff --git a/SimDeCS/WebContent/img/btnnewuser.png b/SimDeCS/WebContent/img/btnnewuser.png
new file mode 100644 (file)
index 0000000..e1a563f
Binary files /dev/null and b/SimDeCS/WebContent/img/btnnewuser.png differ
diff --git a/SimDeCS/WebContent/img/dtpick.gif b/SimDeCS/WebContent/img/dtpick.gif
new file mode 100644 (file)
index 0000000..8526cf5
Binary files /dev/null and b/SimDeCS/WebContent/img/dtpick.gif differ
diff --git a/SimDeCS/WebContent/img/error.gif b/SimDeCS/WebContent/img/error.gif
new file mode 100644 (file)
index 0000000..34d667d
Binary files /dev/null and b/SimDeCS/WebContent/img/error.gif differ
diff --git a/SimDeCS/WebContent/img/false.png b/SimDeCS/WebContent/img/false.png
new file mode 100644 (file)
index 0000000..fbe46a5
Binary files /dev/null and b/SimDeCS/WebContent/img/false.png differ
diff --git a/SimDeCS/WebContent/img/manytoone.gif b/SimDeCS/WebContent/img/manytoone.gif
new file mode 100644 (file)
index 0000000..5e05f71
Binary files /dev/null and b/SimDeCS/WebContent/img/manytoone.gif differ
diff --git a/SimDeCS/WebContent/img/msgerror.png b/SimDeCS/WebContent/img/msgerror.png
new file mode 100644 (file)
index 0000000..d94cf89
Binary files /dev/null and b/SimDeCS/WebContent/img/msgerror.png differ
diff --git a/SimDeCS/WebContent/img/msginfo.png b/SimDeCS/WebContent/img/msginfo.png
new file mode 100644 (file)
index 0000000..fb9031c
Binary files /dev/null and b/SimDeCS/WebContent/img/msginfo.png differ
diff --git a/SimDeCS/WebContent/img/msgwarn.png b/SimDeCS/WebContent/img/msgwarn.png
new file mode 100644 (file)
index 0000000..69a83fb
Binary files /dev/null and b/SimDeCS/WebContent/img/msgwarn.png differ
diff --git a/SimDeCS/WebContent/img/onetomany.gif b/SimDeCS/WebContent/img/onetomany.gif
new file mode 100644 (file)
index 0000000..982d5e5
Binary files /dev/null and b/SimDeCS/WebContent/img/onetomany.gif differ
diff --git a/SimDeCS/WebContent/img/seamlogo.png b/SimDeCS/WebContent/img/seamlogo.png
new file mode 100644 (file)
index 0000000..ab274a6
Binary files /dev/null and b/SimDeCS/WebContent/img/seamlogo.png differ
diff --git a/SimDeCS/WebContent/img/simdecs-logo.png b/SimDeCS/WebContent/img/simdecs-logo.png
new file mode 100644 (file)
index 0000000..c10d714
Binary files /dev/null and b/SimDeCS/WebContent/img/simdecs-logo.png differ
diff --git a/SimDeCS/WebContent/img/true.png b/SimDeCS/WebContent/img/true.png
new file mode 100644 (file)
index 0000000..f449096
Binary files /dev/null and b/SimDeCS/WebContent/img/true.png differ
diff --git a/SimDeCS/WebContent/img/unasus.jpg b/SimDeCS/WebContent/img/unasus.jpg
new file mode 100644 (file)
index 0000000..78be850
Binary files /dev/null and b/SimDeCS/WebContent/img/unasus.jpg differ
diff --git a/SimDeCS/WebContent/img/vrmed/bodyEditarDiagrama.png b/SimDeCS/WebContent/img/vrmed/bodyEditarDiagrama.png
new file mode 100644 (file)
index 0000000..e04a1ff
Binary files /dev/null and b/SimDeCS/WebContent/img/vrmed/bodyEditarDiagrama.png differ
diff --git a/SimDeCS/WebContent/img/vrmed/bodyExcluirDiagrama.png b/SimDeCS/WebContent/img/vrmed/bodyExcluirDiagrama.png
new file mode 100644 (file)
index 0000000..197b376
Binary files /dev/null and b/SimDeCS/WebContent/img/vrmed/bodyExcluirDiagrama.png differ
diff --git a/SimDeCS/WebContent/img/vrmed/bodyNovoDiagrama.png b/SimDeCS/WebContent/img/vrmed/bodyNovoDiagrama.png
new file mode 100644 (file)
index 0000000..4c28a8f
Binary files /dev/null and b/SimDeCS/WebContent/img/vrmed/bodyNovoDiagrama.png differ
diff --git a/SimDeCS/WebContent/img/vrmed/cenarios/cenarioCasa.png b/SimDeCS/WebContent/img/vrmed/cenarios/cenarioCasa.png
new file mode 100644 (file)
index 0000000..b9ec799
Binary files /dev/null and b/SimDeCS/WebContent/img/vrmed/cenarios/cenarioCasa.png differ
diff --git a/SimDeCS/WebContent/img/vrmed/cenarios/cenarioHospital.png b/SimDeCS/WebContent/img/vrmed/cenarios/cenarioHospital.png
new file mode 100644 (file)
index 0000000..7fed6c3
Binary files /dev/null and b/SimDeCS/WebContent/img/vrmed/cenarios/cenarioHospital.png differ
diff --git a/SimDeCS/WebContent/img/vrmed/cenarios/cenarioUBS.png b/SimDeCS/WebContent/img/vrmed/cenarios/cenarioUBS.png
new file mode 100644 (file)
index 0000000..698f527
Binary files /dev/null and b/SimDeCS/WebContent/img/vrmed/cenarios/cenarioUBS.png differ
diff --git a/SimDeCS/WebContent/img/vrmed/footerEditarDiagrama.png b/SimDeCS/WebContent/img/vrmed/footerEditarDiagrama.png
new file mode 100644 (file)
index 0000000..ff100dd
Binary files /dev/null and b/SimDeCS/WebContent/img/vrmed/footerEditarDiagrama.png differ
diff --git a/SimDeCS/WebContent/img/vrmed/footerExcluirDiagrama.png b/SimDeCS/WebContent/img/vrmed/footerExcluirDiagrama.png
new file mode 100644 (file)
index 0000000..aac27a6
Binary files /dev/null and b/SimDeCS/WebContent/img/vrmed/footerExcluirDiagrama.png differ
diff --git a/SimDeCS/WebContent/img/vrmed/footerNovoDiagrama.png b/SimDeCS/WebContent/img/vrmed/footerNovoDiagrama.png
new file mode 100644 (file)
index 0000000..2a19020
Binary files /dev/null and b/SimDeCS/WebContent/img/vrmed/footerNovoDiagrama.png differ
diff --git a/SimDeCS/WebContent/img/vrmed/headerEditarDiagrama.png b/SimDeCS/WebContent/img/vrmed/headerEditarDiagrama.png
new file mode 100644 (file)
index 0000000..67fd19d
Binary files /dev/null and b/SimDeCS/WebContent/img/vrmed/headerEditarDiagrama.png differ
diff --git a/SimDeCS/WebContent/img/vrmed/headerExcluirDiagrama.png b/SimDeCS/WebContent/img/vrmed/headerExcluirDiagrama.png
new file mode 100644 (file)
index 0000000..a4b99ca
Binary files /dev/null and b/SimDeCS/WebContent/img/vrmed/headerExcluirDiagrama.png differ
diff --git a/SimDeCS/WebContent/img/vrmed/headerNovoDiagrama.png b/SimDeCS/WebContent/img/vrmed/headerNovoDiagrama.png
new file mode 100644 (file)
index 0000000..fad6d21
Binary files /dev/null and b/SimDeCS/WebContent/img/vrmed/headerNovoDiagrama.png differ
diff --git a/SimDeCS/WebContent/img/vrmed/inteira.png b/SimDeCS/WebContent/img/vrmed/inteira.png
new file mode 100644 (file)
index 0000000..158b669
Binary files /dev/null and b/SimDeCS/WebContent/img/vrmed/inteira.png differ
diff --git a/SimDeCS/WebContent/index.html b/SimDeCS/WebContent/index.html
new file mode 100644 (file)
index 0000000..a6974eb
--- /dev/null
@@ -0,0 +1 @@
+<html><head><meta http-equiv="Refresh" content="0; URL=home.seam"/></head></html>
diff --git a/SimDeCS/WebContent/layout/display.xhtml b/SimDeCS/WebContent/layout/display.xhtml
new file mode 100644 (file)
index 0000000..ea92dee
--- /dev/null
@@ -0,0 +1,16 @@
+<ui:composition  xmlns="http://www.w3.org/1999/xhtml"
+                 xmlns:ui="http://java.sun.com/jsf/facelets"
+                 xmlns:h="http://java.sun.com/jsf/html"
+                 xmlns:f="http://java.sun.com/jsf/core"
+                 xmlns:s="http://jboss.com/products/seam/taglib">
+
+    <div class="prop">
+        <span class="name">
+            <ui:insert name="label"/>
+        </span>
+        <span class="value">
+            <ui:insert/>
+        </span>
+    </div>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/layout/edit.xhtml b/SimDeCS/WebContent/layout/edit.xhtml
new file mode 100644 (file)
index 0000000..9728c2c
--- /dev/null
@@ -0,0 +1,27 @@
+<ui:composition  xmlns="http://www.w3.org/1999/xhtml"
+                 xmlns:ui="http://java.sun.com/jsf/facelets"
+                 xmlns:h="http://java.sun.com/jsf/html"
+                 xmlns:f="http://java.sun.com/jsf/core"
+                 xmlns:s="http://jboss.com/products/seam/taglib">
+
+    <div class="prop">
+
+        <s:label styleClass="name #{invalid?'errors':''}">
+            <ui:insert name="label"/>
+            <s:span styleClass="required" rendered="#{required}">*</s:span>
+        </s:label>
+
+        <span class="value #{invalid?'errors':''}">
+            <s:validateAll>
+                <ui:insert/>
+            </s:validateAll>
+        </span>
+
+        <span class="error">
+            <h:graphicImage value="/img/error.gif" rendered="#{invalid}" styleClass="errors"/>
+            <s:message styleClass="errors"/>
+        </span>
+
+    </div>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/layout/menu.xhtml b/SimDeCS/WebContent/layout/menu.xhtml
new file mode 100644 (file)
index 0000000..3d91a3b
--- /dev/null
@@ -0,0 +1,56 @@
+<rich:toolBar
+    xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:rich="http://richfaces.org/rich">
+    <rich:toolBarGroup>
+        <h:outputText value="#{projectName}:"/>
+        <s:link id="menuHomeId" view="/home.xhtml" value="Página Inicial" propagation="none"/>
+    </rich:toolBarGroup>
+    <rich:dropDownMenu showDelay="250" hideDelay="0" submitMode="none">
+        <f:facet name="label">Cadastros</f:facet>
+       <rich:menuItem> 
+       <s:link view="/seguro/admin/usuario/UsuarioList.xhtml"
+               value="Usuários"
+               id="UsuarioId"
+                       includePageParams="false"
+               propagation="none"/>
+     </rich:menuItem>
+       <rich:menuItem>
+       <s:link view="/seguro/admin/grupo/GrupoList.xhtml"
+               value="Grupos"
+               id="GrupoId"
+                       includePageParams="false"
+               propagation="none"/>
+     </rich:menuItem>
+       <rich:menuItem>
+       <s:link view="/seguro/admin/instituicao/InstituicaoList.xhtml"
+               value="Instituições"
+               id="InstituicaoId"
+                       includePageParams="false"
+               propagation="none"/>
+     </rich:menuItem>
+       <rich:menuItem>
+       <s:link view="/seguro/admin/privilegio/PrivilegioList.xhtml"
+               value="Privilégios"
+               id="PrivilegioId"
+                       includePageParams="false"
+               propagation="none"/>
+     </rich:menuItem>
+       <rich:menuItem>
+       <s:link view="/seguro/admin/regra/RegraList.xhtml"
+               value="Regras"
+               id="RegraId"
+                       includePageParams="false"
+               propagation="none"/>
+     </rich:menuItem>
+    </rich:dropDownMenu>
+    <!-- @newMenuItem@ -->
+    <rich:toolBarGroup location="right">
+        <h:outputText id="menuWelcomeId" value="#{credentials.username}" rendered="#{identity.loggedIn}"/>
+        <s:link id="menuLoginId" view="/login.xhtml" value="Fazer Login" rendered="#{not identity.loggedIn}" propagation="none"/>
+        <s:link id="menuLogoutId" view="/home.xhtml" action="#{identity.logout}" value=" | Sair" rendered="#{identity.loggedIn}" propagation="none"/>
+    </rich:toolBarGroup>
+</rich:toolBar>
diff --git a/SimDeCS/WebContent/layout/sort.xhtml b/SimDeCS/WebContent/layout/sort.xhtml
new file mode 100644 (file)
index 0000000..cbe30fc
--- /dev/null
@@ -0,0 +1,11 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:c="http://java.sun.com/jstl/core"
+    xmlns:s="http://jboss.com/products/seam/taglib">
+    <s:link styleClass="columnHeader" value="#{propertyLabel} #{entityList.orderColumn == propertyPath ? (entityList.orderDirection == 'desc' ? messages.down : messages.up) : ''}">
+        <f:param name="sort" value="#{propertyPath}"/>
+        <f:param name="dir" value="#{entityList.orderColumn == propertyPath and entityList.orderDirection == 'asc' ? 'desc' : 'asc'}"/>
+    </s:link>
+</ui:composition>
diff --git a/SimDeCS/WebContent/layout/template.xhtml b/SimDeCS/WebContent/layout/template.xhtml
new file mode 100644 (file)
index 0000000..23c3caa
--- /dev/null
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<f:view xmlns="http://www.w3.org/1999/xhtml"
+   xmlns:ui="http://java.sun.com/jsf/facelets"
+   xmlns:f="http://java.sun.com/jsf/core"
+   xmlns:h="http://java.sun.com/jsf/html"
+   xmlns:a="http://richfaces.org/a4j"
+   xmlns:s="http://jboss.com/products/seam/taglib"
+   contentType="text/html">
+<html>
+   <head>
+         <meta http-equiv="Pragma" content="no-cache"/>
+      <meta http-equiv="Expires" content="-1"/>
+      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+      <title>SimDeCS</title>
+      <link rel="shortcut icon" href="#{request.contextPath}/favicon.ico"/>
+      <a:loadStyle src="/stylesheet/theme.xcss"/>
+      <a:loadStyle src="/stylesheet/theme.css"/>
+      <ui:insert name="head"/>
+   </head>
+   <body>
+      <ui:include src="menu.xhtml">
+         <ui:param name="projectName" value="SimDeCS"/>
+      </ui:include>
+      <div class="body">
+         <h:messages id="messages" globalOnly="true" styleClass="message"
+            errorClass="errormsg" infoClass="infomsg" warnClass="warnmsg"
+            rendered="#{showGlobalMessages != 'false'}"/>
+         <ui:insert name="body"/>
+      </div>
+      <div class="footer">
+         <p>Desenvolvido pela <a href="http://www.ufcspa.edu.br">UFCSPA</a>- Universidade Federal de Ciências da Saúde de Porto Alegre </p>
+         <s:fragment rendered="#{init.debug}">
+         <a:log hotkey="D"/>
+        </s:fragment>
+      </div>
+   </body>
+</html>
+</f:view>
diff --git a/SimDeCS/WebContent/login.page.xml b/SimDeCS/WebContent/login.page.xml
new file mode 100644 (file)
index 0000000..3818f57
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd">
+
+   <navigation from-action="#{identity.login}">
+      <rule if="#{identity.loggedIn}">
+         <redirect view-id="/home.xhtml"/>
+      </rule>
+   </navigation>
+
+</page>
diff --git a/SimDeCS/WebContent/login.xhtml b/SimDeCS/WebContent/login.xhtml
new file mode 100644 (file)
index 0000000..64125dc
--- /dev/null
@@ -0,0 +1,46 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    template="layout/template.xhtml">
+
+<ui:define name="body">
+
+    <h:form id="loginForm">
+
+        <rich:panel>
+            <f:facet name="header">Acesso ao SimDeCS</f:facet>
+
+            <p>Informe abaixo seu usuário e senha:</p>
+
+            <div class="dialog">
+                <h:panelGrid columns="2" rowClasses="prop" columnClasses="name,value">
+                    <h:outputLabel for="username">Usuário</h:outputLabel>
+                    <h:inputText id="username" size="50" 
+                              value="#{credentials.username}"/>
+                    <h:outputLabel for="password">Senha</h:outputLabel>
+                    <h:inputSecret id="password" size="50" 
+                                value="#{credentials.password}"/>
+                    <h:outputLabel for="rememberMe">Lembrar-me</h:outputLabel>
+                    <h:selectBooleanCheckbox id="rememberMe"
+                                          value="#{rememberMe.enabled}"/>
+               
+                    &nbpsp;
+                           <h:commandButton id="submit" value="Login" action="#{identity.login}"/>
+                </h:panelGrid>
+            </div>
+
+            <p>
+              <i>Atenção - </i> A senha diferencia letras maiúsculas e minúsculas.
+            </p>
+        </rich:panel>
+
+
+    </h:form>
+
+ </ui:define>
+</ui:composition>
diff --git a/SimDeCS/WebContent/projectConverter.xhtml b/SimDeCS/WebContent/projectConverter.xhtml
new file mode 100644 (file)
index 0000000..cefac26
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    xmlns:a="http://richfaces.org/a4j"
+    template="layout/template.xhtml">
+
+<ui:define name="body">
+
+    <rich:panel>
+        <f:facet name="header">projectConverter</f:facet>
+
+        <h:form id="ProjectConverterForm">
+
+            <h:commandButton id="projectConverter" value="projectConverter!"
+                             action="#{ProjectConverter.projectConverter}"/>
+
+        </h:form>
+
+    </rich:panel>
+
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/admin/grupo/Grupo.page.xml b/SimDeCS/WebContent/seguro/admin/grupo/Grupo.page.xml
new file mode 100644 (file)
index 0000000..b099cf9
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd">
+
+   <param name="grupoFrom"/>
+   <param name="grupoId" value="#{grupoHome.grupoId}"/>
+
+
+</page>
diff --git a/SimDeCS/WebContent/seguro/admin/grupo/Grupo.xhtml b/SimDeCS/WebContent/seguro/admin/grupo/Grupo.xhtml
new file mode 100644 (file)
index 0000000..30f06d7
--- /dev/null
@@ -0,0 +1,73 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    template="/layout/template.xhtml"
+                xmlns:a4j="http://richfaces.org/a4j">
+
+<ui:define name="body">
+
+    <rich:panel>
+        <f:facet name="header">Grupo</f:facet>
+
+
+        <s:decorate id="ativo" template="/layout/display.xhtml">
+            <ui:define name="label">Ativo</ui:define>
+            <h:outputText value="#{ (grupoHome.instance.ativo) ? 'Sim' : 'Não'}"/>
+        </s:decorate>
+
+        <s:decorate id="nome" template="/layout/display.xhtml">
+            <ui:define name="label">Nome</ui:define>
+            <h:outputText value="#{grupoHome.instance.nome}"/>
+        </s:decorate>
+
+        <div style="clear:both"/>
+
+    </rich:panel>
+        <rich:panel>
+                       <rich:panel id="result2" bodyClass="pbody">
+                               <f:facet name="header">
+                                       <h:outputText value="#{grupoHome.instance.regras.size()} Regra(s) que possui"></h:outputText>
+                               </f:facet>
+                       <rich:dataList value="#{grupoHome.instance.regras}" var="_dataListRegras" rendered="#{grupoHome.instance.regras.size()>0}"> 
+                               <h:column><h:outputText value="#{_dataListRegras.nome}"/></h:column>
+                       </rich:dataList> 
+                       </rich:panel>
+               <div style="clear:both"/>
+                       <rich:panel id="result3" bodyClass="pbody">
+                               <f:facet name="header">
+                                       <h:outputText value="#{grupoHome.instance.privilegios.size()} Privilegio(s) que possui"></h:outputText>
+                               </f:facet>
+                       <rich:dataList value="#{grupoHome.instance.privilegios}" var="_dataListPrivilegios" rendered="#{grupoHome.instance.privilegios.size()>0}"> 
+                               <h:column>
+                                       <h:outputText value="#{_dataListPrivilegios.nome}"/>
+                               </h:column>
+                       </rich:dataList> 
+                       </rich:panel>
+    </rich:panel>
+
+    <div class="actionButtons">
+
+        <s:button view="/seguro/admin/grupo/GrupoEdit.xhtml"
+                    id="edit"
+                 value="Editar"/>
+
+        <s:button view="/seguro/admin/grupo/#{empty grupoFrom ? 'GrupoList' : grupoFrom}.xhtml"
+                    id="done"
+                 value="Voltar"/>
+                 
+
+    </div>
+
+    
+    
+
+</ui:define>
+
+
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/admin/grupo/GrupoEdit.page.xml b/SimDeCS/WebContent/seguro/admin/grupo/GrupoEdit.page.xml
new file mode 100644 (file)
index 0000000..ee149f8
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd"
+      no-conversation-view-id="/seguro/admin/grupo/GrupoList.xhtml"
+      login-required="true">
+
+   <begin-conversation join="true" flush-mode="MANUAL"/>
+
+   <action execute="#{grupoHome.wire}"/>
+
+   <param name="grupoFrom"/>
+   <param name="grupoId" value="#{grupoHome.grupoId}"/>
+
+
+   <navigation from-action="#{grupoHome.persist}">
+      <rule if-outcome="persisted">
+         <end-conversation/>
+         <redirect view-id="/seguro/admin/grupo/GrupoList.xhtml"/>
+      </rule>
+   </navigation>
+
+   <navigation from-action="#{grupoHome.update}">
+      <rule if-outcome="updated">
+         <end-conversation/>
+         <redirect view-id="/seguro/admin/grupo/GrupoList.xhtml"/>
+      </rule>
+   </navigation>
+
+   <navigation from-action="#{grupoHome.remove}">
+      <rule if-outcome="removed">
+         <end-conversation/>
+         <redirect view-id="/seguro/admin/grupo/GrupoList.xhtml"/>
+      </rule>
+   </navigation>
+
+</page>
diff --git a/SimDeCS/WebContent/seguro/admin/grupo/GrupoEdit.xhtml b/SimDeCS/WebContent/seguro/admin/grupo/GrupoEdit.xhtml
new file mode 100644 (file)
index 0000000..9ce2c91
--- /dev/null
@@ -0,0 +1,111 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:a="http://richfaces.org/a4j"
+    xmlns:rich="http://richfaces.org/rich"
+    template="/layout/template.xhtml">
+
+<ui:define name="body">
+
+    <h:form id="grupo" styleClass="edit">
+
+        <rich:panel>
+            <f:facet name="header">#{grupoHome.managed ? 'Editar' : 'Novo'} Grupo</f:facet>
+
+
+
+            <s:decorate id="ativoField" template="/layout/edit.xhtml">
+                <ui:define name="label">Ativo</ui:define>
+                <h:selectBooleanCheckbox id="ativo"
+                                   required="true"
+                                      value="#{grupoHome.instance.ativo}"/>
+            </s:decorate>
+
+
+            <s:decorate id="nomeField" template="/layout/edit.xhtml">
+                <ui:define name="label">Nome</ui:define>
+                <h:inputText id="nome"
+                       required="true"
+                           size="50"
+                      maxlength="50"
+                          value="#{grupoHome.instance.nome}">
+                    <a:support event="onblur" reRender="nomeField" bypassUpdates="true" ajaxSingle="true"/>
+                </h:inputText>
+            </s:decorate>
+
+
+
+
+            <div style="clear:both">
+                <span class="required">*</span>
+                Informações Obrigatórias
+            </div>
+
+  
+
+        </rich:panel>
+                       <h:outputText value="Privilegios"></h:outputText>
+                       <rich:pickList value="#{grupoHome.instance.privilegios}"
+                       copyAllControlLabel=" "
+                       copyControlLabel=" "
+                       removeControlLabel=" "
+                       removeAllControlLabel=" ">
+                       <s:selectItems value="#{privilegioList.resultList}" var="_origemPrivilegios" label="#{_origemPrivilegios.nome}"/>
+               <!-- <a:support event="onlistchanged" reRender="result"/> -->
+               <s:convertEntity/>
+               </rich:pickList>
+       
+               <h:outputText value="Regras"></h:outputText>
+         <rich:pickList value="#{grupoHome.instance.regras}"
+               copyAllControlLabel=" "
+               copyControlLabel=" "
+               removeControlLabel=" "
+               removeAllControlLabel=" ">
+               <s:selectItems value="#{regraList.resultList}" var="_origemRegras" label="#{_origemRegras.nome}"/>
+               <!-- <a:support event="onlistchanged" reRender="result"/> -->
+               <s:convertEntity/>
+        </rich:pickList>       
+          
+
+        <div class="actionButtons">
+
+            <h:commandButton id="save"
+                          value="Salvar"
+                         action="#{grupoHome.persist}"
+                       disabled="#{!grupoHome.wired}"
+                       rendered="#{!grupoHome.managed}"/>
+
+            <h:commandButton id="update"
+                          value="Salvar"
+                         action="#{grupoHome.update}"
+                       rendered="#{grupoHome.managed}"/>
+
+            <h:commandButton id="delete"
+                          value="Excluir"
+                         action="#{grupoHome.remove}"
+                      immediate="true"
+                       rendered="#{grupoHome.managed}"/>
+
+            <s:button id="cancelEdit"
+                   value="Cancelar"
+             propagation="end"
+                    view="/seguro/admin/grupo/GrupoList.xhtml"
+                rendered="#{grupoHome.managed}"/>
+
+            <s:button id="cancelAdd"
+                   value="Cancelar"
+             propagation="end"
+                    view="/seguro/admin/grupo/GrupoList.xhtml"
+                rendered="#{!grupoHome.managed}"/>
+
+        </div>
+    </h:form>
+
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/admin/grupo/GrupoList.page.xml b/SimDeCS/WebContent/seguro/admin/grupo/GrupoList.page.xml
new file mode 100644 (file)
index 0000000..2c40722
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd">
+
+   <param name="firstResult" value="#{grupoList.firstResult}"/>
+   <param name="sort" value="#{grupoList.orderColumn}"/>
+   <param name="dir" value="#{grupoList.orderDirection}"/>
+   <param name="logic" value="#{grupoList.restrictionLogicOperator}"/>
+
+   <param name="from"/>
+   <param name="nome" value="#{grupoList.grupo.nome}"/>
+</page>
diff --git a/SimDeCS/WebContent/seguro/admin/grupo/GrupoList.xhtml b/SimDeCS/WebContent/seguro/admin/grupo/GrupoList.xhtml
new file mode 100644 (file)
index 0000000..fcf99ce
--- /dev/null
@@ -0,0 +1,150 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    template="/layout/template.xhtml">
+
+<ui:define name="body">
+
+    <h:form id="grupoSearch" styleClass="edit">
+
+        <rich:simpleTogglePanel label="Pesquisar" switchType="ajax">
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Nome</ui:define>
+                <h:inputText id="nome" value="#{grupoList.grupo.nome}" size="100"/>
+            </s:decorate>
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Opções de Pesquisa</ui:define>
+                <h:selectOneRadio id="logic" value="#{grupoList.restrictionLogicOperator}" styleClass="radio">
+                    <f:selectItem itemLabel="Com todas as palavras" itemValue="and"/>
+                    <f:selectItem itemLabel="Com qualquer uma das palavras" itemValue="or"/>
+                </h:selectOneRadio>
+            </s:decorate>
+
+        </rich:simpleTogglePanel>
+
+        <div class="actionButtons">
+            <h:commandButton id="search" value="Pesquisar" action="/seguro/admin/grupo/GrupoList.xhtml"/>
+            <s:button id="reset" value="Limpar" includePageParams="false"/>
+        </div>
+
+    </h:form>
+
+    <rich:panel>
+        <f:facet name="header">Resultados da Pesquisa (#{empty grupoList.resultList ? 0 : (grupoList.paginated ? grupoList.resultCount : grupoList.resultList.size)})</f:facet>
+    <div class="results" id="grupoList">
+
+    <h:outputText value="A pesquisa não encontrou resultados!"
+               rendered="#{empty grupoList.resultList}"/>
+
+    <rich:dataTable id="grupoList"
+                var="_grupo"
+              value="#{grupoList.resultList}"
+           rendered="#{not empty grupoList.resultList}">
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{grupoList}"/>
+                    <ui:param name="propertyLabel" value="Id"/>
+                    <ui:param name="propertyPath" value="grupo.id"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_grupo.id}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{grupoList}"/>
+                    <ui:param name="propertyLabel" value="Nome"/>
+                    <ui:param name="propertyPath" value="grupo.nome"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_grupo.nome}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{grupoList}"/>
+                    <ui:param name="propertyLabel" value="Ativo"/>
+                    <ui:param name="propertyPath" value="grupo.ativo"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{ (_grupo.ativo) ? 'Sim' : 'Não'}"/>
+        </h:column>
+        <rich:column styleClass="action">
+            <f:facet name="header">Ação</f:facet>
+            <s:link view="/seguro/admin/grupo/#{empty from ? 'Grupo' : from}.xhtml"
+                   value="#{empty from ? 'Ver' : 'Selecionar'}"
+             propagation="#{empty from ? 'none' : 'default'}"
+                      id="grupoViewId">
+                <f:param name="grupoId"
+                        value="#{_grupo.id}"/>
+            </s:link>
+            #{' '}
+            <s:link view="/seguro/admin/grupo/GrupoEdit.xhtml"
+                   value="Editar"
+             propagation="none"
+                      id="grupoEdit"
+                rendered="#{empty from}">
+                <f:param name="grupoId"
+                        value="#{_grupo.id}"/>
+            </s:link>
+        </rich:column>
+    </rich:dataTable>
+
+    </div>
+    </rich:panel>
+
+    <div class="tableControl">
+
+        <s:link view="/seguro/admin/grupo/GrupoList.xhtml"
+            rendered="#{grupoList.previousExists}"
+               value="#{messages.left}#{messages.left} Primeira Página"
+                  id="firstPage">
+          <f:param name="firstResult" value="0"/>
+        </s:link>
+
+        <s:link view="/seguro/admin/grupo/GrupoList.xhtml"
+            rendered="#{grupoList.previousExists}"
+               value="#{messages.left} Página Anterior"
+                  id="previousPage">
+            <f:param name="firstResult"
+                    value="#{grupoList.previousFirstResult}"/>
+        </s:link>
+
+        <s:link view="/seguro/admin/grupo/GrupoList.xhtml"
+            rendered="#{grupoList.nextExists}"
+               value="Próxima Página #{messages.right}"
+                  id="nextPage">
+            <f:param name="firstResult"
+                    value="#{grupoList.nextFirstResult}"/>
+        </s:link>
+
+        <s:link view="/seguro/admin/grupo/GrupoList.xhtml"
+            rendered="#{grupoList.nextExists}"
+               value="Última Página #{messages.right}#{messages.right}"
+                  id="lastPage">
+            <f:param name="firstResult"
+                    value="#{grupoList.lastFirstResult}"/>
+        </s:link>
+
+    </div>
+
+    <s:div styleClass="actionButtons" rendered="#{empty from}">
+        <s:button view="/seguro/admin/grupo/GrupoEdit.xhtml"
+                    id="create"
+           propagation="none"
+                 value="Novo Grupo">
+            <f:param name="grupoId"/>
+        </s:button>
+    </s:div>
+
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/admin/instituicao/Instituicao.page.xml b/SimDeCS/WebContent/seguro/admin/instituicao/Instituicao.page.xml
new file mode 100644 (file)
index 0000000..b7c9ebd
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd">
+
+   <param name="instituicaoFrom"/>
+   <param name="instituicaoId" value="#{instituicaoHome.instituicaoId}"/>
+
+
+</page>
diff --git a/SimDeCS/WebContent/seguro/admin/instituicao/Instituicao.xhtml b/SimDeCS/WebContent/seguro/admin/instituicao/Instituicao.xhtml
new file mode 100644 (file)
index 0000000..275b828
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    template="/layout/template.xhtml">
+
+<ui:define name="body">
+
+    <rich:panel>
+        <f:facet name="header">Instituição</f:facet>
+
+        <s:decorate id="nome" template="/layout/display.xhtml">
+            <ui:define name="label">Nome</ui:define>
+            <h:outputText value="#{instituicaoHome.instance.nome}"/>
+        </s:decorate>
+
+        <s:decorate id="endereco" template="/layout/display.xhtml">
+            <ui:define name="label">Endereço</ui:define>
+            <h:outputText value="#{instituicaoHome.instance.endereco}"/>
+        </s:decorate>
+
+        <s:decorate id="telefone" template="/layout/display.xhtml">
+            <ui:define name="label">Telefone</ui:define>
+            <h:outputText value="#{instituicaoHome.instance.telefone}"/>
+        </s:decorate>
+
+        <div style="clear:both"/>
+
+    </rich:panel>
+
+    <div class="actionButtons">
+
+        <s:button view="/seguro/admin/instituicao/InstituicaoEdit.xhtml"
+                    id="edit"
+                 value="Editar"/>
+
+        <s:button view="/seguro/admin/instituicao/#{empty instituicaoFrom ? 'InstituicaoList' : instituicaoFrom}.xhtml"
+                    id="done"
+                 value="Voltar"/>
+
+    </div>
+
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/admin/instituicao/InstituicaoEdit.page.xml b/SimDeCS/WebContent/seguro/admin/instituicao/InstituicaoEdit.page.xml
new file mode 100644 (file)
index 0000000..59ec3f3
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd"
+      no-conversation-view-id="/seguro/admin/instituicao/InstituicaoList.xhtml"
+      login-required="true">
+
+   <begin-conversation join="true" flush-mode="MANUAL"/>
+
+   <action execute="#{instituicaoHome.wire}"/>
+
+   <param name="instituicaoFrom"/>
+   <param name="instituicaoId" value="#{instituicaoHome.instituicaoId}"/>
+
+
+   <navigation from-action="#{instituicaoHome.persist}">
+      <rule if-outcome="persisted">
+         <end-conversation/>
+         <redirect view-id="/seguro/admin/instituicao/InstituicaoList.xhtml"/>
+      </rule>
+   </navigation>
+
+   <navigation from-action="#{instituicaoHome.update}">
+      <rule if-outcome="updated">
+         <end-conversation/>
+         <redirect view-id="/seguro/admin/instituicao/InstituicaoList.xhtml"/>
+      </rule>
+   </navigation>
+
+   <navigation from-action="#{instituicaoHome.remove}">
+      <rule if-outcome="removed">
+         <end-conversation/>
+         <redirect view-id="/seguro/admin/instituicao/InstituicaoList.xhtml"/>
+      </rule>
+   </navigation>
+
+</page>
diff --git a/SimDeCS/WebContent/seguro/admin/instituicao/InstituicaoEdit.xhtml b/SimDeCS/WebContent/seguro/admin/instituicao/InstituicaoEdit.xhtml
new file mode 100644 (file)
index 0000000..6bfc029
--- /dev/null
@@ -0,0 +1,96 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:a="http://richfaces.org/a4j"
+    xmlns:rich="http://richfaces.org/rich"
+    template="/layout/template.xhtml">
+
+<ui:define name="body">
+
+    <h:form id="instituicao" styleClass="edit">
+
+        <rich:panel>
+            <f:facet name="header">#{instituicaoHome.managed ? 'Editar' : 'Nova'} Instituição</f:facet>
+
+
+            <s:decorate id="nomeField" template="/layout/edit.xhtml">
+                <ui:define name="label">Nome</ui:define>
+                <h:inputText id="nome"
+                       required="true"
+                           size="100"
+                      maxlength="100"
+                          value="#{instituicaoHome.instance.nome}">
+                    <a:support event="onblur" reRender="nomeField" bypassUpdates="true" ajaxSingle="true"/>
+                </h:inputText>
+            </s:decorate>
+
+
+            <s:decorate id="enderecoField" template="/layout/edit.xhtml">
+                <ui:define name="label">Endereço</ui:define>
+                <h:inputText id="endereco"
+                           size="100"
+                      maxlength="100"
+                          value="#{instituicaoHome.instance.endereco}">
+                    <a:support event="onblur" reRender="enderecoField" bypassUpdates="true" ajaxSingle="true"/>
+                </h:inputText>
+            </s:decorate>
+
+
+            <s:decorate id="telefoneField" template="/layout/edit.xhtml">
+                <ui:define name="label">Telefone</ui:define>
+                <h:inputText id="telefone"
+                           size="20"
+                      maxlength="20"
+                          value="#{instituicaoHome.instance.telefone}">
+                    <a:support event="onblur" reRender="telefoneField" bypassUpdates="true" ajaxSingle="true"/>
+                </h:inputText>
+            </s:decorate>
+
+            <div style="clear:both">
+                <span class="required">*</span>
+                Informações Obrigatórias
+            </div>
+
+        </rich:panel>
+
+        <div class="actionButtons">
+
+            <h:commandButton id="save"
+                          value="Salvar"
+                         action="#{instituicaoHome.persist}"
+                       disabled="#{!instituicaoHome.wired}"
+                       rendered="#{!instituicaoHome.managed}"/>
+
+            <h:commandButton id="update"
+                          value="Salvar"
+                         action="#{instituicaoHome.update}"
+                       rendered="#{instituicaoHome.managed}"/>
+
+            <h:commandButton id="delete"
+                          value="Excluir"
+                         action="#{instituicaoHome.remove}"
+                      immediate="true"
+                       rendered="#{instituicaoHome.managed}"/>
+
+            <s:button id="cancelEdit"
+                   value="Cancelar"
+             propagation="end"
+                    view="/seguro/admin/instituicao/InstituicaoList.xhtml"
+                rendered="#{instituicaoHome.managed}"/>
+
+            <s:button id="cancelAdd"
+                   value="Cancelar"
+             propagation="end"
+                    view="/seguro/admin/instituicao/InstituicaoList.xhtml"
+                rendered="#{!instituicaoHome.managed}"/>
+
+        </div>
+    </h:form>
+
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/admin/instituicao/InstituicaoList.page.xml b/SimDeCS/WebContent/seguro/admin/instituicao/InstituicaoList.page.xml
new file mode 100644 (file)
index 0000000..71215a4
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd">
+
+   <param name="firstResult" value="#{instituicaoList.firstResult}"/>
+   <param name="sort" value="#{instituicaoList.orderColumn}"/>
+   <param name="dir" value="#{instituicaoList.orderDirection}"/>
+   <param name="logic" value="#{instituicaoList.restrictionLogicOperator}"/>
+
+   <param name="from"/>
+   <param name="endereco" value="#{instituicaoList.instituicao.endereco}"/>
+   <param name="nome" value="#{instituicaoList.instituicao.nome}"/>
+   <param name="telefone" value="#{instituicaoList.instituicao.telefone}"/>
+
+</page>
diff --git a/SimDeCS/WebContent/seguro/admin/instituicao/InstituicaoList.xhtml b/SimDeCS/WebContent/seguro/admin/instituicao/InstituicaoList.xhtml
new file mode 100644 (file)
index 0000000..c3f4465
--- /dev/null
@@ -0,0 +1,170 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    template="/layout/template.xhtml">
+
+<ui:define name="body">
+
+    <h:form id="instituicaoSearch" styleClass="edit">
+       
+        <rich:simpleTogglePanel label="Pesquisar" switchType="ajax">
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Nome</ui:define>
+                <h:inputText id="nome" size="80" value="#{instituicaoList.instituicao.nome}"/>
+            </s:decorate>
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Endereço</ui:define>
+                <h:inputText id="endereco" size="80" value="#{instituicaoList.instituicao.endereco}"/>
+            </s:decorate>
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Telefone</ui:define>
+                <h:inputText id="telefone" size="40" value="#{instituicaoList.instituicao.telefone}"/>
+            </s:decorate>
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Opções de Pesquisa</ui:define>
+                <h:selectOneRadio id="logic" value="#{instituicaoList.restrictionLogicOperator}" styleClass="radio">
+                    <f:selectItem itemLabel="Com todas as palavras" itemValue="and"/>
+                    <f:selectItem itemLabel="Com qualquer uma das palavras" itemValue="or"/>
+                </h:selectOneRadio>
+            </s:decorate>
+
+        </rich:simpleTogglePanel>
+
+        <div class="actionButtons">
+            <h:commandButton id="search" value="Pesquisar" action="/seguro/admin/instituicao/InstituicaoList.xhtml"/>
+            <s:button id="reset" value="Limpar" includePageParams="false"/>
+        </div>
+
+    </h:form>
+
+    <rich:panel>
+        <f:facet name="header">Resultados da Pesquisa  (#{empty instituicaoList.resultList ? 0 : (instituicaoList.paginated ? instituicaoList.resultCount : instituicaoList.resultList.size)})</f:facet>
+    <div class="results" id="instituicaoList">
+
+    <h:outputText value="A pesquisa não encontrou resultados!"
+               rendered="#{empty instituicaoList.resultList}"/>
+
+    <rich:dataTable id="instituicaoList"
+                var="_instituicao"
+              value="#{instituicaoList.resultList}"
+           rendered="#{not empty instituicaoList.resultList}">
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{instituicaoList}"/>
+                    <ui:param name="propertyLabel" value="Id"/>
+                    <ui:param name="propertyPath" value="instituicao.id"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_instituicao.id}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{instituicaoList}"/>
+                    <ui:param name="propertyLabel" value="Nome"/>
+                    <ui:param name="propertyPath" value="instituicao.nome"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_instituicao.nome}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{instituicaoList}"/>
+                    <ui:param name="propertyLabel" value="Endereco"/>
+                    <ui:param name="propertyPath" value="instituicao.endereco"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_instituicao.endereco}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{instituicaoList}"/>
+                    <ui:param name="propertyLabel" value="Telefone"/>
+                    <ui:param name="propertyPath" value="instituicao.telefone"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_instituicao.telefone}"/>
+        </h:column>
+        <rich:column styleClass="action">
+            <f:facet name="header">Ação</f:facet>
+            <s:link view="/seguro/admin/instituicao/#{empty from ? 'Instituicao' : from}.xhtml"
+                   value="#{empty from ? 'Ver' : 'Selecionar'}"
+             propagation="#{empty from ? 'none' : 'default'}"
+                      id="instituicaoViewId">
+                <f:param name="instituicaoId"
+                        value="#{_instituicao.id}"/>
+            </s:link>
+            #{' '}
+            <s:link view="/seguro/admin/instituicao/InstituicaoEdit.xhtml"
+                   value="Editar"
+             propagation="none"
+                      id="instituicaoEdit"
+                rendered="#{empty from}">
+                <f:param name="instituicaoId"
+                        value="#{_instituicao.id}"/>
+            </s:link>
+        </rich:column>
+    </rich:dataTable>
+
+    </div>
+    </rich:panel>
+
+    <div class="tableControl">
+
+        <s:link view="/seguro/admin/instituicao/InstituicaoList.xhtml"
+            rendered="#{instituicaoList.previousExists}"
+               value="#{messages.left}#{messages.left} Primeira Página"
+                  id="firstPage">
+          <f:param name="firstResult" value="0"/>
+        </s:link>
+
+        <s:link view="/seguro/admin/instituicao/InstituicaoList.xhtml"
+            rendered="#{instituicaoList.previousExists}"
+               value="#{messages.left} Página Anterior"
+                  id="previousPage">
+            <f:param name="firstResult"
+                    value="#{instituicaoList.previousFirstResult}"/>
+        </s:link>
+
+        <s:link view="/seguro/admin/instituicao/InstituicaoList.xhtml"
+            rendered="#{instituicaoList.nextExists}"
+               value="Próxima Página #{messages.right}"
+                  id="nextPage">
+            <f:param name="firstResult"
+                    value="#{instituicaoList.nextFirstResult}"/>
+        </s:link>
+
+        <s:link view="/seguro/admin/instituicao/InstituicaoList.xhtml"
+            rendered="#{instituicaoList.nextExists}"
+               value="Última Página #{messages.right}#{messages.right}"
+                  id="lastPage">
+            <f:param name="firstResult"
+                    value="#{instituicaoList.lastFirstResult}"/>
+        </s:link>
+
+    </div>
+
+    <s:div styleClass="actionButtons" rendered="#{empty from}">
+        <s:button view="/seguro/admin/instituicao/InstituicaoEdit.xhtml"
+                    id="create"
+           propagation="none"
+                 value="Nova Instituição">
+            <f:param name="instituicaoId"/>
+        </s:button>
+    </s:div>
+
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/admin/privilegio/Privilegio.page.xml b/SimDeCS/WebContent/seguro/admin/privilegio/Privilegio.page.xml
new file mode 100644 (file)
index 0000000..9f9e330
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd">
+
+   <param name="privilegioFrom"/>
+   <param name="privilegioId" value="#{privilegioHome.privilegioId}"/>
+
+
+</page>
diff --git a/SimDeCS/WebContent/seguro/admin/privilegio/Privilegio.xhtml b/SimDeCS/WebContent/seguro/admin/privilegio/Privilegio.xhtml
new file mode 100644 (file)
index 0000000..10b2c2a
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    template="/layout/template.xhtml">
+
+<ui:define name="body">
+
+    <rich:panel>
+        <f:facet name="header">Privilégio</f:facet>
+
+
+        <s:decorate id="nome" template="/layout/display.xhtml">
+            <ui:define name="label">Nome</ui:define>
+            <h:outputText value="#{privilegioHome.instance.nome}"/>
+        </s:decorate>
+
+        <s:decorate id="token" template="/layout/display.xhtml">
+            <ui:define name="label">Token</ui:define>
+            <h:outputText value="#{privilegioHome.instance.token}"/>
+        </s:decorate>
+
+        <div style="clear:both"/>
+
+    </rich:panel>
+
+    <div class="actionButtons">
+
+        <s:button view="/seguro/admin/privilegio/PrivilegioEdit.xhtml"
+                    id="edit"
+                 value="Editar"/>
+
+        <s:button view="/seguro/admin/privilegio/#{empty privilegioFrom ? 'PrivilegioList' : privilegioFrom}.xhtml"
+                    id="done"
+                 value="Voltar"/>
+
+    </div>
+
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/admin/privilegio/PrivilegioEdit.page.xml b/SimDeCS/WebContent/seguro/admin/privilegio/PrivilegioEdit.page.xml
new file mode 100644 (file)
index 0000000..5be209c
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd"
+      no-conversation-view-id="/seguro/admin/privilegio/PrivilegioList.xhtml"
+      login-required="true">
+
+   <begin-conversation join="true" flush-mode="MANUAL"/>
+
+   <action execute="#{privilegioHome.wire}"/>
+
+   <param name="privilegioFrom"/>
+   <param name="privilegioId" value="#{privilegioHome.privilegioId}"/>
+
+
+   <navigation from-action="#{privilegioHome.persist}">
+      <rule if-outcome="persisted">
+         <end-conversation/>
+         <redirect view-id="/seguro/admin/privilegio/PrivilegioList.xhtml"/>
+      </rule>
+   </navigation>
+
+   <navigation from-action="#{privilegioHome.update}">
+      <rule if-outcome="updated">
+         <end-conversation/>
+         <redirect view-id="/seguro/admin/privilegio/PrivilegioList.xhtml"/>
+      </rule>
+   </navigation>
+
+   <navigation from-action="#{privilegioHome.remove}">
+      <rule if-outcome="removed">
+         <end-conversation/>
+         <redirect view-id="/seguro/admin/privilegio/PrivilegioList.xhtml"/>
+      </rule>
+   </navigation>
+
+</page>
diff --git a/SimDeCS/WebContent/seguro/admin/privilegio/PrivilegioEdit.xhtml b/SimDeCS/WebContent/seguro/admin/privilegio/PrivilegioEdit.xhtml
new file mode 100644 (file)
index 0000000..5963b67
--- /dev/null
@@ -0,0 +1,83 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:a="http://richfaces.org/a4j"
+    xmlns:rich="http://richfaces.org/rich"
+    template="/layout/template.xhtml">
+
+<ui:define name="body">
+
+    <h:form id="privilegio" styleClass="edit">
+
+        <rich:panel>
+            <f:facet name="header">#{privilegioHome.managed ? 'Editar' : 'Novo'} Privilégio</f:facet>
+
+            <s:decorate id="nomeField" template="/layout/edit.xhtml">
+                <ui:define name="label">Nome</ui:define>
+                <h:inputText id="nome"
+                       required="true"
+                           size="100"
+                      maxlength="100"
+                          value="#{privilegioHome.instance.nome}">
+                    <a:support event="onblur" reRender="nomeField" bypassUpdates="true" ajaxSingle="true"/>
+                </h:inputText>
+            </s:decorate>
+
+
+            <s:decorate id="tokenField" template="/layout/edit.xhtml">
+                <ui:define name="label">Token</ui:define>
+                <h:inputTextarea id="token"
+                               cols="80"
+                               rows="3"
+                           required="true"
+                              value="#{privilegioHome.instance.token}"/>
+            </s:decorate>
+
+            <div style="clear:both">
+                <span class="required">*</span>
+                Informações Obrigatórias
+            </div>
+
+        </rich:panel>
+
+        <div class="actionButtons">
+
+            <h:commandButton id="save"
+                          value="Salvar"
+                         action="#{privilegioHome.persist}"
+                       disabled="#{!privilegioHome.wired}"
+                       rendered="#{!privilegioHome.managed}"/>
+
+            <h:commandButton id="update"
+                          value="Salvar"
+                         action="#{privilegioHome.update}"
+                       rendered="#{privilegioHome.managed}"/>
+
+            <h:commandButton id="delete"
+                          value="Excluir"
+                         action="#{privilegioHome.remove}"
+                      immediate="true"
+                       rendered="#{privilegioHome.managed}"/>
+
+            <s:button id="cancelEdit"
+                   value="Cancelar"
+             propagation="end"
+                    view="/seguro/admin/privilegio/PrivilegioList.xhtml"
+                rendered="#{privilegioHome.managed}"/>
+
+            <s:button id="cancelAdd"
+                   value="Cancelar"
+             propagation="end"
+                    view="/seguro/admin/privilegio/PrivilegioList.xhtml"
+                rendered="#{!privilegioHome.managed}"/>
+
+        </div>
+    </h:form>
+
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/admin/privilegio/PrivilegioList.page.xml b/SimDeCS/WebContent/seguro/admin/privilegio/PrivilegioList.page.xml
new file mode 100644 (file)
index 0000000..0afdb31
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd">
+
+   <param name="firstResult" value="#{privilegioList.firstResult}"/>
+   <param name="sort" value="#{privilegioList.orderColumn}"/>
+   <param name="dir" value="#{privilegioList.orderDirection}"/>
+   <param name="logic" value="#{privilegioList.restrictionLogicOperator}"/>
+
+   <param name="from"/>
+   <param name="nome" value="#{privilegioList.privilegio.nome}"/>
+   <param name="token" value="#{privilegioList.privilegio.token}"/>
+
+</page>
diff --git a/SimDeCS/WebContent/seguro/admin/privilegio/PrivilegioList.xhtml b/SimDeCS/WebContent/seguro/admin/privilegio/PrivilegioList.xhtml
new file mode 100644 (file)
index 0000000..96c468c
--- /dev/null
@@ -0,0 +1,155 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    template="/layout/template.xhtml">
+
+<ui:define name="body">
+
+    <h:form id="privilegioSearch" styleClass="edit">
+
+        <rich:simpleTogglePanel label="Pesquisar" switchType="ajax">
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Nome</ui:define>
+                <h:inputText id="nome" size="100" value="#{privilegioList.privilegio.nome}"/>
+            </s:decorate>
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Token</ui:define>
+                <h:inputText id="token" size="100" value="#{privilegioList.privilegio.token}"/>
+            </s:decorate>
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Opções de Pesquisa</ui:define>
+                <h:selectOneRadio id="logic" value="#{privilegioList.restrictionLogicOperator}" styleClass="radio">
+                    <f:selectItem itemLabel="Com todas as palavras" itemValue="and"/>
+                    <f:selectItem itemLabel="Com qualquer uma das palavras" itemValue="or"/>
+                </h:selectOneRadio>
+            </s:decorate>
+
+        </rich:simpleTogglePanel>
+
+        <div class="actionButtons">
+            <h:commandButton id="search" value="Pesquisar" action="/seguro/admin/privilegio/PrivilegioList.xhtml"/>
+            <s:button id="reset" value="Limpar" includePageParams="false"/>
+        </div>
+
+    </h:form>
+
+    <rich:panel>
+        <f:facet name="header">Resultados da Pesquisa(#{empty privilegioList.resultList ? 0 : (privilegioList.paginated ? privilegioList.resultCount : privilegioList.resultList.size)})</f:facet>
+    <div class="results" id="privilegioList">
+
+    <h:outputText value="A pesquisa não encontrou resultados! "
+               rendered="#{empty privilegioList.resultList}"/>
+
+    <rich:dataTable id="privilegioList"
+                var="_privilegio"
+              value="#{privilegioList.resultList}"
+           rendered="#{not empty privilegioList.resultList}">
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{privilegioList}"/>
+                    <ui:param name="propertyLabel" value="Id"/>
+                    <ui:param name="propertyPath" value="privilegio.id"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_privilegio.id}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{privilegioList}"/>
+                    <ui:param name="propertyLabel" value="Nome"/>
+                    <ui:param name="propertyPath" value="privilegio.nome"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_privilegio.nome}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{privilegioList}"/>
+                    <ui:param name="propertyLabel" value="Token"/>
+                    <ui:param name="propertyPath" value="privilegio.token"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_privilegio.token}"/>
+        </h:column>
+        <rich:column styleClass="action">
+            <f:facet name="header">Action</f:facet>
+            <s:link view="/seguro/admin/privilegio/#{empty from ? 'Privilegio' : from}.xhtml"
+                   value="#{empty from ? 'Ver' : 'Selecionar'}"
+             propagation="#{empty from ? 'none' : 'default'}"
+                      id="privilegioViewId">
+                <f:param name="privilegioId"
+                        value="#{_privilegio.id}"/>
+            </s:link>
+            #{' '}
+            <s:link view="/seguro/admin/privilegio/PrivilegioEdit.xhtml"
+                   value="Editar"
+             propagation="none"
+                      id="privilegioEdit"
+                rendered="#{empty from}">
+                <f:param name="privilegioId"
+                        value="#{_privilegio.id}"/>
+            </s:link>
+        </rich:column>
+    </rich:dataTable>
+
+    </div>
+    </rich:panel>
+
+    <div class="tableControl">
+
+        <s:link view="/seguro/admin/privilegio/PrivilegioList.xhtml"
+            rendered="#{privilegioList.previousExists}"
+               value="#{messages.left}#{messages.left} Primeira Página"
+                  id="firstPage">
+          <f:param name="firstResult" value="0"/>
+        </s:link>
+
+        <s:link view="/seguro/admin/privilegio/PrivilegioList.xhtml"
+            rendered="#{privilegioList.previousExists}"
+               value="#{messages.left} Página Anterior"
+                  id="previousPage">
+            <f:param name="firstResult"
+                    value="#{privilegioList.previousFirstResult}"/>
+        </s:link>
+
+        <s:link view="/seguro/admin/privilegio/PrivilegioList.xhtml"
+            rendered="#{privilegioList.nextExists}"
+               value="Próxima Página #{messages.right}"
+                  id="nextPage">
+            <f:param name="firstResult"
+                    value="#{privilegioList.nextFirstResult}"/>
+        </s:link>
+
+        <s:link view="/seguro/admin/privilegio/PrivilegioList.xhtml"
+            rendered="#{privilegioList.nextExists}"
+               value="Última Página #{messages.right}#{messages.right}"
+                  id="lastPage">
+            <f:param name="firstResult"
+                    value="#{privilegioList.lastFirstResult}"/>
+        </s:link>
+
+    </div>
+
+    <s:div styleClass="actionButtons" rendered="#{empty from}">
+        <s:button view="/seguro/admin/privilegio/PrivilegioEdit.xhtml"
+                    id="create"
+           propagation="none"
+                 value="Novo Privilégio">
+            <f:param name="privilegioId"/>
+        </s:button>
+    </s:div>
+
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/admin/regra/Regra.page.xml b/SimDeCS/WebContent/seguro/admin/regra/Regra.page.xml
new file mode 100644 (file)
index 0000000..45588fa
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd">
+
+   <param name="regraFrom"/>
+   <param name="regraId" value="#{regraHome.regraId}"/>
+
+
+</page>
diff --git a/SimDeCS/WebContent/seguro/admin/regra/Regra.xhtml b/SimDeCS/WebContent/seguro/admin/regra/Regra.xhtml
new file mode 100644 (file)
index 0000000..2188dfb
--- /dev/null
@@ -0,0 +1,44 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    template="/layout/template.xhtml">
+
+<ui:define name="body">
+
+    <rich:panel>
+        <f:facet name="header">Regra</f:facet>
+
+
+        <s:decorate id="nome" template="/layout/display.xhtml">
+            <ui:define name="label">Nome</ui:define>
+            <h:outputText value="#{regraHome.instance.nome}"/>
+        </s:decorate>
+
+        <s:decorate id="token" template="/layout/display.xhtml">
+            <ui:define name="label">Token</ui:define>
+            <h:outputText value="#{regraHome.instance.token}"/>
+        </s:decorate>
+
+        <div style="clear:both"/>
+
+    </rich:panel>
+
+    <div class="actionButtons">
+
+        <s:button view="/seguro/admin/regra/RegraEdit.xhtml"
+                    id="edit"
+                 value="Editar"/>
+
+        <s:button view="/seguro/admin/regra/#{empty regraFrom ? 'RegraList' : regraFrom}.xhtml"
+                    id="done"
+                 value="Voltar"/>
+    </div>
+
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/admin/regra/RegraEdit.page.xml b/SimDeCS/WebContent/seguro/admin/regra/RegraEdit.page.xml
new file mode 100644 (file)
index 0000000..d8b3d44
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd"
+      no-conversation-view-id="/seguro/admin/regra/RegraList.xhtml"
+      login-required="true">
+
+   <begin-conversation join="true" flush-mode="MANUAL"/>
+
+   <action execute="#{regraHome.wire}"/>
+
+   <param name="regraFrom"/>
+   <param name="regraId" value="#{regraHome.regraId}"/>
+
+
+   <navigation from-action="#{regraHome.persist}">
+      <rule if-outcome="persisted">
+         <end-conversation/>
+         <redirect view-id="/seguro/admin/regra/RegraList.xhtml"/>
+      </rule>
+   </navigation>
+
+   <navigation from-action="#{regraHome.update}">
+      <rule if-outcome="updated">
+         <end-conversation/>
+         <redirect view-id="/seguro/admin/regra/RegraList.xhtml"/>
+      </rule>
+   </navigation>
+
+   <navigation from-action="#{regraHome.remove}">
+      <rule if-outcome="removed">
+         <end-conversation/>
+         <redirect view-id="/seguro/admin/regra/RegraList.xhtml"/>
+      </rule>
+   </navigation>
+
+</page>
diff --git a/SimDeCS/WebContent/seguro/admin/regra/RegraEdit.xhtml b/SimDeCS/WebContent/seguro/admin/regra/RegraEdit.xhtml
new file mode 100644 (file)
index 0000000..a5be9a8
--- /dev/null
@@ -0,0 +1,86 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:a="http://richfaces.org/a4j"
+    xmlns:rich="http://richfaces.org/rich"
+    template="/layout/template.xhtml">
+
+<ui:define name="body">
+
+    <h:form id="regra" styleClass="edit">
+
+        <rich:panel>
+            <f:facet name="header">#{regraHome.managed ? 'Editar' : 'Nova'} Regra</f:facet>
+
+
+
+
+            <s:decorate id="nomeField" template="/layout/edit.xhtml">
+                <ui:define name="label">Nome</ui:define>
+                <h:inputText id="nome"
+                       required="true"
+                           size="100"
+                      maxlength="100"
+                          value="#{regraHome.instance.nome}">
+                    <a:support event="onblur" reRender="nomeField" bypassUpdates="true" ajaxSingle="true"/>
+                </h:inputText>
+            </s:decorate>
+
+
+            <s:decorate id="tokenField" template="/layout/edit.xhtml">
+                <ui:define name="label">Token</ui:define>
+                <h:inputTextarea id="token"
+                               cols="80"
+                               rows="3"
+                           required="true"
+                              value="#{regraHome.instance.token}"/>
+            </s:decorate>
+
+            <div style="clear:both">
+                <span class="required">*</span>
+                Informações Obrigatórias
+            </div>
+
+        </rich:panel>
+
+        <div class="actionButtons">
+
+            <h:commandButton id="save"
+                          value="Salvar"
+                         action="#{regraHome.persist}"
+                       disabled="#{!regraHome.wired}"
+                       rendered="#{!regraHome.managed}"/>
+
+            <h:commandButton id="update"
+                          value="Salvar"
+                         action="#{regraHome.update}"
+                       rendered="#{regraHome.managed}"/>
+
+            <h:commandButton id="delete"
+                          value="Excluir"
+                         action="#{regraHome.remove}"
+                      immediate="true"
+                       rendered="#{regraHome.managed}"/>
+
+            <s:button id="cancelEdit"
+                   value="Cancelar"
+             propagation="end"
+                    view="/seguro/admin/regra/RegraList.xhtml"
+                rendered="#{regraHome.managed}"/>
+
+            <s:button id="cancelAdd"
+                   value="Cancelar"
+             propagation="end"
+                    view="/seguro/admin/regra/RegraList.xhtml"
+                rendered="#{!regraHome.managed}"/>
+
+        </div>
+    </h:form>
+
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/admin/regra/RegraList.page.xml b/SimDeCS/WebContent/seguro/admin/regra/RegraList.page.xml
new file mode 100644 (file)
index 0000000..ba4648d
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd">
+
+   <param name="firstResult" value="#{regraList.firstResult}"/>
+   <param name="sort" value="#{regraList.orderColumn}"/>
+   <param name="dir" value="#{regraList.orderDirection}"/>
+   <param name="logic" value="#{regraList.restrictionLogicOperator}"/>
+
+   <param name="from"/>
+   <param name="nome" value="#{regraList.regra.nome}"/>
+   <param name="token" value="#{regraList.regra.token}"/>
+
+</page>
diff --git a/SimDeCS/WebContent/seguro/admin/regra/RegraList.xhtml b/SimDeCS/WebContent/seguro/admin/regra/RegraList.xhtml
new file mode 100644 (file)
index 0000000..2854134
--- /dev/null
@@ -0,0 +1,155 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    template="/layout/template.xhtml">
+
+<ui:define name="body">
+
+    <h:form id="regraSearch" styleClass="edit">
+
+        <rich:simpleTogglePanel label="Pesquisar" switchType="ajax">
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Nome</ui:define>
+                <h:inputText id="nome" size="100" value="#{regraList.regra.nome}"/>
+            </s:decorate>
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Token</ui:define>
+                <h:inputText id="token" size="100" value="#{regraList.regra.token}"/>
+            </s:decorate>
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Opções de Pesquisa</ui:define>
+                <h:selectOneRadio id="logic" value="#{regraList.restrictionLogicOperator}" styleClass="radio">
+                    <f:selectItem itemLabel="Com todas as palavras" itemValue="and"/>
+                    <f:selectItem itemLabel="Com qualquer uma das palavras" itemValue="or"/>
+                </h:selectOneRadio>
+            </s:decorate>
+
+        </rich:simpleTogglePanel>
+
+        <div class="actionButtons">
+            <h:commandButton id="search" value="Pesquisar" action="/seguro/admin/regra/RegraList.xhtml"/>
+            <s:button id="reset" value="Limpar" includePageParams="false"/>
+        </div>
+
+    </h:form>
+
+    <rich:panel>
+        <f:facet name="header">Resultados da Pesquisa(#{empty regraList.resultList ? 0 : (regraList.paginated ? regraList.resultCount : regraList.resultList.size)})</f:facet>
+    <div class="results" id="regraList">
+
+    <h:outputText value="A pesquisa não encontrou resultados!"
+               rendered="#{empty regraList.resultList}"/>
+
+    <rich:dataTable id="regraList"
+                var="_regra"
+              value="#{regraList.resultList}"
+           rendered="#{not empty regraList.resultList}">
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{regraList}"/>
+                    <ui:param name="propertyLabel" value="Id"/>
+                    <ui:param name="propertyPath" value="regra.id"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_regra.id}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{regraList}"/>
+                    <ui:param name="propertyLabel" value="Nome"/>
+                    <ui:param name="propertyPath" value="regra.nome"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_regra.nome}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{regraList}"/>
+                    <ui:param name="propertyLabel" value="Token"/>
+                    <ui:param name="propertyPath" value="regra.token"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_regra.token}"/>
+        </h:column>
+        <rich:column styleClass="action">
+            <f:facet name="header">Ação</f:facet>
+            <s:link view="/seguro/admin/regra/#{empty from ? 'Regra' : from}.xhtml"
+                   value="#{empty from ? 'Ver' : 'Selecionar'}"
+             propagation="#{empty from ? 'none' : 'default'}"
+                      id="regraViewId">
+                <f:param name="regraId"
+                        value="#{_regra.id}"/>
+            </s:link>
+            #{' '}
+            <s:link view="/seguro/admin/regra/RegraEdit.xhtml"
+                   value="Editar"
+             propagation="none"
+                      id="regraEdit"
+                rendered="#{empty from}">
+                <f:param name="regraId"
+                        value="#{_regra.id}"/>
+            </s:link>
+        </rich:column>
+    </rich:dataTable>
+
+    </div>
+    </rich:panel>
+
+    <div class="tableControl">
+
+        <s:link view="/seguro/admin/regra/RegraList.xhtml"
+            rendered="#{regraList.previousExists}"
+               value="#{messages.left}#{messages.left} Primeira Página"
+                  id="firstPage">
+          <f:param name="firstResult" value="0"/>
+        </s:link>
+
+        <s:link view="/seguro/admin/regra/RegraList.xhtml"
+            rendered="#{regraList.previousExists}"
+               value="#{messages.left} Página Anterior"
+                  id="previousPage">
+            <f:param name="firstResult"
+                    value="#{regraList.previousFirstResult}"/>
+        </s:link>
+
+        <s:link view="/seguro/admin/regra/RegraList.xhtml"
+            rendered="#{regraList.nextExists}"
+               value="Próxima Página #{messages.right}"
+                  id="nextPage">
+            <f:param name="firstResult"
+                    value="#{regraList.nextFirstResult}"/>
+        </s:link>
+
+        <s:link view="/seguro/admin/regra/RegraList.xhtml"
+            rendered="#{regraList.nextExists}"
+               value="Última Página #{messages.right}#{messages.right}"
+                  id="lastPage">
+            <f:param name="firstResult"
+                    value="#{regraList.lastFirstResult}"/>
+        </s:link>
+
+    </div>
+
+    <s:div styleClass="actionButtons" rendered="#{empty from}">
+        <s:button view="/seguro/admin/regra/RegraEdit.xhtml"
+                    id="create"
+           propagation="none"
+                 value="Nova Regra">
+            <f:param name="regraId"/>
+        </s:button>
+    </s:div>
+
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/admin/usuario/Usuario.page.xml b/SimDeCS/WebContent/seguro/admin/usuario/Usuario.page.xml
new file mode 100644 (file)
index 0000000..04b7fc7
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd">
+
+   <param name="usuarioFrom"/>
+   <param name="usuarioId" value="#{usuarioHome.usuarioId}"/>
+   
+</page>
diff --git a/SimDeCS/WebContent/seguro/admin/usuario/Usuario.xhtml b/SimDeCS/WebContent/seguro/admin/usuario/Usuario.xhtml
new file mode 100644 (file)
index 0000000..4dd6fe7
--- /dev/null
@@ -0,0 +1,145 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    xmlns:a4j="http://richfaces.org/a4j"
+    template="/layout/template.xhtml">
+
+<ui:define name="body">
+
+    <rich:panel>
+        <f:facet name="header">Usuário</f:facet>
+
+
+        <s:decorate id="aprovado" template="/layout/display.xhtml">
+            <ui:define name="label">Aprovado</ui:define>
+            <h:outputText value="#{usuarioHome.instance.aprovado}"/>
+        </s:decorate>
+
+        <s:decorate id="ativo" template="/layout/display.xhtml">
+            <ui:define name="label">Ativo</ui:define>
+            <h:outputText value="#{usuarioHome.instance.ativo}"/>
+        </s:decorate>
+
+        <s:decorate id="dataCriacao" template="/layout/display.xhtml">
+            <ui:define name="label">Data criacao</ui:define>
+            <h:outputText value="#{usuarioHome.instance.dataCriacao}">
+                <s:convertDateTime type="date" dateStyle="short"/>
+            </h:outputText>
+        </s:decorate>
+
+        <s:decorate id="dataNascimento" template="/layout/display.xhtml">
+            <ui:define name="label">Data nascimento</ui:define>
+            <h:outputText value="#{usuarioHome.instance.dataNascimento}">
+                <s:convertDateTime type="date" dateStyle="short"/>
+            </h:outputText>
+        </s:decorate>
+
+        <s:decorate id="email" template="/layout/display.xhtml">
+            <ui:define name="label">Email</ui:define>
+            <h:outputText value="#{usuarioHome.instance.email}"/>
+        </s:decorate>
+
+        <s:decorate id="funcao" template="/layout/display.xhtml">
+            <ui:define name="label">Funcao</ui:define>
+            <h:outputText value="#{usuarioHome.instance.funcao}"/>
+        </s:decorate>
+
+        <s:decorate id="login" template="/layout/display.xhtml">
+            <ui:define name="label">Login</ui:define>
+            <h:outputText value="#{usuarioHome.instance.login}"/>
+        </s:decorate>
+
+        <s:decorate id="nome" template="/layout/display.xhtml">
+            <ui:define name="label">Nome</ui:define>
+            <h:outputText value="#{usuarioHome.instance.nome}"/>
+        </s:decorate>
+
+        <s:decorate id="senha" template="/layout/display.xhtml">
+            <ui:define name="label">Senha</ui:define>
+            <h:outputText value="#{usuarioHome.instance.senha}"/>
+        </s:decorate>
+
+        <s:decorate id="sexo" template="/layout/display.xhtml">
+            <ui:define name="label">Sexo</ui:define>
+            <h:outputText value="#{usuarioHome.instance.sexo}"/>
+        </s:decorate>
+
+        <s:decorate id="telefone" template="/layout/display.xhtml">
+            <ui:define name="label">Telefone</ui:define>
+            <h:outputText value="#{usuarioHome.instance.telefone}"/>
+        </s:decorate>
+
+        <div style="clear:both"/>
+
+    </rich:panel>
+
+    <div class="actionButtons">
+
+        <s:button view="/seguro/admin/usuario/UsuarioEdit.xhtml"
+                    id="edit"
+                 value="Editar"/>
+
+        <s:button view="/seguro/admin/usuario/#{empty usuarioFrom ? 'UsuarioList' : usuarioFrom}.xhtml"
+                    id="done"
+                 value="Cancelar"/>
+
+    </div>
+<!-- Alterdo -->
+
+
+    <rich:panel id="result" bodyClass="pbody">
+            <f:facet name="header">
+                <h:outputText value="#{usuarioHome.instance.grupos.size()} Grupo(s) que pertence"></h:outputText>
+            </f:facet>
+            <rich:dataList value="#{usuarioHome.instance.grupos}" var="_dataList" rendered="#{usuarioHome.instance.grupos.size()>0}"> 
+                    <h:outputText value="#{_dataList.nome}"/>
+            </rich:dataList> 
+        </rich:panel>
+
+
+    <rich:tabPanel switchType="ajax">
+
+    <rich:tab>
+        <f:facet name="label">
+            <h:panelGroup><h:graphicImage value="/img/manytoone.gif" style="vertical-align: middle; padding-right: 4px;"/>Criado por</h:panelGroup>
+        </f:facet>
+    <div class="association" id="criadoPorParent">
+
+        <h:outputText value="Informação Indisponível"
+                   rendered="#{usuarioHome.instance.criadoPor == null}"/>
+
+        <rich:dataTable var="_usuario"
+                   value="#{usuarioHome.instance.criadoPor}"
+                rendered="#{usuarioHome.instance.criadoPor != null}"
+              rowClasses="rvgRowOne,rvgRowTwo"
+                      id="criadoPorTable">
+            <h:column>
+                <f:facet name="header">Id</f:facet>
+                <h:outputText value="#{_usuario.id}"/>
+            </h:column>
+            <h:column>
+                <f:facet name="header">Nome</f:facet>
+                <h:outputText value="#{_usuario.nome}"/>
+            </h:column>
+            <h:column styleClass="action">
+                <f:facet name="header">Ação</f:facet>
+                <s:link id="viewusuario"
+                     value="Ver"
+                      view="/seguro/admin/usuario/Usuario.xhtml">
+                    <f:param name="usuarioId"
+                           value="#{_usuario.id}"/>
+                </s:link>
+            </h:column>
+        </rich:dataTable>
+
+    </div>
+    </rich:tab>
+</rich:tabPanel>
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/admin/usuario/UsuarioEdit.page.xml b/SimDeCS/WebContent/seguro/admin/usuario/UsuarioEdit.page.xml
new file mode 100644 (file)
index 0000000..0527d32
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd"
+      no-conversation-view-id="/seguro/admin/usuario/UsuarioList.xhtml"
+      login-required="true">
+
+   <begin-conversation join="true" flush-mode="MANUAL"/>
+
+   <action execute="#{usuarioHome.wire}"/>
+
+   <param name="usuarioFrom"/>
+   <param name="usuarioId" value="#{usuarioHome.usuarioId}"/>
+
+
+   <navigation from-action="#{usuarioHome.persist}">
+      <rule if-outcome="persisted">
+         <end-conversation/>
+         <redirect view-id="/seguro/admin/usuario/UsuarioList.xhtml"/>
+      </rule>
+   </navigation>
+
+   <navigation from-action="#{usuarioHome.update}">
+      <rule if-outcome="updated">
+         <end-conversation/>
+         <redirect view-id="/seguro/admin/usuario/UsuarioList.xhtml"/>
+      </rule>
+   </navigation>
+
+   <navigation from-action="#{usuarioHome.remove}">
+      <rule if-outcome="removed">
+         <end-conversation/>
+         <redirect view-id="/seguro/admin/usuario/UsuarioList.xhtml"/>
+      </rule>
+   </navigation>
+
+</page>
diff --git a/SimDeCS/WebContent/seguro/admin/usuario/UsuarioEdit.xhtml b/SimDeCS/WebContent/seguro/admin/usuario/UsuarioEdit.xhtml
new file mode 100644 (file)
index 0000000..23f9ccf
--- /dev/null
@@ -0,0 +1,212 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:a="http://richfaces.org/a4j"
+    xmlns:rich="http://richfaces.org/rich"
+    template="/layout/template.xhtml">
+
+<ui:define name="body">
+
+    <h:form id="usuario" styleClass="edit">
+
+        <rich:panel>
+            <f:facet name="header">#{usuarioHome.managed ? 'Editar' : 'Novo'} Usuário</f:facet>
+
+
+
+            <s:decorate id="aprovadoField" template="/layout/edit.xhtml">
+                <ui:define name="label">Aprovado</ui:define>
+                <h:selectBooleanCheckbox id="aprovado"
+                                   required="true"
+                                      value="#{usuarioHome.instance.aprovado}"/>
+            </s:decorate>
+
+
+            <s:decorate id="ativoField" template="/layout/edit.xhtml">
+                <ui:define name="label">Ativo</ui:define>
+                <h:selectBooleanCheckbox id="ativo"
+                                   required="true"
+                                      value="#{usuarioHome.instance.ativo}"/>
+            </s:decorate>
+
+
+
+            <s:decorate id="dataCriacaoField" template="/layout/edit.xhtml">
+                <ui:define name="label">Data criacao</ui:define>
+                <rich:calendar id="dataCriacao"
+                          value="#{usuarioHome.instance.dataCriacao}" datePattern="MM/dd/yyyy" />
+            </s:decorate>
+
+
+            <s:decorate id="dataNascimentoField" template="/layout/edit.xhtml">
+                <ui:define name="label">Data nascimento</ui:define>
+                <rich:calendar id="dataNascimento"
+                          value="#{usuarioHome.instance.dataNascimento}" datePattern="MM/dd/yyyy" />
+            </s:decorate>
+
+
+            <s:decorate id="emailField" template="/layout/edit.xhtml">
+                <ui:define name="label">Email</ui:define>
+                <h:inputText id="email"
+                       required="true"
+                           size="40"
+                      maxlength="40"
+                          value="#{usuarioHome.instance.email}">
+                    <a:support event="onblur" reRender="emailField" bypassUpdates="true" ajaxSingle="true"/>
+                </h:inputText>
+            </s:decorate>
+
+
+            <s:decorate id="funcaoField" template="/layout/edit.xhtml">
+                <ui:define name="label">Funcao</ui:define>
+                <h:inputText id="funcao"
+                           size="100"
+                      maxlength="100"
+                          value="#{usuarioHome.instance.funcao}">
+                    <a:support event="onblur" reRender="funcaoField" bypassUpdates="true" ajaxSingle="true"/>
+                </h:inputText>
+            </s:decorate>
+
+
+
+            <s:decorate id="loginField" template="/layout/edit.xhtml">
+                <ui:define name="label">Login</ui:define>
+                <h:inputText id="login"
+                       required="true"
+                           size="30"
+                      maxlength="30"
+                          value="#{usuarioHome.instance.login}">
+                    <a:support event="onblur" reRender="loginField" bypassUpdates="true" ajaxSingle="true"/>
+                </h:inputText>
+            </s:decorate>
+
+
+            <s:decorate id="nomeField" template="/layout/edit.xhtml">
+                <ui:define name="label">Nome</ui:define>
+                <h:inputText id="nome"
+                       required="true"
+                           size="70"
+                      maxlength="70"
+                          value="#{usuarioHome.instance.nome}">
+                    <a:support event="onblur" reRender="nomeField" bypassUpdates="true" ajaxSingle="true"/>
+                </h:inputText>
+            </s:decorate>
+
+
+            <s:decorate id="senhaField" template="/layout/edit.xhtml">
+                <ui:define name="label">Senha</ui:define>
+                <h:inputText id="senha"
+                       required="true"
+                           size="20"
+                      maxlength="20"
+                          value="#{usuarioHome.instance.senha}">
+                    <a:support event="onblur" reRender="senhaField" bypassUpdates="true" ajaxSingle="true"/>
+                </h:inputText>
+            </s:decorate>
+
+
+            <s:decorate id="sexoField" template="/layout/edit.xhtml">
+                <ui:define name="label">Sexo</ui:define>
+                <h:inputText id="sexo"
+                           size="1"
+                      maxlength="1"
+                          value="#{usuarioHome.instance.sexo}">
+                    <a:support event="onblur" reRender="sexoField" bypassUpdates="true" ajaxSingle="true"/>
+                </h:inputText>
+            </s:decorate>
+
+
+            <s:decorate id="telefoneField" template="/layout/edit.xhtml">
+                <ui:define name="label">Telefone</ui:define>
+                <h:inputText id="telefone"
+                           size="20"
+                      maxlength="20"
+                          value="#{usuarioHome.instance.telefone}">
+                    <a:support event="onblur" reRender="telefoneField" bypassUpdates="true" ajaxSingle="true"/>
+                </h:inputText>
+            </s:decorate>
+
+            <div style="clear:both">
+                <span class="required">*</span>
+                Informações Obrigatórias
+            </div>
+
+        </rich:panel>
+        <rich:pickList value="#{usuarioHome.instance.grupos}"
+               copyAllControlLabel=" "
+               copyControlLabel=" "
+               removeControlLabel=" "
+               removeAllControlLabel=" ">
+               <s:selectItems value="#{grupoList.resultList}" var="_origem" label="#{_origem.nome}"/>
+               <!-- <a:support event="onlistchanged" reRender="result"/> -->
+               <s:convertEntity/>
+        </rich:pickList>
+     
+
+
+        <div class="actionButtons">
+
+            <h:commandButton id="save"
+                          value="Salvar"
+                         action="#{usuarioHome.persist}"
+                       disabled="#{!usuarioHome.wired}"
+                       rendered="#{!usuarioHome.managed}"/>
+
+            <h:commandButton id="update"
+                          value="Salvar"
+                         action="#{usuarioHome.update}"
+                       rendered="#{usuarioHome.managed}"/>
+
+            <h:commandButton id="delete"
+                          value="Excluir"
+                         action="#{usuarioHome.remove}"
+                      immediate="true"
+                       rendered="#{usuarioHome.managed}"/>
+
+            <s:button id="cancelEdit"
+                   value="Cancelar"
+             propagation="end"
+                    view="/seguro/admin/usuario/UsuarioList.xhtml"
+                rendered="#{usuarioHome.managed}"/>
+
+            <s:button id="cancelAdd"
+                   value="Cancelar"
+             propagation="end"
+                    view="/seguro/admin/usuario/UsuarioList.xhtml"
+                rendered="#{!usuarioHome.managed}"/>
+
+        </div>
+    </h:form>
+
+<rich:tabPanel switchType="ajax">
+
+    <rich:tab label="Criado por">
+    <div class="association" id="criadoPorParent">
+
+        <h:outputText value="Informação indisponível"
+                   rendered="#{usuarioHome.instance.criadoPor == null}"/>
+
+        <rich:dataTable var="_usuario"
+                   value="#{usuarioHome.instance.criadoPor}"
+                rendered="#{usuarioHome.instance.criadoPor != null}"
+              rowClasses="rvgRowOne,rvgRowTwo"
+                      id="criadoPorTable">
+            <h:column>
+                <f:facet name="header">Id</f:facet>
+                <h:outputText value="#{_usuario.id}"/>
+            </h:column>
+            <h:column>
+                <f:facet name="header">Nome</f:facet>
+                <h:outputText value="#{_usuario.nome}"/>
+            </h:column>
+        </rich:dataTable>
+    </div>
+    </rich:tab>
+</rich:tabPanel>
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/admin/usuario/UsuarioList.page.xml b/SimDeCS/WebContent/seguro/admin/usuario/UsuarioList.page.xml
new file mode 100644 (file)
index 0000000..7d60a70
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd">
+
+   <param name="firstResult" value="#{usuarioList.firstResult}"/>
+   <param name="sort" value="#{usuarioList.orderColumn}"/>
+   <param name="dir" value="#{usuarioList.orderDirection}"/>
+   <param name="logic" value="#{usuarioList.restrictionLogicOperator}"/>
+   <param name="usuarioId" value="#{usuarioList.usuario.id}"/>
+
+   
+
+</page>
diff --git a/SimDeCS/WebContent/seguro/admin/usuario/UsuarioList.xhtml b/SimDeCS/WebContent/seguro/admin/usuario/UsuarioList.xhtml
new file mode 100644 (file)
index 0000000..c98a14a
--- /dev/null
@@ -0,0 +1,247 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    template="/layout/template.xhtml">
+
+<ui:define name="body">
+
+    <h:form id="usuarioSearch" styleClass="edit">
+
+        <rich:simpleTogglePanel label="Pesquisar" switchType="ajax">
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Nome</ui:define>
+                <h:inputText id="nome" value="#{usuarioList.usuario.nome}"/>
+            </s:decorate>
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Login</ui:define>
+                <h:inputText id="login" value="#{usuarioList.usuario.login}"/>
+            </s:decorate>
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Email</ui:define>
+                <h:inputText id="email" value="#{usuarioList.usuario.email}"/>
+            </s:decorate>
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Funcao</ui:define>
+                <h:inputText id="funcao" value="#{usuarioList.usuario.funcao}"/>
+            </s:decorate>
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Sexo</ui:define>
+                <h:inputText id="sexo" value="#{usuarioList.usuario.sexo}"/>
+            </s:decorate>
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Telefone</ui:define>
+                <h:inputText id="telefone" value="#{usuarioList.usuario.telefone}"/>
+            </s:decorate>
+
+            <s:decorate template="/layout/display.xhtml">
+                <ui:define name="label">Opções de Pesquisa</ui:define>
+                <h:selectOneRadio id="logic" value="#{usuarioList.restrictionLogicOperator}" styleClass="radio">
+                    <f:selectItem itemLabel="Com todas as palavras" itemValue="and"/>
+                    <f:selectItem itemLabel="Com qualquer uma das palavras" itemValue="or"/>
+                </h:selectOneRadio>
+            </s:decorate>
+
+        </rich:simpleTogglePanel>
+
+        <div class="actionButtons">
+            <h:commandButton id="search" value="Pesquisar" action="/seguro/admin/usuario/UsuarioList.xhtml"/>
+            <s:button id="reset" value="Limpar" includePageParams="false"/>
+        </div>
+
+    </h:form>
+
+    <rich:panel>
+        <f:facet name="header">Resultado da Pesquisa(#{empty usuarioList.resultList ? 0 : (usuarioList.paginated ? usuarioList.resultCount : usuarioList.resultList.size)})</f:facet>
+    <div class="results" id="usuarioList">
+
+    <h:outputText value="A pesquisa não encontrou resultados!"
+               rendered="#{empty usuarioList.resultList}"/>
+
+    <rich:dataTable id="usuarioList"
+                var="_usuario"
+              value="#{usuarioList.resultList}"
+           rendered="#{not empty usuarioList.resultList}">
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{usuarioList}"/>
+                    <ui:param name="propertyLabel" value="Id"/>
+                    <ui:param name="propertyPath" value="usuario.id"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_usuario.id}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{usuarioList}"/>
+                    <ui:param name="propertyLabel" value="Aprovado"/>
+                    <ui:param name="propertyPath" value="usuario.aprovado"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_usuario.aprovado}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{usuarioList}"/>
+                    <ui:param name="propertyLabel" value="Ativo"/>
+                    <ui:param name="propertyPath" value="usuario.ativo"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_usuario.ativo}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{usuarioList}"/>
+                    <ui:param name="propertyLabel" value="Data nascimento"/>
+                    <ui:param name="propertyPath" value="usuario.dataNascimento"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_usuario.dataNascimento}">
+                <s:convertDateTime type="date" dateStyle="short"/>
+            </h:outputText>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{usuarioList}"/>
+                    <ui:param name="propertyLabel" value="Email"/>
+                    <ui:param name="propertyPath" value="usuario.email"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_usuario.email}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{usuarioList}"/>
+                    <ui:param name="propertyLabel" value="Funcao"/>
+                    <ui:param name="propertyPath" value="usuario.funcao"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_usuario.funcao}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{usuarioList}"/>
+                    <ui:param name="propertyLabel" value="Login"/>
+                    <ui:param name="propertyPath" value="usuario.login"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_usuario.login}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{usuarioList}"/>
+                    <ui:param name="propertyLabel" value="Nome"/>
+                    <ui:param name="propertyPath" value="usuario.nome"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_usuario.nome}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{usuarioList}"/>
+                    <ui:param name="propertyLabel" value="Sexo"/>
+                    <ui:param name="propertyPath" value="usuario.sexo"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_usuario.sexo}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">
+                <ui:include src="/layout/sort.xhtml">
+                    <ui:param name="entityList" value="#{usuarioList}"/>
+                    <ui:param name="propertyLabel" value="Telefone"/>
+                    <ui:param name="propertyPath" value="usuario.telefone"/>
+                </ui:include>
+            </f:facet>
+            <h:outputText value="#{_usuario.telefone}"/>
+        </h:column>
+        <rich:column styleClass="action">
+            <f:facet name="header">Ação</f:facet>
+            <s:link view="/seguro/admin/usuario/#{empty from ? 'Usuario' : from}.xhtml"
+                   value="#{empty from ? 'Ver' : 'Selecionar'}"
+             propagation="#{empty from ? 'none' : 'default'}"
+                      id="usuarioViewId">
+                <f:param name="usuarioId"
+                        value="#{_usuario.id}"/>
+            </s:link>
+            #{' '}
+            <s:link view="/seguro/admin/usuario/UsuarioEdit.xhtml"
+                   value="Editar"
+             propagation="none"
+                      id="usuarioEdit"
+                rendered="#{empty from}">
+                <f:param name="usuarioId"
+                        value="#{_usuario.id}"/>
+            </s:link>
+        </rich:column>
+    </rich:dataTable>
+
+    </div>
+    </rich:panel>
+
+    <div class="tableControl">
+
+        <s:link view="/seguro/admin/usuario/UsuarioList.xhtml"
+            rendered="#{usuarioList.previousExists}"
+               value="#{messages.left}#{messages.left} Primeira Página"
+                  id="firstPage">
+          <f:param name="firstResult" value="0"/>
+        </s:link>
+
+        <s:link view="/seguro/admin/usuario/UsuarioList.xhtml"
+            rendered="#{usuarioList.previousExists}"
+               value="#{messages.left} Página Anterior"
+                  id="previousPage">
+            <f:param name="firstResult"
+                    value="#{usuarioList.previousFirstResult}"/>
+        </s:link>
+
+        <s:link view="/seguro/admin/usuario/UsuarioList.xhtml"
+            rendered="#{usuarioList.nextExists}"
+               value="Próxima Página #{messages.right}"
+                  id="nextPage">
+            <f:param name="firstResult"
+                    value="#{usuarioList.nextFirstResult}"/>
+        </s:link>
+
+        <s:link view="/seguro/admin/usuario/UsuarioList.xhtml"
+            rendered="#{usuarioList.nextExists}"
+               value="Última Página #{messages.right}#{messages.right}"
+                  id="lastPage">
+            <f:param name="firstResult"
+                    value="#{usuarioList.lastFirstResult}"/>
+        </s:link>
+
+    </div>
+
+    <s:div styleClass="actionButtons" rendered="#{empty from}">
+        <s:button view="/seguro/admin/usuario/UsuarioEdit.xhtml"
+                    id="create"
+           propagation="none"
+                 value="Novo Usuário">
+            <f:param name="usuarioId"/>
+        </s:button>
+    </s:div>
+
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/vrmed/criarNovoDiagrama.xhtml b/SimDeCS/WebContent/seguro/vrmed/criarNovoDiagrama.xhtml
new file mode 100644 (file)
index 0000000..1be41b4
--- /dev/null
@@ -0,0 +1,48 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    xmlns:a="http://richfaces.org/a4j"
+    template="/layout/template.xhtml">
+
+<ui:define name="body">
+
+        <h:form id="CriarNovoDiagramaForm">
+
+                       <div style="background-color: #A0CFA9; width: 80%; color: #FFFFFF; font-size: 13px; font-weight: bold;
+                               margin-top: 10px; margin-bottom:10px; margin-left:10px; margin-right:10px; padding: 10px;">
+                               Bem vindo ao seu novo diagrama!
+                               <br/><br/>
+                               Para criar seu caso clínico são necessárias algumas informações. Informe abaixo um texto introdutório sobre o caso em questão (digitando no campo abaixo) e selecione um cenário onde irá se desenvolver a história (clicando sobre a imagem).
+                               <br/><br/>
+                               Após clique sobre a opção “Adicionar Ator” para prosseguir com o processo.
+                               <br/><br/><br/>
+
+                               Introdução:<br/>
+                               <h:inputTextarea value="#{SelecionarDiagrama.textoIntroducao}" id="textoIntroducao" cols="32768" style="width: 100%; height: 100px;" />
+                               <br/>
+                               <br/>
+                               
+                               <h:inputHidden id="idCenario" value="#{SelecionarDiagrama.cenario}" />
+
+                               <rich:dataGrid id="tabelaCenario" styleClass="tabelaSemBorda" style="background-color: #A0CFA9; width:#{SelecionarDiagrama.listaCenarios.size*160}px;" value="#{SelecionarDiagrama.listaCenarios}" var="cenario" columns="#{SelecionarDiagrama.listaCenarios.size}">
+                                       <center>
+                                                       <h:graphicImage value="/img/vrmed/cenarios/#{cenario.thumbnailURL}" onclick="document.getElementById('CriarNovoDiagramaForm:idCenario').value=#{cenario.id}; this.setAttribute('style', 'margin:3px'); this.setAttribute('style', 'border:6px solid #000066');"/>
+                                                       <br/>
+                                                       <h:outputText value="#{cenario.nome}" style="color:#FFFFFF;" />
+                                       </center> 
+                               </rich:dataGrid>                                
+                   <h:commandButton id="teste" value="Teste!"
+                             action="#{SelecionarDiagrama.teste}"/>
+
+                       </div>
+        </h:form>
+
+
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/seguro/vrmed/selecionarDiagrama.page.xml b/SimDeCS/WebContent/seguro/vrmed/selecionarDiagrama.page.xml
new file mode 100644 (file)
index 0000000..99c4061
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<page xmlns="http://jboss.com/products/seam/pages"\r
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+      xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.0.xsd"\r
+      login-required="true">\r
+\r
+       <navigation>\r
+               <rule if-outcome="novoDiagrama">\r
+                <redirect view-id="/seguro/vrmed/criarNovoDiagrama.xhtml"/>\r
+               </rule>\r
+       </navigation>\r
+\r
+</page>
\ No newline at end of file
diff --git a/SimDeCS/WebContent/seguro/vrmed/selecionarDiagrama.xhtml b/SimDeCS/WebContent/seguro/vrmed/selecionarDiagrama.xhtml
new file mode 100644 (file)
index 0000000..37bdfdc
--- /dev/null
@@ -0,0 +1,63 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    xmlns:a="http://richfaces.org/a4j"
+    template="/layout/template.xhtml">
+
+<ui:define name="body">
+
+        <f:facet name="header">selecionarDiagrama</f:facet>
+
+        <h:form id="SelecionarDiagramaForm">
+
+                       <table border="0" cellpadding="0" cellspacing="0">
+                               <tr>
+                                       <td><img src="../../img/vrmed/headerNovoDiagrama.png" border="0"/></td>
+                                       <td style="width:10px;">&nbsp;</td>
+                                       <td><img src="../../img/vrmed/headerEditarDiagrama.png" border="0"/></td>
+                                       <td style="width:10px;">&nbsp;</td>
+                                       <td><img src="../../img/vrmed/headerExcluirDiagrama.png" border="0"/></td>
+                               </tr>
+                               <tr>
+                                       <td background="../../img/vrmed/bodyNovoDiagrama.png" align="center">
+                                               <table border="0" >
+                                                       <tr>
+                                                               <td align="left">Nome do Diagrama</td>
+                                                       </tr>
+                                                       <tr>
+                                                               <td align="left"><h:inputText id="nome" required="false" size="30" maxlength="50" value="#{SelecionarDiagrama.nomeNovoDiagrama}" />
+                                                               </td>
+                                                       </tr>
+                                                       <tr>
+                                                               <td align="left">
+                                                           <h:commandButton id="criarNovoDiagrama" value="Criar"
+                                                                            action="#{SelecionarDiagrama.criarNovoDiagrama}"/>
+                                                               </td>
+                                                       </tr>
+                                               </table>
+                                       </td>
+                                       <td>&nbsp;</td>
+                                       <td background="../../img/vrmed/bodyEditarDiagrama.png">
+                                       </td>
+                                       <td>&nbsp;</td>
+                                       <td background="../../img/vrmed/bodyExcluirDiagrama.png">
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td><img src="../../img/vrmed/footerNovoDiagrama.png" border="0"/></td>
+                                       <td>&nbsp;</td>
+                                       <td><img src="../../img/vrmed/footerEditarDiagrama.png" border="0"/></td>
+                                       <td>&nbsp;</td>
+                                       <td><img src="../../img/vrmed/footerExcluirDiagrama.png" border="0"/></td>
+                               </tr>
+                       </table>
+        </h:form>
+
+</ui:define>
+
+</ui:composition>
diff --git a/SimDeCS/WebContent/stylesheet/theme.css b/SimDeCS/WebContent/stylesheet/theme.css
new file mode 100644 (file)
index 0000000..41e89af
--- /dev/null
@@ -0,0 +1,228 @@
+html {
+       overflow-y: scroll;
+}
+
+body {
+       font-family: Arial, Helvetica;
+       font-size: 12px;
+       margin: 0px;
+}
+.top{
+            vertical-align:top;
+}
+.pbody{
+            padding:0px;
+            height:120px; 
+            width:150px;
+            overflow:auto;
+}
+        
+a img {
+       border: none;
+}
+
+h1 {
+       font-size: 1.6em;
+       margin-top: 0;
+}
+
+input[type=submit], input[type=button] {
+       font-size: 11px;
+       margin: 5px 5px 5px 0;
+       cursor: pointer;
+}
+
+input[type=text], input[type=password], textarea {
+       font-size: 12px;
+       padding-left: 1px;
+}
+
+select {
+       font-size: 13px;
+}
+
+.tableControl, .actionButtons {
+       width: 100%;
+}
+
+.tableControl a {
+       padding-left: 10px;
+}
+
+.tableControl {
+       text-align: right;
+}
+
+.footer {
+       text-align: center;
+       font-size: 11px;
+       margin-bottom: 10px;
+}
+
+.rich-table {
+       width: 100%;
+}
+
+.body {
+       padding: 30px;
+}
+.message {
+       padding: 5px;
+       list-style: none;
+       border: 0;
+       background: none;
+       padding: 0;
+       color: #000000;
+       margin: 5px 0 8px 0;
+       font-size: 12px;
+}
+
+.message li {
+       background: no-repeat left center;
+       padding-top: 1px;
+       padding-left: 20px;
+       margin-left: 3px;
+}
+
+.message li.infomsg {
+       background-image: url(../img/msginfo.png);
+}
+
+.message li.errormsg {
+       background-image: url(../img/msgerror.png);
+}
+
+.message li.warnmsg {
+       background-image: url(../img/msgwarn.png);
+}
+
+.name {
+       vertical-align: top;
+       font-weight: bold;
+       width: 115px;
+       float: left;
+       padding: 5px;
+       margin-top: 3px;
+       clear: left;
+}
+
+.value {
+       float: left;
+       padding: 5px;
+}
+
+.error {
+       float: left;
+       padding: 5px;
+}
+
+.errors {
+       color: #FF0000;
+       vertical-align: middle;
+}
+
+img.errors {
+       padding-right: 5px;
+}
+
+.errors input, .errors textarea, .errors select {
+       border: 1px solid red !important;
+}
+
+.required {
+       color: #FF0000;
+       padding-left: 2px;
+}
+
+.rich-stglpanel-body {
+       overflow: auto;
+} 
+
+/* the specificity here is necessary to override the defaults */
+/*
+.rich-panel .rich-panel-header,
+.rich-stglpanel .rich-stglpanel-header {
+       padding: 2px 3px;
+}*/
+
+.rich-panel input[type=submit], .rich-panel input[type=button],
+.rich-tabpanel input[type=submit], .rich-tabpanel input[type=button] {
+       margin-bottom: 0;
+}
+
+.tableControl input[type=submit], .tableControl input[type=button], .tableControl select {
+       margin: 5px 0 5px 5px;
+}
+
+/* I don't know why this is necessary, but the select is off by a pixel on the top and is padding too much on the left */
+.tableControl select {
+       margin-left: 2px;
+       position: relative;
+       top: 1px;
+}
+
+.actionButtons {
+       padding-left: 1px;
+}
+
+.actionButtons select {
+       margin: 5px 5px 5px 0;
+       vertical-align: bottom;
+}
+
+.rich-toolbar-item a {
+       text-decoration: none;
+}
+
+.rich-toolbar-item a:hover, .rich-ddmenu-label-select {
+       text-decoration: underline;
+}
+
+.rich-toolbar-item .rich-menu-item a:hover {
+       text-decoration: none;
+}
+
+.rich-datalist {
+       list-style: square;
+       margin: 6px 0 1px 0;
+       padding-left: 18px;
+}
+
+.rich-list-item {
+       padding-bottom: 4px;
+}
+
+div.info {
+       font-size: 1.2em;
+}
+
+ul.bullets {
+       list-style: square;
+}
+
+ul.bullets li {
+       padding-bottom: 2px;
+}
+
+td.action {
+       text-align: center;
+       width: 8em;
+       white-space: nowrap;
+}
+
+td.action a {
+       padding-left: 1px;
+       padding-right: 1px;
+}
+
+table.radio {
+   border: 0;
+}
+
+table.radio td {
+   padding: 0 2px;
+}
+
+table.radio input[type=radio] {
+   vertical-align: bottom;
+}
diff --git a/SimDeCS/WebContent/stylesheet/theme.xcss b/SimDeCS/WebContent/stylesheet/theme.xcss
new file mode 100644 (file)
index 0000000..73f88a1
--- /dev/null
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:template xmlns="http://www.w3.org/1999/xhtml"
+       xmlns:f="http:/jsf.exadel.com/template"
+       xmlns:u="http:/jsf.exadel.com/template/util">
+       <u:selector name="body">
+               <u:style name="font-family" skin="generalFamilyFont"/>
+               <u:style name="color" skin="generalTextColor"/>
+       </u:selector>
+       <u:selector name="h1">
+               <u:style name="font-family" skin="generalFamilyFont"/>
+               <u:style name="color" skin="tabDisabledTextColor"/>
+       </u:selector>
+       <u:selector name="a:active, a:link, a:visited">
+               <u:style name="color" skin="generalLinkColor"/>
+       </u:selector>
+       <u:selector name="a:hover">
+               <u:style name="color" skin="hoverLinkColor"/>
+       </u:selector>
+       <u:selector name="input[type=text], input[type=password], textarea, select">
+               <u:style name="background-color" skin="controlBackgroundColor"/>
+               <u:style name="color" skin="controlTextColor"/>
+               <u:style name="background-position" value="left top"/>
+               <u:style name="background-repeat" value="repeat-x"/>
+               <u:style name="background-image">
+                       <f:resource f:key="org.richfaces.renderkit.html.images.SliderFieldGradient"/>
+               </u:style>
+               <u:style name="border" value="1px solid"/>
+               <u:style name="border-color" skin="tableBorderColor" />
+       </u:selector>
+       <u:selector name="select">
+               <u:style name="background-color" value="transparent"/>
+               <u:style name="background-image">
+                       <f:resource f:key="org.richfaces.renderkit.html.images.SliderFieldGradient"/>
+               </u:style>
+       </u:selector>
+       <u:selector name="option">
+               <u:style name="background-color" skin="generalBackgroundColor"/>
+       </u:selector>
+       <u:selector name="select[multiple]">
+               <u:style name="background-color" skin="controlBackgroundColor"/>
+       </u:selector>
+       <u:selector name="select[multiple] option">
+               <u:style name="background-color" value="transparent"/>
+       </u:selector>
+       <u:selector name="input[type=submit], input[type=button]">
+               <u:style name="padding" value="1px 4px"/>
+               <u:style name="background-image">
+                       <f:resource f:key="org.richfaces.renderkit.html.GradientA"/>
+               </u:style>
+               <u:style name="border" value="1px solid"/>
+               <u:style name="border-color" skin="headerBackgroundColor"/>
+               <u:style name="color" skin="headerTextColor"/>
+               <u:style name="font-weight" value="bold"/>
+       </u:selector>
+       <u:selector name="input[type=submit][disabled], input[type=button][disabled]">
+               <u:style name="opacity" value="0.33"/>
+       </u:selector>
+       <!-- hack for IE to just get rid of border since it doubles the border if you use one -->
+       <u:selector name="* html input[type=submit], * html input[type=button], *+html input[type=submit], *+html input[type=button]">
+               <u:style name="border" value="0"/>
+               <u:style name="font-size" value="11px"/>
+       </u:selector>
+       <u:selector name=".rich-table-subheadercell">
+               <u:style name="background-image">
+                       <f:resource f:key="org.richfaces.renderkit.images.TabGradientB"/>
+               </u:style>
+       </u:selector>
+       <u:selector name=".rich-toolbar a:link, .rich-toolbar a:visited, .rich-toolbar a:active, .rich-toolbar a:hover">
+               <u:style name="color" skin="headerTextColor"/>
+       </u:selector>
+       <u:selector name=".rich-toolbar a:hover">
+               <u:style name="color" skin="generalTextColor"/>
+       </u:selector>
+       <u:selector name=".rich-toolbar .rich-menu-item, .rich-toolbar .rich-menu-item a, .rich-toolbar .rich-menu-item a:hover, .rich-toolbar .rich-menu-item a:visited">
+               <u:style name="color" skin="generalTextColor" />
+       </u:selector>
+       <u:selector name=".rich-table-subheadercell a:hover">
+               <u:style name="color" skin="calendarHolidaysTextColor"/>
+       </u:selector>
+       <!-- Richfaces styles -->
+       <u:selector name="input[type=text][class*=rich-combobox-button-icon]">
+        <u:style name="background-image">
+            <f:resource f:key="org.richfaces.renderkit.html.images.ComboBoxArrowImage" />
+        </u:style>    
+        <u:style name="background-color" value="transparent"/>
+    </u:selector>    
+    
+    <u:selector name="input[type=text][class~=rich-combobox-button-icon-disabled]">
+        <u:style name="background-image">
+            <f:resource f:key="org.richfaces.renderkit.html.images.ComboBoxArrowImageDisable" />
+        </u:style>
+        <u:style name="background-color" value="transparent"/>
+    </u:selector>
+    
+    <u:selector name="input[type=text][class*=rich-combobox-button-background]">
+        <u:style name="background-image">
+            <f:resource f:key="org.richfaces.renderkit.html.images.SpinnerButtonGradient"/>
+        </u:style>
+        <u:style name="background-color" skin="tabBackgroundColor"/>
+    </u:selector>    
+    
+    <u:selector name="input[type=text][class~=rich-combobox-button-pressed-background]">
+        <u:style name="background-image">
+            <f:resource f:key="org.richfaces.renderkit.html.images.ComboBoxButtonPressGradient"/>
+        </u:style>
+        <u:style name="background-color" skin="tabBackgroundColor"/>
+    </u:selector>
+       <!-- Define static styles in the CDATA block below (you can also move this block to the top) -->
+       <f:verbatim><![CDATA[
+]]></f:verbatim>
+</f:template>
diff --git a/SimDeCS/WebContent/stylesheet/useradmin.css b/SimDeCS/WebContent/stylesheet/useradmin.css
new file mode 100644 (file)
index 0000000..46a4f4e
--- /dev/null
@@ -0,0 +1,112 @@
+input.newuser {\r
+  background: url(../img/btnnewuser.png) top left no-repeat;\r
+  height: 39px;\r
+  width: 113px;\r
+  margin: 4px 4px 4px 4px;\r
+  border: 0px;\r
+  cursor: pointer;  \r
+}\r
+\r
+input.newrole {\r
+  background: url(../img/btnnewrole.png) top left no-repeat;\r
+  height: 39px;\r
+  width: 113px;\r
+  margin: 4px 4px 4px 4px;\r
+  border: 0px;\r
+  cursor: pointer;  \r
+}\r
+\r
+input.newpermission {\r
+  background: url(../img/btnnewpermission.png) top left no-repeat;\r
+  height: 39px;\r
+  width: 113px;\r
+  margin: 4px 4px 4px 4px;\r
+  border: 0px;\r
+  cursor: pointer;  \r
+}\r
+\r
+input.manageusers {\r
+  display: block;\r
+  background: url(../img/btnmanageusers.png) top left no-repeat;\r
+  height: 88px;\r
+  width: 300px;\r
+  padding-left: 10px;\r
+  font-size: 19px;\r
+  font-weight: bold;\r
+  color: #333333;\r
+  border: 0px;\r
+  cursor: pointer;\r
+  margin-top: 20px;\r
+  margin-left: 20px;\r
+}\r
+\r
+input.manageroles {\r
+  display: block;\r
+  background: url(../img/btnmanageroles.png) top left no-repeat;\r
+  height: 88px;\r
+  width: 300px;\r
+  padding-left: 10px;\r
+  font-size: 19px;\r
+  font-weight: bold;\r
+  color: #333333;\r
+  border: 0px;\r
+  cursor: pointer;  \r
+  margin-top: 20px;\r
+  margin-left: 20px;\r
+}\r
+\r
+.roles {\r
+  width: 120px;\r
+  border: 1px solid #7F9DB9;\r
+  background-color: #E7EDF7;\r
+}\r
+\r
+div.selectMany label {\r
+  float: none;\r
+}\r
+\r
+div.selectMany input[type="checkbox"] {\r
+  vertical-align: middle;\r
+}\r
+\r
+div.status-true {\r
+  background: url(../img/true.png) top left no-repeat;\r
+  width: 14px;\r
+  height: 15px;\r
+  margin-left: auto;\r
+  margin-right: auto;    \r
+}\r
+\r
+div.status-false {\r
+  background: url(../img/false.png) top left no-repeat;\r
+  width: 14px;\r
+  height: 15px;\r
+  margin-left: auto;\r
+  margin-right: auto;\r
+}\r
+\r
+table.useradmin, div.useradmin {\r
+  width: 500px;\r
+}\r
+\r
+/*\r
+table.useradmin tr.odd {\r
+  background-color: #FFFFFF;\r
+}\r
+\r
+table.useradmin tr.even {\r
+  background-color: #E9F5FF;\r
+}\r
+*/\r
+\r
+td.enabled {\r
+  text-align: center;\r
+}\r
+\r
+fieldset.roles .roles {\r
+  border: none;\r
+}\r
+\r
+table.iceSelMnyCb td {\r
+  text-align: left;\r
+}\r
diff --git a/SimDeCS/hibernate-console.properties b/SimDeCS/hibernate-console.properties
new file mode 100644 (file)
index 0000000..e545bf4
--- /dev/null
@@ -0,0 +1,10 @@
+#File used by hibernate tools to override <datasource> and other container specific settings in persistence.xml
+hibernate.connection.password=tatuira
+hibernate.connection.username=simdecs
+hibernate.connection.driver_class=org.postgresql.Driver
+hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
+hibernate.connection.url=jdbc:postgresql://localhost:5432/simdecs
+
+hibernate.connection.provider_class=org.hibernate.connection.DriverManagerConnectionProvider
+hibernate.datasource=
+hibernate.transaction.manager_lookup_class=
diff --git a/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/Authenticator.java b/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/Authenticator.java
new file mode 100644 (file)
index 0000000..22c4c79
--- /dev/null
@@ -0,0 +1,57 @@
+package org.ufcspa.simdecs.session;
+
+import java.util.Iterator;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.log.Log;
+import org.jboss.seam.security.Credentials;
+import org.jboss.seam.security.Identity;
+import org.ufcspa.simdecs.entities.Regra;
+import org.ufcspa.simdecs.entities.Usuario;
+
+@Name("authenticator")
+public class Authenticator
+{
+    @Logger private Log log;
+
+    @In Identity identity;
+    @In Credentials credentials;
+
+    @In
+    private EntityManager entityManager;
+    
+    public boolean authenticate()
+    {
+log.info("entrou no metodo autenticate");
+       Usuario usuario;
+       try {
+               usuario= (Usuario) entityManager.createQuery("select usu from Usuario as usu where usu.login=:login and usu.senha=:senha")
+                                                                               .setParameter("login", credentials.getUsername())
+                                                                               .setParameter("senha", credentials.getPassword())
+                                                                               .getSingleResult();     
+       } catch (NoResultException ne) {
+               log.info("Não encontrou usuário");              
+               return false;
+       }
+       
+log.info("usuario nao é nulo");
+
+        Iterator rolesIt = entityManager.createQuery("Select reg From Regra as reg inner join reg.grupos gru inner join gru.usuarios usu where usu.id=:idUsuario")
+                                                                       .setParameter("idUsuario", usuario.getId())
+                                                                       .getResultList()
+                                                                       .iterator();
+        
+       while(rolesIt.hasNext())
+               identity.addRole(((Regra) rolesIt.next()).getToken());
+       
+       log.info("authenticating {0}", credentials.getUsername());
+
+       return true;
+    }
+
+}
diff --git a/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/GrupoHome.java b/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/GrupoHome.java
new file mode 100644 (file)
index 0000000..f227feb
--- /dev/null
@@ -0,0 +1,42 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Grupo;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityHome;\r
+\r
+@Name("grupoHome")\r
+public class GrupoHome extends SimDeCSEntityHome<Grupo> {\r
+\r
+       public void setGrupoId(Long id) {\r
+               setId(id);\r
+       }\r
+\r
+       public Long getGrupoId() {\r
+               return (Long) getId();\r
+       }\r
+\r
+       @Override\r
+       protected Grupo createInstance() {\r
+               Grupo grupo = new Grupo();\r
+               return grupo;\r
+       }\r
+\r
+       public void load() {\r
+               if (isIdDefined()) {\r
+                       wire();\r
+               }\r
+       }\r
+\r
+       public void wire() {\r
+               getInstance();\r
+       }\r
+\r
+       public boolean isWired() {\r
+               return true;\r
+       }\r
+\r
+       public Grupo getDefinedInstance() {\r
+               return isIdDefined() ? getInstance() : null;\r
+       }\r
+\r
+}\r
diff --git a/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/GrupoList.java b/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/GrupoList.java
new file mode 100644 (file)
index 0000000..6c47fe8
--- /dev/null
@@ -0,0 +1,27 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import java.util.Arrays;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Grupo;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityQuery;\r
+\r
+@Name("grupoList")\r
+public class GrupoList extends SimDeCSEntityQuery<Grupo> {\r
+\r
+       private static final String EJBQL = "select grupo from Grupo grupo";\r
+\r
+       private static final String[] RESTRICTIONS = { "lower(grupo.nome) like lower(concat(#{grupoList.grupo.nome},'%'))", };\r
+\r
+       private Grupo grupo = new Grupo();\r
+\r
+       public GrupoList() {\r
+               setEjbql(EJBQL);\r
+               setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));\r
+               setMaxResults(25);\r
+       }\r
+\r
+       public Grupo getGrupo() {\r
+               return grupo;\r
+       }\r
+}\r
diff --git a/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/InstituicaoHome.java b/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/InstituicaoHome.java
new file mode 100644 (file)
index 0000000..0ec8ff9
--- /dev/null
@@ -0,0 +1,42 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Instituicao;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityHome;\r
+\r
+@Name("instituicaoHome")\r
+public class InstituicaoHome extends SimDeCSEntityHome<Instituicao> {\r
+\r
+       public void setInstituicaoId(Long id) {\r
+               setId(id);\r
+       }\r
+\r
+       public Long getInstituicaoId() {\r
+               return (Long) getId();\r
+       }\r
+\r
+       @Override\r
+       protected Instituicao createInstance() {\r
+               Instituicao instituicao = new Instituicao();\r
+               return instituicao;\r
+       }\r
+\r
+       public void load() {\r
+               if (isIdDefined()) {\r
+                       wire();\r
+               }\r
+       }\r
+\r
+       public void wire() {\r
+               getInstance();\r
+       }\r
+\r
+       public boolean isWired() {\r
+               return true;\r
+       }\r
+\r
+       public Instituicao getDefinedInstance() {\r
+               return isIdDefined() ? getInstance() : null;\r
+       }\r
+\r
+}\r
diff --git a/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/InstituicaoList.java b/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/InstituicaoList.java
new file mode 100644 (file)
index 0000000..91ddd83
--- /dev/null
@@ -0,0 +1,30 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import java.util.Arrays;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Instituicao;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityQuery;\r
+\r
+@Name("instituicaoList")\r
+public class InstituicaoList extends SimDeCSEntityQuery<Instituicao> {\r
+\r
+       private static final String EJBQL = "select instituicao from Instituicao instituicao";\r
+\r
+       private static final String[] RESTRICTIONS = {\r
+                       "lower(instituicao.endereco) like lower(concat(#{instituicaoList.instituicao.endereco},'%'))",\r
+                       "lower(instituicao.nome) like lower(concat(#{instituicaoList.instituicao.nome},'%'))",\r
+                       "lower(instituicao.telefone) like lower(concat(#{instituicaoList.instituicao.telefone},'%'))", };\r
+\r
+       private Instituicao instituicao = new Instituicao();\r
+\r
+       public InstituicaoList() {\r
+               setEjbql(EJBQL);\r
+               setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));\r
+               setMaxResults(25);\r
+       }\r
+\r
+       public Instituicao getInstituicao() {\r
+               return instituicao;\r
+       }\r
+}\r
diff --git a/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/PrivilegioHome.java b/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/PrivilegioHome.java
new file mode 100644 (file)
index 0000000..07dd39c
--- /dev/null
@@ -0,0 +1,42 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Privilegio;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityHome;\r
+\r
+@Name("privilegioHome")\r
+public class PrivilegioHome extends SimDeCSEntityHome<Privilegio> {\r
+\r
+       public void setPrivilegioId(Long id) {\r
+               setId(id);\r
+       }\r
+\r
+       public Long getPrivilegioId() {\r
+               return (Long) getId();\r
+       }\r
+\r
+       @Override\r
+       protected Privilegio createInstance() {\r
+               Privilegio privilegio = new Privilegio();\r
+               return privilegio;\r
+       }\r
+\r
+       public void load() {\r
+               if (isIdDefined()) {\r
+                       wire();\r
+               }\r
+       }\r
+\r
+       public void wire() {\r
+               getInstance();\r
+       }\r
+\r
+       public boolean isWired() {\r
+               return true;\r
+       }\r
+\r
+       public Privilegio getDefinedInstance() {\r
+               return isIdDefined() ? getInstance() : null;\r
+       }\r
+\r
+}\r
diff --git a/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/PrivilegioList.java b/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/PrivilegioList.java
new file mode 100644 (file)
index 0000000..95e2271
--- /dev/null
@@ -0,0 +1,29 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import java.util.Arrays;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Privilegio;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityQuery;\r
+\r
+@Name("privilegioList")\r
+public class PrivilegioList extends SimDeCSEntityQuery<Privilegio> {\r
+\r
+       private static final String EJBQL = "select privilegio from Privilegio privilegio";\r
+\r
+       private static final String[] RESTRICTIONS = {\r
+                       "lower(privilegio.nome) like lower(concat(#{privilegioList.privilegio.nome},'%'))",\r
+                       "lower(privilegio.token) like lower(concat(#{privilegioList.privilegio.token},'%'))", };\r
+\r
+       private Privilegio privilegio = new Privilegio();\r
+\r
+       public PrivilegioList() {\r
+               setEjbql(EJBQL);\r
+               setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));\r
+               setMaxResults(25);\r
+       }\r
+\r
+       public Privilegio getPrivilegio() {\r
+               return privilegio;\r
+       }\r
+}\r
diff --git a/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/RegraHome.java b/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/RegraHome.java
new file mode 100644 (file)
index 0000000..22ce650
--- /dev/null
@@ -0,0 +1,42 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Regra;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityHome;\r
+\r
+@Name("regraHome")\r
+public class RegraHome extends SimDeCSEntityHome<Regra> {\r
+\r
+       public void setRegraId(Long id) {\r
+               setId(id);\r
+       }\r
+\r
+       public Long getRegraId() {\r
+               return (Long) getId();\r
+       }\r
+\r
+       @Override\r
+       protected Regra createInstance() {\r
+               Regra regra = new Regra();\r
+               return regra;\r
+       }\r
+\r
+       public void load() {\r
+               if (isIdDefined()) {\r
+                       wire();\r
+               }\r
+       }\r
+\r
+       public void wire() {\r
+               getInstance();\r
+       }\r
+\r
+       public boolean isWired() {\r
+               return true;\r
+       }\r
+\r
+       public Regra getDefinedInstance() {\r
+               return isIdDefined() ? getInstance() : null;\r
+       }\r
+\r
+}\r
diff --git a/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/RegraList.java b/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/RegraList.java
new file mode 100644 (file)
index 0000000..159b8d7
--- /dev/null
@@ -0,0 +1,29 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import java.util.Arrays;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Regra;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityQuery;\r
+\r
+@Name("regraList")\r
+public class RegraList extends SimDeCSEntityQuery<Regra> {\r
+\r
+       private static final String EJBQL = "select regra from Regra regra";\r
+\r
+       private static final String[] RESTRICTIONS = {\r
+                       "lower(regra.nome) like lower(concat(#{regraList.regra.nome},'%'))",\r
+                       "lower(regra.token) like lower(concat(#{regraList.regra.token},'%'))", };\r
+\r
+       private Regra regra = new Regra();\r
+\r
+       public RegraList() {\r
+               setEjbql(EJBQL);\r
+               setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));\r
+               setMaxResults(25);\r
+       }\r
+\r
+       public Regra getRegra() {\r
+               return regra;\r
+       }\r
+}\r
diff --git a/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioGrupoList.java b/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioGrupoList.java
new file mode 100644 (file)
index 0000000..9542b32
--- /dev/null
@@ -0,0 +1,28 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import java.util.Arrays;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Grupo;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityQuery;\r
+\r
+@Name("usuarioGrupoList")\r
+public class UsuarioGrupoList extends SimDeCSEntityQuery<Grupo> {\r
+\r
+       private static final String EJBQL = "select grupo from Grupo grupo";\r
+\r
+       private static final String[] RESTRICTIONS = { "lower(grupo.nome) like lower(concat(#{grupoList.grupo.nome},'%'))", };\r
+\r
+       private Grupo grupo = new Grupo();\r
+       \r
+       @Factory("usuarioGrupoList")\r
+       public UsuarioGrupoList() {\r
+               setEjbql(EJBQL);\r
+               setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));\r
+               setMaxResults(25);\r
+       }\r
+\r
+       public Grupo getGrupo() {\r
+               return grupo;\r
+       }\r
+}\r
diff --git a/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioHome.java b/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioHome.java
new file mode 100644 (file)
index 0000000..314dc27
--- /dev/null
@@ -0,0 +1,46 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import org.jboss.seam.annotations.In;\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Usuario;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityHome;\r
+\r
+@Name("usuarioHome")\r
+public class UsuarioHome extends SimDeCSEntityHome<Usuario> {\r
+\r
+       @In(create = true)\r
+       UsuarioHome usuarioHome;\r
+\r
+       public void setUsuarioId(Long id) {\r
+               setId(id);\r
+       }\r
+\r
+       public Long getUsuarioId() {\r
+               return (Long) getId();\r
+       }\r
+\r
+       @Override\r
+       protected Usuario createInstance() {\r
+               Usuario usuario = new Usuario();\r
+               return usuario;\r
+       }\r
+\r
+       public void load() {\r
+               if (isIdDefined()) {\r
+                       wire();\r
+               }\r
+       }\r
+\r
+       public void wire() {\r
+               getInstance();\r
+       }\r
+\r
+       public boolean isWired() {\r
+               return true;\r
+       }\r
+\r
+       public Usuario getDefinedInstance() {\r
+               return isIdDefined() ? getInstance() : null;\r
+       }\r
+\r
+}\r
diff --git a/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioList.java b/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioList.java
new file mode 100644 (file)
index 0000000..3bca60b
--- /dev/null
@@ -0,0 +1,34 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import java.util.Arrays;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Usuario;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityQuery;\r
+\r
+@Name("usuarioList")\r
+public class UsuarioList extends SimDeCSEntityQuery<Usuario> {\r
+\r
+       private static final String EJBQL = "select usuario from Usuario usuario";\r
+\r
+       private static final String[] RESTRICTIONS = {\r
+                       "lower(usuario.email) like lower(concat(#{usuarioList.usuario.email},'%'))",\r
+                       "lower(usuario.funcao) like lower(concat(#{usuarioList.usuario.funcao},'%'))",\r
+                       "lower(usuario.login) like lower(concat(#{usuarioList.usuario.login},'%'))",\r
+                       "lower(usuario.nome) like lower(concat(#{usuarioList.usuario.nome},'%'))",\r
+                       "lower(usuario.senha) like lower(concat(#{usuarioList.usuario.senha},'%'))",\r
+                       "lower(usuario.sexo) like lower(concat(#{usuarioList.usuario.sexo},'%'))",\r
+                       "lower(usuario.telefone) like lower(concat(#{usuarioList.usuario.telefone},'%'))", };\r
+\r
+       private Usuario usuario = new Usuario();\r
+\r
+       public UsuarioList() {\r
+               setEjbql(EJBQL);\r
+               setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));\r
+               setMaxResults(25);\r
+       }\r
+\r
+       public Usuario getUsuario() {\r
+               return usuario;\r
+       }\r
+}\r
diff --git a/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/defaults/SimDeCSEntityHome.java b/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/defaults/SimDeCSEntityHome.java
new file mode 100644 (file)
index 0000000..f441e18
--- /dev/null
@@ -0,0 +1,17 @@
+package org.ufcspa.simdecs.session.crud.defaults;\r
+\r
+import org.jboss.seam.core.Expressions;\r
+import org.jboss.seam.framework.EntityHome;\r
+\r
+public abstract class SimDeCSEntityHome<E> extends EntityHome<E> {\r
+\r
+       protected void initDefaultMessages()\r
+       {\r
+               super.initDefaultMessages();\r
+               Expressions expressions = new Expressions();\r
+               setCreatedMessage(expressions.createValueExpression("Registro criado com sucesso!"));\r
+               setDeletedMessage(expressions.createValueExpression("Registro excluido com sucesso!"));\r
+               setUpdatedMessage(expressions.createValueExpression("Registro alterado com sucesso!"));         \r
+       }\r
+       \r
+}\r
diff --git a/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/defaults/SimDeCSEntityQuery.java b/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/crud/defaults/SimDeCSEntityQuery.java
new file mode 100644 (file)
index 0000000..a5b9ab9
--- /dev/null
@@ -0,0 +1,8 @@
+package org.ufcspa.simdecs.session.crud.defaults;\r
+\r
+import org.jboss.seam.framework.EntityQuery;\r
+\r
+public abstract class SimDeCSEntityQuery<E> extends EntityQuery<E> {\r
+\r
+       \r
+}\r
diff --git a/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/vrmed/SelecionarDiagrama.java b/SimDeCS/resources/src/hot/org/ufcspa/simdecs/session/vrmed/SelecionarDiagrama.java
new file mode 100644 (file)
index 0000000..358ef96
--- /dev/null
@@ -0,0 +1,96 @@
+package org.ufcspa.simdecs.session.vrmed;
+
+import java.util.Iterator;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.international.StatusMessages;
+import org.jboss.seam.log.Log;
+import org.ufcspa.simdecs.entities.Cenario;
+
+@Name("SelecionarDiagrama")
+@Scope(ScopeType.CONVERSATION)
+public class SelecionarDiagrama
+{
+    @Logger private Log log;
+
+    @In StatusMessages statusMessages;
+
+    @In
+    private  EntityManager entityManager;
+
+    
+    // Informações do diagrama
+    private String                     nomeNovoDiagrama;
+    private String                     textoIntroducao;
+    private Long                       cenario;
+    private List<Cenario>      listaCenarios;
+    public String getNomeNovoDiagrama() {
+               return nomeNovoDiagrama;
+       }
+
+       public void setNomeNovoDiagrama(String nomeNovoDiagrama) {
+               this.nomeNovoDiagrama = nomeNovoDiagrama;
+       }
+
+       // Criação de novo diagrama
+       @Begin(join=false)
+       public String criarNovoDiagrama()
+    {
+               if (nomeNovoDiagrama == null || nomeNovoDiagrama.equals("")) {
+                       statusMessages.add("O nome do novo diagrama deve ser informado!");
+                       return null;
+               }
+        
+               listaCenarios = entityManager.createQuery("From Cenario cenario order by id").getResultList();
+               Iterator it = listaCenarios.iterator();
+               while(it.hasNext()) {
+                       log.info("Cenario: " + ((Cenario)it.next()).getNome());
+               }
+               return "novoDiagrama";
+    }
+    
+       public void selecionarIntroducaoCenario()
+    {
+               
+        // implement your business logic here
+        log.info("teste de conversacao: " + nomeNovoDiagrama);
+        statusMessages.add("criarNovoDiagrama");
+    }
+
+       public String getTextoIntroducao() {
+               return textoIntroducao;
+       }
+
+       public void setTextoIntroducao(String textoIntroducao) {
+               this.textoIntroducao = textoIntroducao;
+       }
+
+       public Long getCenario() {
+               return cenario;
+       }
+
+       public void setCenario(Long cenario) {
+               this.cenario = cenario;
+       }
+
+       public List<Cenario> getListaCenarios() {
+               return listaCenarios;
+       }
+
+       public void setListaCenarios(List<Cenario> listaCenarios) {
+               this.listaCenarios = listaCenarios;
+       }
+
+
+    // add additional action methods
+
+}
diff --git a/SimDeCS/resources/src/hot/seam.properties b/SimDeCS/resources/src/hot/seam.properties
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/SimDeCS/resources/src/main/META-INF/persistence.xml b/SimDeCS/resources/src/main/META-INF/persistence.xml
new file mode 100644 (file)
index 0000000..d87cfdb
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Persistence deployment descriptor for dev profile -->
+<persistence 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_1_0.xsd" 
+             version="1.0">
+             
+   <persistence-unit name="SimDeCS" transaction-type="JTA">
+      <provider>org.hibernate.ejb.HibernatePersistence</provider>
+      <jta-data-source>java:/SimDeCSDatasource</jta-data-source>
+      <properties>
+         <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
+         <property name="hibernate.hbm2ddl.auto" value="update"/>
+         <property name="hibernate.show_sql" value="true"/>
+         <property name="hibernate.format_sql" value="true"/>
+         <property name="jboss.entity.manager.factory.jndi.name" value="java:/SimDeCSEntityManagerFactory"/>
+      </properties>
+   </persistence-unit>
+    
+</persistence>
diff --git a/SimDeCS/resources/src/main/components.properties b/SimDeCS/resources/src/main/components.properties
new file mode 100644 (file)
index 0000000..c598420
--- /dev/null
@@ -0,0 +1,4 @@
+#\r
+#Thu Apr 21 18:54:34 BRT 2011\r
+jndiPattern=\#{ejbName}/local\r
+embeddedEjb=false\r
diff --git a/SimDeCS/resources/src/main/import.sql b/SimDeCS/resources/src/main/import.sql
new file mode 100644 (file)
index 0000000..3c28ee8
--- /dev/null
@@ -0,0 +1 @@
+-- SQL statements which are executed at application startup if hibernate.hbm2ddl.auto is 'create' or 'create-drop'
diff --git a/SimDeCS/resources/src/main/messages_en.properties b/SimDeCS/resources/src/main/messages_en.properties
new file mode 100644 (file)
index 0000000..fdc41bd
--- /dev/null
@@ -0,0 +1,90 @@
+up=\u2191
+down=\u2193
+left=\u2039
+right=\u203A
+
+validator.assertFalse=validation failed
+validator.assertTrue=validation failed
+validator.future=must be a future date
+validator.length=length must be between {min} and {max}
+validator.max=must be less than or equal to {value}
+validator.min=must be greater than or equal to {value}
+validator.notNull=may not be null
+validator.past=must be a past date
+validator.pattern=must match "{regex}"
+validator.range=must be between {min} and {max}
+validator.size=size must be between {min} and {max}
+validator.email=must be a well-formed email address
+
+org.jboss.seam.loginFailed=Login failed
+org.jboss.seam.loginSuccessful=Welcome, #0!
+
+org.jboss.seam.TransactionFailed=Transaction failed
+org.jboss.seam.NoConversation=The conversation ended, timed out or was processing another request
+org.jboss.seam.IllegalNavigation=Illegal navigation
+org.jboss.seam.ProcessEnded=Process #0 already ended
+org.jboss.seam.ProcessNotFound=Process #0 not found
+org.jboss.seam.TaskEnded=Task #0 already ended
+org.jboss.seam.TaskNotFound=Task #0 not found
+org.jboss.seam.NotLoggedIn=Please log in first
+
+javax.faces.component.UIInput.CONVERSION=value could not be converted to the expected type
+javax.faces.component.UIInput.REQUIRED=value is required
+javax.faces.component.UIInput.UPDATE=an error occurred when processing your submitted information
+javax.faces.component.UISelectOne.INVALID=value is not valid
+javax.faces.component.UISelectMany.INVALID=value is not valid
+
+javax.faces.converter.BigDecimalConverter.DECIMAL=value must be a number
+javax.faces.converter.BigDecimalConverter.DECIMAL_detail=value must be a signed decimal number consisting of zero or more digits, optionally followed by a decimal point and fraction, eg. {1}
+javax.faces.converter.BigIntegerConverter.BIGINTEGER=value must be an integer
+javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail=value must be a signed integer number consisting of zero or more digits
+javax.faces.converter.BooleanConverter.BOOLEAN=value must be true or false
+javax.faces.converter.BooleanConverter.BOOLEAN_detail=value must be true or false (any value other than true will evaluate to false)
+javax.faces.converter.ByteConverter.BYTE=value must be a number between 0 and 255
+javax.faces.converter.ByteConverter.BYTE_detail=value must be a number between 0 and 255
+javax.faces.converter.CharacterConverter.CHARACTER=value must be a character
+javax.faces.converter.CharacterConverter.CHARACTER_detail=value must be a valid ASCII character
+javax.faces.converter.DateTimeConverter.DATE=value must be a date
+javax.faces.converter.DateTimeConverter.DATE_detail=value must be a date,  eg. {1}
+javax.faces.converter.DateTimeConverter.TIME=value must be a time
+javax.faces.converter.DateTimeConverter.TIME_detail=value must be a time,  eg. {1}
+javax.faces.converter.DateTimeConverter.DATETIME=value must be a date and time
+javax.faces.converter.DateTimeConverter.DATETIME_detail=value must be a date and time,  eg. {1}
+javax.faces.converter.DateTimeConverter.PATTERN_TYPE=a pattern or type attribute must be specified to convert the value
+javax.faces.converter.DoubleConverter.DOUBLE=value must be a number
+javax.faces.converter.DoubleConverter.DOUBLE_detail=value must be a number between 4.9E-324 and 1.7976931348623157E308
+javax.faces.converter.EnumConverter.ENUM=value must be convertible to an enum
+javax.faces.converter.EnumConverter.ENUM_detail=value must be convertible to an enum or from the enum that contains the constant {1}
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS=value must be convertible to an enum or from the enum, but no enum class provided
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail=value must be convertible to an enum or from the enum, but no enum class provided
+javax.faces.converter.FloatConverter.FLOAT=value must be a number
+javax.faces.converter.FloatConverter.FLOAT_detail=value must be a number between 1.4E-45 and 3.4028235E38
+javax.faces.converter.IntegerConverter.INTEGER=value must be an integer
+javax.faces.converter.IntegerConverter.INTEGER_detail=value must be an integer number between -2147483648 and 2147483647
+javax.faces.converter.LongConverter.LONG=value must be an integer
+javax.faces.converter.LongConverter.LONG_detail=value must be an integer number between -9223372036854775808 and 9223372036854775807
+javax.faces.converter.NumberConverter.CURRENCY=value must be a currency amount
+javax.faces.converter.NumberConverter.CURRENCY_detail=value must be a currency amount, eg. {1}
+javax.faces.converter.NumberConverter.PERCENT=value must be a percentage amount
+javax.faces.converter.NumberConverter.PERCENT_detail=value must be a percentage amount, eg. {1}
+javax.faces.converter.NumberConverter.NUMBER=value must be a number
+javax.faces.converter.NumberConverter.NUMBER_detail=value must be a number
+javax.faces.converter.NumberConverter.PATTERN=value must be a number
+javax.faces.converter.NumberConverter.PATTERN_detail=value must be a number
+javax.faces.converter.ShortConverter.SHORT=value must be an integer
+javax.faces.converter.ShortConverter.SHORT_detail=value must be an integer number between -32768 and 32767
+
+javax.faces.validator.DoubleRangeValidator.MAXIMUM=value must be less than or equal to {0}
+javax.faces.validator.DoubleRangeValidator.MINIMUM=value must be greater than or equal to {0}
+javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.validator.DoubleRangeValidator.TYPE=value is not of the correct type
+javax.faces.validator.LengthValidator.MAXIMUM=value must be shorter than or equal to {0} characters
+javax.faces.validator.LengthValidator.MINIMUM=value must be longer than or equal to {0} characters
+javax.faces.validator.LongRangeValidator.MAXIMUM=value must be less than or equal to {0}
+javax.faces.validator.LongRangeValidator.MINIMUM=value must be greater than or equal to {0}
+javax.faces.validator.LongRangeValidator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.validator.LongRangeValidator.TYPE=value is not of the correct type
+
+javax.faces.validator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.converter.STRING=value could not be converted to a string
+
diff --git a/SimDeCS/resources/src/main/messages_pt_BR.properties b/SimDeCS/resources/src/main/messages_pt_BR.properties
new file mode 100644 (file)
index 0000000..833b84d
--- /dev/null
@@ -0,0 +1,90 @@
+up=\u2191
+down=\u2193
+left=\u2039
+right=\u203A
+
+validator.assertFalse=validation failed
+validator.assertTrue=validation failed
+validator.future=must be a future date
+validator.length=length must be between {min} and {max}
+validator.max=must be less than or equal to {value}
+validator.min=must be greater than or equal to {value}
+validator.notNull=may not be null
+validator.past=must be a past date
+validator.pattern=must match "{regex}"
+validator.range=must be between {min} and {max}
+validator.size=size must be between {min} and {max}
+validator.email=must be a well-formed email address
+
+org.jboss.seam.loginFailed=Usu\u00E1rio / senha inv\u00E1lidos
+org.jboss.seam.loginSuccessful=Bem vindo, \#0\!
+
+org.jboss.seam.TransactionFailed=Transa\u00E7\u00E3o falhou
+org.jboss.seam.NoConversation=The conversation ended, timed out or was processing another request
+org.jboss.seam.IllegalNavigation=Illegal navigation
+org.jboss.seam.ProcessEnded=Process #0 already ended
+org.jboss.seam.ProcessNotFound=Process #0 not found
+org.jboss.seam.TaskEnded=Task #0 already ended
+org.jboss.seam.TaskNotFound=Task #0 not found
+org.jboss.seam.NotLoggedIn=Por favor, efetue login
+
+javax.faces.component.UIInput.CONVERSION=value could not be converted to the expected type
+javax.faces.component.UIInput.REQUIRED=value is required
+javax.faces.component.UIInput.UPDATE=an error occurred when processing your submitted information
+javax.faces.component.UISelectOne.INVALID=value is not valid
+javax.faces.component.UISelectMany.INVALID=value is not valid
+
+javax.faces.converter.BigDecimalConverter.DECIMAL=value must be a number
+javax.faces.converter.BigDecimalConverter.DECIMAL_detail=value must be a signed decimal number consisting of zero or more digits, optionally followed by a decimal point and fraction, eg. {1}
+javax.faces.converter.BigIntegerConverter.BIGINTEGER=value must be an integer
+javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail=value must be a signed integer number consisting of zero or more digits
+javax.faces.converter.BooleanConverter.BOOLEAN=value must be true or false
+javax.faces.converter.BooleanConverter.BOOLEAN_detail=value must be true or false (any value other than true will evaluate to false)
+javax.faces.converter.ByteConverter.BYTE=value must be a number between 0 and 255
+javax.faces.converter.ByteConverter.BYTE_detail=value must be a number between 0 and 255
+javax.faces.converter.CharacterConverter.CHARACTER=value must be a character
+javax.faces.converter.CharacterConverter.CHARACTER_detail=value must be a valid ASCII character
+javax.faces.converter.DateTimeConverter.DATE=value must be a date
+javax.faces.converter.DateTimeConverter.DATE_detail=value must be a date,  eg. {1}
+javax.faces.converter.DateTimeConverter.TIME=value must be a time
+javax.faces.converter.DateTimeConverter.TIME_detail=value must be a time,  eg. {1}
+javax.faces.converter.DateTimeConverter.DATETIME=value must be a date and time
+javax.faces.converter.DateTimeConverter.DATETIME_detail=value must be a date and time,  eg. {1}
+javax.faces.converter.DateTimeConverter.PATTERN_TYPE=a pattern or type attribute must be specified to convert the value
+javax.faces.converter.DoubleConverter.DOUBLE=value must be a number
+javax.faces.converter.DoubleConverter.DOUBLE_detail=value must be a number between 4.9E-324 and 1.7976931348623157E308
+javax.faces.converter.EnumConverter.ENUM=value must be convertible to an enum
+javax.faces.converter.EnumConverter.ENUM_detail=value must be convertible to an enum or from the enum that contains the constant {1}
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS=value must be convertible to an enum or from the enum, but no enum class provided
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail=value must be convertible to an enum or from the enum, but no enum class provided
+javax.faces.converter.FloatConverter.FLOAT=value must be a number
+javax.faces.converter.FloatConverter.FLOAT_detail=value must be a number between 1.4E-45 and 3.4028235E38
+javax.faces.converter.IntegerConverter.INTEGER=value must be an integer
+javax.faces.converter.IntegerConverter.INTEGER_detail=value must be an integer number between -2147483648 and 2147483647
+javax.faces.converter.LongConverter.LONG=value must be an integer
+javax.faces.converter.LongConverter.LONG_detail=value must be an integer number between -9223372036854775808 and 9223372036854775807
+javax.faces.converter.NumberConverter.CURRENCY=value must be a currency amount
+javax.faces.converter.NumberConverter.CURRENCY_detail=value must be a currency amount, eg. {1}
+javax.faces.converter.NumberConverter.PERCENT=value must be a percentage amount
+javax.faces.converter.NumberConverter.PERCENT_detail=value must be a percentage amount, eg. {1}
+javax.faces.converter.NumberConverter.NUMBER=value must be a number
+javax.faces.converter.NumberConverter.NUMBER_detail=value must be a number
+javax.faces.converter.NumberConverter.PATTERN=value must be a number
+javax.faces.converter.NumberConverter.PATTERN_detail=value must be a number
+javax.faces.converter.ShortConverter.SHORT=value must be an integer
+javax.faces.converter.ShortConverter.SHORT_detail=value must be an integer number between -32768 and 32767
+
+javax.faces.validator.DoubleRangeValidator.MAXIMUM=value must be less than or equal to {0}
+javax.faces.validator.DoubleRangeValidator.MINIMUM=value must be greater than or equal to {0}
+javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.validator.DoubleRangeValidator.TYPE=value is not of the correct type
+javax.faces.validator.LengthValidator.MAXIMUM=value must be shorter than or equal to {0} characters
+javax.faces.validator.LengthValidator.MINIMUM=value must be longer than or equal to {0} characters
+javax.faces.validator.LongRangeValidator.MAXIMUM=value must be less than or equal to {0}
+javax.faces.validator.LongRangeValidator.MINIMUM=value must be greater than or equal to {0}
+javax.faces.validator.LongRangeValidator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.validator.LongRangeValidator.TYPE=value is not of the correct type
+
+javax.faces.validator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.converter.STRING=value could not be converted to a string
+
diff --git a/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Ator.java b/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Ator.java
new file mode 100644 (file)
index 0000000..7752f97
--- /dev/null
@@ -0,0 +1,152 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.JoinColumn;\r
+import javax.persistence.ManyToOne;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+\r
+import org.hibernate.annotations.Index;\r
+\r
+\r
+@Entity\r
+@Table(name="Ator")\r
+// Shortname: "ator"\r
+@SequenceGenerator(name = "sequenceAtor", sequenceName = "sqAtor", initialValue = 1, allocationSize=1)\r
+public abstract class Ator implements Serializable {\r
+\r
+       private static final long serialVersionUID = 1095865636605383931L;\r
+\r
+       @GeneratedValue(generator = "sequenceAtor", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+\r
+       @Column(length=100, nullable=false)\r
+       private String nome;\r
+\r
+       @Column(length=2, nullable=false, unique=true)\r
+       private Integer ordem;\r
+       \r
+       @Column(nullable=true)\r
+       private Float altura;\r
+       @Column(nullable=true)\r
+       private Float peso;\r
+       @Column(nullable=false, length=3)\r
+       private Integer idade;\r
+       @Column(nullable=false, length=1)\r
+       private String sexo;\r
+       \r
+    @ManyToOne\r
+    @JoinColumn(name = "ava_id", referencedColumnName = "id", nullable = true)\r
+    @Index(name="ator_ava_fk_i")\r
+       private Avatar avatar;\r
+       \r
+    @ManyToOne\r
+    @JoinColumn(name = "caso_id", referencedColumnName = "id", nullable = true)\r
+    @Index(name="ator_caso_fk_i")\r
+       private CasoClinico casoClinico;\r
+\r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public Integer getOrdem() {\r
+               return ordem;\r
+       }\r
+\r
+       public void setOrdem(Integer ordem) {\r
+               this.ordem = ordem;\r
+       }\r
+\r
+       public Float getAltura() {\r
+               return altura;\r
+       }\r
+\r
+       public void setAltura(Float altura) {\r
+               this.altura = altura;\r
+       }\r
+\r
+       public Float getPeso() {\r
+               return peso;\r
+       }\r
+\r
+       public void setPeso(Float peso) {\r
+               this.peso = peso;\r
+       }\r
+\r
+       public Integer getIdade() {\r
+               return idade;\r
+       }\r
+\r
+       public void setIdade(Integer idade) {\r
+               this.idade = idade;\r
+       }\r
+\r
+       public String getSexo() {\r
+               return sexo;\r
+       }\r
+\r
+       public void setSexo(String sexo) {\r
+               this.sexo = sexo;\r
+       }\r
+\r
+       public Avatar getAvatar() {\r
+               return avatar;\r
+       }\r
+\r
+       public void setAvatar(Avatar avatar) {\r
+               this.avatar = avatar;\r
+       }\r
+\r
+       public CasoClinico getCasoClinico() {\r
+               return casoClinico;\r
+       }\r
+\r
+       public void setCasoClinico(CasoClinico casoClinico) {\r
+               this.casoClinico = casoClinico;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Ator other = (Ator) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+       \r
+}\r
diff --git a/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Avatar.java b/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Avatar.java
new file mode 100644 (file)
index 0000000..6229b70
--- /dev/null
@@ -0,0 +1,114 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.JoinColumn;\r
+import javax.persistence.ManyToOne;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+\r
+import org.hibernate.annotations.Index;\r
+import org.ufcspa.simdecs.entities.exceptions.InvalidSexoException;\r
+\r
+@Entity\r
+@Table(name="Avatar")\r
+// Shortname: "ava"\r
+@SequenceGenerator(name = "sequenceAvatar", sequenceName = "sqAvatar", initialValue = 1, allocationSize=1)\r
+public class Avatar implements Serializable {\r
+\r
+       private static final long serialVersionUID = 3841381292539475339L;\r
+\r
+       @GeneratedValue(generator = "sequenceAvatar", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+       \r
+       @Column(nullable=false, length=100)\r
+       private String nome;\r
+\r
+       @Column(length=1, nullable=true)\r
+       private String sexo;\r
+\r
+       @Column(nullable=false, length=300)\r
+       private String thumbnailURL;\r
+\r
+       @ManyToOne\r
+    @JoinColumn(name = "faiet_id", referencedColumnName = "id", nullable = true)\r
+    @Index(name="ava_faiet_fk_i")\r
+       private FaixaEtaria faixaEtaria;\r
+       \r
+       \r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public String getSexo() {\r
+               return sexo;\r
+       }\r
+\r
+       public void setSexo(String sexo) throws InvalidSexoException {\r
+               if (sexo.equals("F") || sexo.equals("M"))\r
+                       this.sexo = sexo;\r
+               else\r
+                       throw new InvalidSexoException("O sexo deverá ser 'F' ou 'M'!");\r
+       }\r
+\r
+       public FaixaEtaria getFaixaEtaria() {\r
+               return faixaEtaria;\r
+       }\r
+\r
+       public void setFaixaEtaria(FaixaEtaria faixaEtaria) {\r
+               this.faixaEtaria = faixaEtaria;\r
+       }\r
+\r
+       public String getThumbnailURL() {\r
+               return thumbnailURL;\r
+       }\r
+\r
+       public void setThumbnailURL(String thumbnailURL) {\r
+               this.thumbnailURL = thumbnailURL;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Avatar other = (Avatar) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+\r
+\r
+}\r
diff --git a/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/CasoClinico.java b/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/CasoClinico.java
new file mode 100644 (file)
index 0000000..b834779
--- /dev/null
@@ -0,0 +1,152 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+import java.util.Date;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.JoinColumn;\r
+import javax.persistence.ManyToOne;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+import javax.persistence.Temporal;\r
+import javax.persistence.TemporalType;\r
+\r
+import org.hibernate.annotations.Index;\r
+\r
+@Entity\r
+@Table(name="CasoClinico")\r
+// Shortname: "caso"\r
+@SequenceGenerator(name = "sequenceCasoClinico", sequenceName = "sqCasoClinico", initialValue = 1, allocationSize=1)\r
+public class CasoClinico implements Serializable {\r
+\r
+       /**\r
+        * \r
+        */\r
+       private static final long serialVersionUID = 7701987863551764750L;\r
+\r
+       @GeneratedValue(generator = "sequenceCasoClinico", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+       \r
+       @Column(nullable=false, length=100)\r
+       private String nome;\r
+\r
+       @Column(nullable=false, length=400)\r
+       private String autores;\r
+\r
+       @Column(nullable=false)\r
+       @Temporal(TemporalType.TIMESTAMP)\r
+       private Date dataCriacao;\r
+\r
+       @Column(length=1, nullable=false)\r
+       private boolean concluido;\r
+\r
+       @Column(length=32768, nullable=false)\r
+       private String introducao;\r
+\r
+    @ManyToOne\r
+    @JoinColumn(name = "usu_id", referencedColumnName = "id", nullable = true)\r
+    @Index(name="caso_usu_fk_i")\r
+       private Usuario criadoPor;\r
+\r
+    @ManyToOne\r
+    @JoinColumn(name = "cena_id", referencedColumnName = "id", nullable = true)\r
+    @Index(name="caso_cena_fk_i")\r
+       private Cenario cenario;\r
+\r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public String getAutores() {\r
+               return autores;\r
+       }\r
+\r
+       public void setAutores(String autores) {\r
+               this.autores = autores;\r
+       }\r
+\r
+       public Date getDataCriacao() {\r
+               return dataCriacao;\r
+       }\r
+\r
+       public void setDataCriacao(Date dataCriacao) {\r
+               this.dataCriacao = dataCriacao;\r
+       }\r
+\r
+       public boolean isConcluido() {\r
+               return concluido;\r
+       }\r
+\r
+       public void setConcluido(boolean concluido) {\r
+               this.concluido = concluido;\r
+       }\r
+\r
+       public String getIntroducao() {\r
+               return introducao;\r
+       }\r
+\r
+       public void setIntroducao(String introducao) {\r
+               this.introducao = introducao;\r
+       }\r
+\r
+       public Usuario getCriadoPor() {\r
+               return criadoPor;\r
+       }\r
+\r
+       public void setCriadoPor(Usuario criadoPor) {\r
+               this.criadoPor = criadoPor;\r
+       }\r
+\r
+       public Cenario getCenario() {\r
+               return cenario;\r
+       }\r
+\r
+       public void setCenario(Cenario cenario) {\r
+               this.cenario = cenario;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               CasoClinico other = (CasoClinico) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+\r
+       \r
+       \r
+}\r
diff --git a/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Cenario.java b/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Cenario.java
new file mode 100644 (file)
index 0000000..fa644f3
--- /dev/null
@@ -0,0 +1,82 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+\r
+@Entity\r
+@Table(name="Cenario")\r
+// Shortname: "cena"\r
+@SequenceGenerator(name = "sequenceCenario", sequenceName = "sqCenario", initialValue = 1, allocationSize=1)\r
+public class Cenario implements Serializable {\r
+\r
+       private static final long serialVersionUID = -5325804840992891837L;\r
+\r
+       @GeneratedValue(generator = "sequenceCenario", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+       \r
+       @Column(nullable=false, length=50)\r
+       private String nome;\r
+\r
+       @Column(nullable=false, length=300)\r
+       private String thumbnailURL;\r
+\r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public String getThumbnailURL() {\r
+               return thumbnailURL;\r
+       }\r
+\r
+       public void setThumbnailURL(String thumbnailURL) {\r
+               this.thumbnailURL = thumbnailURL;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Cenario other = (Cenario) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+       \r
+       \r
+       \r
+}\r
diff --git a/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/FaixaEtaria.java b/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/FaixaEtaria.java
new file mode 100644 (file)
index 0000000..e235b05
--- /dev/null
@@ -0,0 +1,93 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+import javax.persistence.Transient;\r
+\r
+@Entity\r
+// Short name: "faiet"\r
+@Table(name="FaixaEtaria")\r
+@SequenceGenerator(name = "sequenceFaixaEtaria", sequenceName = "sqFaixaEtaria", initialValue = 1, allocationSize=1)\r
+public class FaixaEtaria implements Serializable {\r
+\r
+       \r
+       private static final long serialVersionUID = -7880046977930536898L;\r
+\r
+       @GeneratedValue(generator = "sequenceFaixaEtaria", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+\r
+       @Column(length=3, nullable=true)\r
+       private Integer idadeMinima;\r
+\r
+       @Column(length=3, nullable=true)\r
+       private Integer idadeMaxima;\r
+\r
+       @Transient\r
+       public String getNome() {\r
+               if (idadeMinima != null && idadeMaxima != null)\r
+                       return "Entre " + getIdadeMinima() + " e " + getIdadeMaxima() + " anos";\r
+               if (idadeMinima == null && idadeMaxima != null)\r
+                       return "Entre zero e " + getIdadeMaxima() + " anos";\r
+               else\r
+                       return getIdadeMinima() + " anos ou mais";\r
+       }\r
+\r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public Integer getIdadeMinima() {\r
+               return idadeMinima;\r
+       }\r
+\r
+       public void setIdadeMinima(Integer idadeMinima) {\r
+               this.idadeMinima = idadeMinima;\r
+       }\r
+\r
+       public Integer getIdadeMaxima() {\r
+               return idadeMaxima;\r
+       }\r
+\r
+       public void setIdadeMaxima(Integer idadeMaxima) {\r
+               this.idadeMaxima = idadeMaxima;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               FaixaEtaria other = (FaixaEtaria) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+\r
+       \r
+}\r
diff --git a/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Grupo.java b/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Grupo.java
new file mode 100644 (file)
index 0000000..4472320
--- /dev/null
@@ -0,0 +1,129 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+import java.util.Collection;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.JoinColumn;\r
+import javax.persistence.JoinTable;\r
+import javax.persistence.ManyToMany;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+import javax.persistence.UniqueConstraint;\r
+\r
+@Entity\r
+@Table(name="Grupo")\r
+// Shortname: "gru"\r
+@SequenceGenerator(name = "sequenceGrupo", sequenceName = "sqGrupo", initialValue = 1, allocationSize=1)\r
+public class Grupo implements Serializable {\r
+\r
+       private static final long serialVersionUID = 3819490399218258321L;\r
+\r
+       @GeneratedValue(generator = "sequenceGrupo", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+\r
+       @Column(length=50, nullable=false)\r
+       private String nome;\r
+       \r
+       @Column(length=1, nullable=false)\r
+       private boolean ativo;\r
+\r
+    @ManyToMany(mappedBy = "grupos")\r
+    private Collection<Usuario> usuarios;\r
+\r
+    @ManyToMany\r
+    @JoinTable(        name = "GrupoRegra",\r
+                       joinColumns = {@JoinColumn(name = "gru_id")},\r
+                       inverseJoinColumns = {@JoinColumn(name = "reg_id")},\r
+                       uniqueConstraints={@UniqueConstraint(columnNames={"gru_id", "reg_id"})})\r
+    private Collection<Regra> regras;\r
+\r
+    @ManyToMany\r
+    @JoinTable(        name = "GrupoPrivilegio",\r
+                       joinColumns = {@JoinColumn(name = "gru_id")},\r
+                       inverseJoinColumns = {@JoinColumn(name = "priv_id")},\r
+                       uniqueConstraints={@UniqueConstraint(columnNames={"gru_id", "priv_id"})})\r
+    private Collection<Privilegio> privilegios;\r
+    \r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public boolean isAtivo() {\r
+               return ativo;\r
+       }\r
+\r
+       public void setAtivo(boolean ativo) {\r
+               this.ativo = ativo;\r
+       }\r
+\r
+       public Collection<Usuario> getUsuarios() {\r
+               return usuarios;\r
+       }\r
+\r
+       public void setUsuarios(Collection<Usuario> usuarios) {\r
+               this.usuarios = usuarios;\r
+       }\r
+       \r
+       \r
+\r
+       public Collection<Regra> getRegras() {\r
+               return regras;\r
+       }\r
+\r
+       public void setRegras(Collection<Regra> regras) {\r
+               this.regras = regras;\r
+       }\r
+\r
+       public Collection<Privilegio> getPrivilegios() {\r
+               return privilegios;\r
+       }\r
+\r
+       public void setPrivilegios(Collection<Privilegio> privilegios) {\r
+               this.privilegios = privilegios;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Grupo other = (Grupo) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+\r
+       \r
+}\r
diff --git a/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Instituicao.java b/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Instituicao.java
new file mode 100644 (file)
index 0000000..63d690d
--- /dev/null
@@ -0,0 +1,89 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+\r
+\r
+@Entity\r
+@Table(name="Instituicao")\r
+// Shortname: "inst"\r
+@SequenceGenerator(name = "sequenceInstituicao", sequenceName = "sqInstituicao", initialValue = 1, allocationSize=1)\r
+public class Instituicao implements Serializable {\r
+\r
+       private static final long serialVersionUID = 6879782331178330999L;\r
+\r
+       @Id\r
+       @GeneratedValue(generator="sequenceInstituicao", strategy=GenerationType.AUTO)\r
+       private Long id;\r
+\r
+       @Column(length=100, nullable=false)\r
+       private String nome;\r
+       @Column(length=20, nullable=true)\r
+       private String telefone;\r
+       @Column(length=100, nullable=true)\r
+       private String endereco;\r
+       public Long getId() {\r
+               return id;\r
+       }\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+       public String getTelefone() {\r
+               return telefone;\r
+       }\r
+       public void setTelefone(String telefone) {\r
+               this.telefone = telefone;\r
+       }\r
+       public String getEndereco() {\r
+               return endereco;\r
+       }\r
+       public void setEndereco(String endereco) {\r
+               this.endereco = endereco;\r
+       }\r
+\r
+       public String toString() {\r
+               return id + " - " + nome;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Instituicao other = (Instituicao) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+       \r
+       public Instituicao() {\r
+               \r
+       }\r
+}\r
diff --git a/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Privilegio.java b/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Privilegio.java
new file mode 100644 (file)
index 0000000..a3e1af1
--- /dev/null
@@ -0,0 +1,93 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+import java.util.Collection;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.ManyToMany;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+\r
+@Entity\r
+//Short name: "pri"\r
+@Table(name="Privilegio")\r
+@SequenceGenerator(name = "sequencePrivilegio", sequenceName = "sqPrivilegio", initialValue = 1, allocationSize=1)\r
+public class Privilegio implements Serializable {\r
+       \r
+       private static final long serialVersionUID = 4061273194728272687L;\r
+\r
+       @Id\r
+       @GeneratedValue(generator="sequencePrivilegio", strategy=GenerationType.AUTO)\r
+       private Long id;\r
+       \r
+       @Column(length=100, nullable=false)\r
+       private String nome;\r
+       \r
+       @Column(length=300, nullable=false, unique=true)\r
+       private String token;\r
+\r
+    @ManyToMany(mappedBy = "privilegios")\r
+    private Collection<Grupo> grupos;\r
+\r
+    public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public String getToken() {\r
+               return token;\r
+       }\r
+\r
+       public void setToken(String token) {\r
+               this.token = token;\r
+       }\r
+       \r
+       public Collection<Grupo> getGrupos() {\r
+               return grupos;\r
+       }\r
+\r
+       public void setGrupos(Collection<Grupo> grupos) {\r
+               this.grupos = grupos;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Privilegio other = (Privilegio) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+       \r
+}\r
diff --git a/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Rede.java b/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Rede.java
new file mode 100644 (file)
index 0000000..0fd0401
--- /dev/null
@@ -0,0 +1,112 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+import java.util.Collection;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.JoinColumn;\r
+import javax.persistence.JoinTable;\r
+import javax.persistence.ManyToMany;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+import javax.persistence.UniqueConstraint;\r
+\r
+@Entity\r
+//Short name: "rede"\r
+@Table(name="Rede")\r
+@SequenceGenerator(name = "sequenceRede", sequenceName = "sqRede", initialValue = 1, allocationSize=1)\r
+public class Rede implements Serializable {\r
+\r
+       private static final long serialVersionUID = -8764281348427990153L;\r
+\r
+       @GeneratedValue(generator = "sequenceRede", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+\r
+       @Column(nullable=false, length=50)\r
+       private String nome;\r
+\r
+       @Column(length=1, nullable=false)\r
+       private boolean aplicavelSexoMasculino;\r
+\r
+       @Column(length=1, nullable=false)\r
+       private boolean aplicavelSexoFeminino;\r
+\r
+    @ManyToMany\r
+    @JoinTable(        name = "FaixaEtariaRede",\r
+                       joinColumns = {@JoinColumn(name = "rede_id")},\r
+                       inverseJoinColumns = {@JoinColumn(name = "faiet_id")},\r
+                       uniqueConstraints={@UniqueConstraint(columnNames={"rede_id", "faiet_id"})})\r
+    private Collection<FaixaEtaria> faixasEtarias;\r
+\r
+    \r
+    public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public boolean isAplicavelSexoMasculino() {\r
+               return aplicavelSexoMasculino;\r
+       }\r
+\r
+       public void setAplicavelSexoMasculino(boolean aplicavelSexoMasculino) {\r
+               this.aplicavelSexoMasculino = aplicavelSexoMasculino;\r
+       }\r
+\r
+       public boolean isAplicavelSexoFeminino() {\r
+               return aplicavelSexoFeminino;\r
+       }\r
+\r
+       public void setAplicavelSexoFeminino(boolean aplicavelSexoFeminino) {\r
+               this.aplicavelSexoFeminino = aplicavelSexoFeminino;\r
+       }\r
+\r
+       public Collection<FaixaEtaria> getFaixasEtarias() {\r
+               return faixasEtarias;\r
+       }\r
+\r
+       public void setFaixasEtarias(Collection<FaixaEtaria> faixasEtarias) {\r
+               this.faixasEtarias = faixasEtarias;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Rede other = (Rede) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+\r
+}\r
diff --git a/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Regra.java b/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Regra.java
new file mode 100644 (file)
index 0000000..42cb873
--- /dev/null
@@ -0,0 +1,92 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+import java.util.Collection;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.ManyToMany;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+\r
+@Entity\r
+//Short name: "reg"\r
+@Table(name="Regra")\r
+@SequenceGenerator(name = "sequenceRegra", sequenceName = "sqRegra", initialValue = 1, allocationSize=1)\r
+public class Regra implements Serializable {\r
+       private static final long serialVersionUID = 6538831479698908253L;\r
+\r
+       @Id\r
+       @GeneratedValue(generator="sequenceRegra", strategy=GenerationType.AUTO)\r
+       private Long id;\r
+       \r
+       @Column(length=100, nullable=false)\r
+       private String nome;\r
+       \r
+       @Column(length=300, nullable=false, unique=true)\r
+       private String token;\r
+\r
+    @ManyToMany(mappedBy = "regras")\r
+    private Collection<Grupo> grupos;\r
+\r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public String getToken() {\r
+               return token;\r
+       }\r
+\r
+       public void setToken(String token) {\r
+               this.token = token;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       public Collection<Grupo> getGrupos() {\r
+               return grupos;\r
+       }\r
+\r
+       public void setGrupos(Collection<Grupo> grupos) {\r
+               this.grupos = grupos;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Regra other = (Regra) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+       \r
+}\r
diff --git a/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Usuario.java b/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Usuario.java
new file mode 100644 (file)
index 0000000..8d6b80d
--- /dev/null
@@ -0,0 +1,222 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+import java.util.Collection;\r
+import java.util.Date;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.JoinColumn;\r
+import javax.persistence.JoinTable;\r
+import javax.persistence.ManyToMany;\r
+import javax.persistence.ManyToOne;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+import javax.persistence.Temporal;\r
+import javax.persistence.TemporalType;\r
+import javax.persistence.UniqueConstraint;\r
+\r
+import org.hibernate.annotations.Index;\r
+import org.ufcspa.simdecs.entities.exceptions.InvalidSexoException;\r
+\r
+@Entity\r
+// Short name: "usu"\r
+@Table(name="Usuario")\r
+@SequenceGenerator(name = "sequenceUsuario", sequenceName = "sqUsuario", initialValue = 1, allocationSize=1)\r
+public class Usuario implements Serializable {\r
+               \r
+       private static final long serialVersionUID = 3970972520019742992L;\r
+\r
+       @GeneratedValue(generator = "sequenceUsuario", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+       \r
+       @Column(length=30, nullable=false, unique=true)\r
+       private String login;\r
+       \r
+       @Column(length=20, nullable=false)\r
+       private String senha;\r
+       \r
+       @Column(length=70, nullable=false)\r
+       private String nome;\r
+\r
+       @Column(length=40, nullable=false, unique=true)\r
+       private String email;\r
+       \r
+       @Column(length=100)\r
+       private String funcao;\r
+       \r
+       @Column(length=1, nullable=true)\r
+       private String sexo;\r
+       \r
+       @Column(length=20, nullable=true)\r
+       private String telefone;\r
+       \r
+       @Temporal(TemporalType.DATE)\r
+       private Date dataNascimento;\r
+       \r
+       @Column(length=1, nullable=false)\r
+       private boolean aprovado;\r
+       \r
+       @Column(length=1, nullable=false)\r
+       private boolean ativo;\r
+       \r
+       @Temporal(TemporalType.DATE)\r
+       private Date dataCriacao;\r
+       \r
+    @ManyToOne\r
+    @JoinColumn(name = "usu_id", referencedColumnName = "id", nullable = true)\r
+    @Index(name="usu_usu_fk_i")\r
+       private Usuario criadoPor;\r
+\r
+    @ManyToMany\r
+    @JoinTable(        name = "UsuarioGrupo",\r
+                       joinColumns = {@JoinColumn(name = "usu_id")},\r
+                       inverseJoinColumns = {@JoinColumn(name = "gru_id")},\r
+                       uniqueConstraints={@UniqueConstraint(columnNames={"usu_id", "gru_id"})})\r
+    private Collection<Grupo> grupos;\r
+\r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getLogin() {\r
+               return login;\r
+       }\r
+\r
+       public void setLogin(String login) {\r
+               this.login = login;\r
+       }\r
+\r
+       public String getSenha() {\r
+               return senha;\r
+       }\r
+\r
+       public void setSenha(String senha) {\r
+               this.senha = senha;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public String getEmail() {\r
+               return email;\r
+       }\r
+\r
+       public void setEmail(String email) {\r
+               this.email = email;\r
+       }\r
+\r
+       public String getFuncao() {\r
+               return funcao;\r
+       }\r
+\r
+       public void setFuncao(String funcao) {\r
+               this.funcao = funcao;\r
+       }\r
+\r
+       public String getSexo() {\r
+               return sexo;\r
+       }\r
+\r
+       public void setSexo(String sexo) throws InvalidSexoException {\r
+               if (sexo.equals("F") || sexo.equals("M"))\r
+                       this.sexo = sexo;\r
+               else\r
+                       throw new InvalidSexoException("O sexo deverá ser 'F' ou 'M'!");\r
+       }\r
+\r
+       public String getTelefone() {\r
+               return telefone;\r
+       }\r
+\r
+       public void setTelefone(String telefone) {\r
+               this.telefone = telefone;\r
+       }\r
+\r
+       public Date getDataNascimento() {\r
+               return dataNascimento;\r
+       }\r
+\r
+       public void setDataNascimento(Date dataNascimento) {\r
+               this.dataNascimento = dataNascimento;\r
+       }\r
+\r
+       public boolean isAprovado() {\r
+               return aprovado;\r
+       }\r
+\r
+       public void setAprovado(boolean aprovado) {\r
+               this.aprovado = aprovado;\r
+       }\r
+\r
+       public boolean isAtivo() {\r
+               return ativo;\r
+       }\r
+\r
+       public void setAtivo(boolean ativo) {\r
+               this.ativo = ativo;\r
+       }\r
+\r
+       public Date getDataCriacao() {\r
+               return dataCriacao;\r
+       }\r
+\r
+       public void setDataCriacao(Date dataCriacao) {\r
+               this.dataCriacao = dataCriacao;\r
+       }\r
+\r
+       public Usuario getCriadoPor() {\r
+               return criadoPor;\r
+       }\r
+\r
+       public void setCriadoPor(Usuario criadoPor) {\r
+               this.criadoPor = criadoPor;\r
+       }\r
+\r
+       public Collection<Grupo> getGrupos() {\r
+               return grupos;\r
+       }\r
+\r
+       public void setGrupos(Collection<Grupo> grupos) {\r
+               this.grupos = grupos;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Usuario other = (Usuario) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+    \r
+}\r
diff --git a/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/exceptions/InvalidDomainException.java b/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/exceptions/InvalidDomainException.java
new file mode 100644 (file)
index 0000000..e058ff4
--- /dev/null
@@ -0,0 +1,10 @@
+package org.ufcspa.simdecs.entities.exceptions;\r
+\r
+public class InvalidDomainException extends Exception {\r
+\r
+       private static final long serialVersionUID = -8819708917989477984L;\r
+\r
+       public InvalidDomainException(String message) {\r
+               super(message);\r
+       }\r
+}\r
diff --git a/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/exceptions/InvalidSexoException.java b/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/exceptions/InvalidSexoException.java
new file mode 100644 (file)
index 0000000..250149b
--- /dev/null
@@ -0,0 +1,10 @@
+package org.ufcspa.simdecs.entities.exceptions;\r
+\r
+public class InvalidSexoException extends InvalidDomainException {\r
+       \r
+       private static final long serialVersionUID = 1501154204732377528L;\r
+\r
+       public InvalidSexoException(String message) {\r
+               super(message);\r
+       }\r
+}\r
diff --git a/SimDeCS/resources/src/main/seam.properties b/SimDeCS/resources/src/main/seam.properties
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/SimDeCS/resources/src/main/security.drl b/SimDeCS/resources/src/main/security.drl
new file mode 100644 (file)
index 0000000..b015775
--- /dev/null
@@ -0,0 +1,6 @@
+package Permissions;
+
+import java.security.Principal;
+
+import org.jboss.seam.security.permission.PermissionCheck;
+import org.jboss.seam.security.Role;
\ No newline at end of file
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/Authenticator.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/Authenticator.java
new file mode 100644 (file)
index 0000000..6c642e8
--- /dev/null
@@ -0,0 +1,58 @@
+package org.ufcspa.simdecs.session;
+
+import java.util.Iterator;
+
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.log.Log;
+import org.jboss.seam.security.Credentials;
+import org.jboss.seam.security.Identity;
+import org.ufcspa.simdecs.entities.Regra;
+import org.ufcspa.simdecs.entities.Usuario;
+
+@Name("authenticator")
+public class Authenticator
+{
+    @Logger private Log log;
+
+    @In Identity identity;
+    @In Credentials credentials;
+
+    @In
+    private EntityManager entityManager;
+    
+    public boolean authenticate()
+    {
+log.info("entrou no metodo autenticate");
+       Usuario usuario;
+       try {
+               usuario= (Usuario) entityManager.createQuery("select usu from Usuario as usu where usu.login=:login and usu.senha=:senha")
+                                                                               .setParameter("login", credentials.getUsername())
+                                                                               .setParameter("senha", credentials.getPassword())
+                                                                               .getSingleResult();     
+       } catch (NoResultException ne) {
+               log.info("Não encontrou usuário");              
+               return false;
+       }
+       
+log.info("usuario nao é nulo");
+
+        Iterator rolesIt = entityManager.createQuery("Select reg From Regra as reg inner join reg.grupos gru inner join gru.usuarios usu where usu.id=:idUsuario")
+                                                                       .setParameter("idUsuario", usuario.getId())
+                                                                       .getResultList()
+                                                                       .iterator();
+        
+       while(rolesIt.hasNext())
+               identity.addRole(((Regra) rolesIt.next()).getToken());
+       
+       
+       log.info("authenticating {0}", credentials.getUsername());
+
+       return true;
+    }
+
+}
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/Bean.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/Bean.java
new file mode 100644 (file)
index 0000000..c675043
--- /dev/null
@@ -0,0 +1,81 @@
+package org.ufcspa.simdecs.session.crud.admin;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.faces.model.SelectItem;
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+
+import org.jboss.seam.annotations.In;
+import org.jboss.annotation.factory.*;
+import org.jboss.seam.annotations.Factory;
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.international.StatusMessages;
+import org.jboss.seam.log.Log;
+import org.ufcspa.simdecs.entities.Grupo;
+
+@Name("bean")
+public class Bean  
+{
+    @Logger private Log log;
+
+    @In StatusMessages statusMessages;
+    
+  
+    private List<Grupo> listaDestino;
+    private List<SelectItem> listaOrigem;
+    
+    
+       
+       private EntityManager entityManager;
+
+
+    public void bean()
+    {
+        // implement your business logic here
+        log.info("bean.bean() action called");
+        statusMessages.add("bean");
+    
+    }
+
+    // add additional action methods
+
+    public List<Grupo> getListaDestino() {
+        if (listaDestino == null) {
+        
+          listaDestino = new ArrayList<Grupo>();
+          System.out.println("Nova Lista");
+        }
+        return listaDestino;
+      }
+    
+    @Factory("getListaOrigem")
+    public List<SelectItem> getListaOrigem() {
+       if (listaOrigem == null) {
+               listaOrigem = new ArrayList<SelectItem>();
+           
+          /* Criei esse objeto apenas a título de exemplo. 
+           * Num caso real, você poderia buscar a lista do banco.
+           */
+          
+               Grupo o = new Grupo();
+               o.setNome("teste");
+               o.setId(Long.valueOf(2));
+               o.setAtivo(true);
+               listaOrigem.add(new SelectItem(o, o.getNome()));  
+        }
+        return listaOrigem;
+      }
+  
+      
+      
+      public void setListaDestino(List<Grupo> listaDestino) {
+        this.listaDestino = listaDestino;
+      }
+      public void setListaOrigem(List<SelectItem> listaOrigem) {
+        this.listaOrigem = listaOrigem;
+      }
+}
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/GrupoHome.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/GrupoHome.java
new file mode 100644 (file)
index 0000000..f227feb
--- /dev/null
@@ -0,0 +1,42 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Grupo;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityHome;\r
+\r
+@Name("grupoHome")\r
+public class GrupoHome extends SimDeCSEntityHome<Grupo> {\r
+\r
+       public void setGrupoId(Long id) {\r
+               setId(id);\r
+       }\r
+\r
+       public Long getGrupoId() {\r
+               return (Long) getId();\r
+       }\r
+\r
+       @Override\r
+       protected Grupo createInstance() {\r
+               Grupo grupo = new Grupo();\r
+               return grupo;\r
+       }\r
+\r
+       public void load() {\r
+               if (isIdDefined()) {\r
+                       wire();\r
+               }\r
+       }\r
+\r
+       public void wire() {\r
+               getInstance();\r
+       }\r
+\r
+       public boolean isWired() {\r
+               return true;\r
+       }\r
+\r
+       public Grupo getDefinedInstance() {\r
+               return isIdDefined() ? getInstance() : null;\r
+       }\r
+\r
+}\r
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/GrupoList.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/GrupoList.java
new file mode 100644 (file)
index 0000000..6c47fe8
--- /dev/null
@@ -0,0 +1,27 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import java.util.Arrays;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Grupo;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityQuery;\r
+\r
+@Name("grupoList")\r
+public class GrupoList extends SimDeCSEntityQuery<Grupo> {\r
+\r
+       private static final String EJBQL = "select grupo from Grupo grupo";\r
+\r
+       private static final String[] RESTRICTIONS = { "lower(grupo.nome) like lower(concat(#{grupoList.grupo.nome},'%'))", };\r
+\r
+       private Grupo grupo = new Grupo();\r
+\r
+       public GrupoList() {\r
+               setEjbql(EJBQL);\r
+               setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));\r
+               setMaxResults(25);\r
+       }\r
+\r
+       public Grupo getGrupo() {\r
+               return grupo;\r
+       }\r
+}\r
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/InstituicaoHome.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/InstituicaoHome.java
new file mode 100644 (file)
index 0000000..0ec8ff9
--- /dev/null
@@ -0,0 +1,42 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Instituicao;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityHome;\r
+\r
+@Name("instituicaoHome")\r
+public class InstituicaoHome extends SimDeCSEntityHome<Instituicao> {\r
+\r
+       public void setInstituicaoId(Long id) {\r
+               setId(id);\r
+       }\r
+\r
+       public Long getInstituicaoId() {\r
+               return (Long) getId();\r
+       }\r
+\r
+       @Override\r
+       protected Instituicao createInstance() {\r
+               Instituicao instituicao = new Instituicao();\r
+               return instituicao;\r
+       }\r
+\r
+       public void load() {\r
+               if (isIdDefined()) {\r
+                       wire();\r
+               }\r
+       }\r
+\r
+       public void wire() {\r
+               getInstance();\r
+       }\r
+\r
+       public boolean isWired() {\r
+               return true;\r
+       }\r
+\r
+       public Instituicao getDefinedInstance() {\r
+               return isIdDefined() ? getInstance() : null;\r
+       }\r
+\r
+}\r
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/InstituicaoList.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/InstituicaoList.java
new file mode 100644 (file)
index 0000000..91ddd83
--- /dev/null
@@ -0,0 +1,30 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import java.util.Arrays;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Instituicao;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityQuery;\r
+\r
+@Name("instituicaoList")\r
+public class InstituicaoList extends SimDeCSEntityQuery<Instituicao> {\r
+\r
+       private static final String EJBQL = "select instituicao from Instituicao instituicao";\r
+\r
+       private static final String[] RESTRICTIONS = {\r
+                       "lower(instituicao.endereco) like lower(concat(#{instituicaoList.instituicao.endereco},'%'))",\r
+                       "lower(instituicao.nome) like lower(concat(#{instituicaoList.instituicao.nome},'%'))",\r
+                       "lower(instituicao.telefone) like lower(concat(#{instituicaoList.instituicao.telefone},'%'))", };\r
+\r
+       private Instituicao instituicao = new Instituicao();\r
+\r
+       public InstituicaoList() {\r
+               setEjbql(EJBQL);\r
+               setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));\r
+               setMaxResults(25);\r
+       }\r
+\r
+       public Instituicao getInstituicao() {\r
+               return instituicao;\r
+       }\r
+}\r
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/ListBeanPendente.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/ListBeanPendente.java
new file mode 100644 (file)
index 0000000..36a8fd2
--- /dev/null
@@ -0,0 +1,107 @@
+package org.ufcspa.simdecs.session.crud.admin;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.ejb.Stateless;
+import javax.faces.model.SelectItem;
+import javax.persistence.EntityManager;
+
+import org.hibernate.loader.custom.Return;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.In;
+import org.jboss.annotation.factory.*;
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.Destroy;
+import org.jboss.seam.annotations.End;
+import org.jboss.seam.annotations.Factory;
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.datamodel.DataModel;
+import org.jboss.seam.annotations.datamodel.DataModelSelection;
+import org.jboss.seam.international.StatusMessages;
+import org.jboss.seam.log.Log;
+import org.omg.Security.Public;
+import org.ufcspa.simdecs.entities.Grupo;
+import org.ufcspa.simdecs.entities.Usuario;
+
+
+@Name("listBeanPendente")
+@Scope(ScopeType.EVENT)
+public class ListBeanPendente
+{
+    @Logger private Log log;
+    @In private EntityManager entityManager;
+    @In StatusMessages statusMessages;
+    
+    private List<Grupo> gruposPendentes = new ArrayList<Grupo>();;
+//     private Collection<Grupo> novaListaGrupo;
+//     
+       
+       
+       
+         
+//    public Collection<Grupo> getNovaListaGrupo() {
+//             return novaListaGrupo;
+//     }
+
+
+
+
+       public void listBeanPendente(){
+    }   
+    
+
+    @SuppressWarnings("unchecked")
+       public List<Grupo> gruposPendentes()
+       {
+               if (gruposPendentes.isEmpty()) {
+                       System.out.println("Carrega Lista");
+                       gruposPendentes = (List<Grupo>)entityManager.createQuery("from Grupo grupo where grupo.id not in (select g.id From Grupo as g inner join g.usuarios usu where usu.id=:idDoUsuario)")
+                       .setParameter("idDoUsuario", Integer.getInteger("#{usuarioHome.usuarioId}"))
+                       .getResultList();
+               }
+               for (Grupo a:gruposPendentes ){
+                       System.out.println(a.getNome());
+               }
+               return  gruposPendentes;
+       }
+    
+    
+    public void setGruposPendentes(List<Grupo> gruposPendentes) {
+               this.gruposPendentes = gruposPendentes;
+       }
+    
+//     public void setNovaListaGrupo(List<Grupo> novaListaGrupo) {
+//             this.novaListaGrupo = novaListaGrupo;
+//     }
+
+   
+//    @SuppressWarnings("unchecked")
+//     public void setaNovaLista(){
+//             Usuario user = new Usuario();
+//             user = (Usuario) entityManager.createQuery("from Usuario usu where usu.id  usu.id=:idDoUsuario)")
+//                             .setParameter("idDoUsuario", Integer.getInteger("#{usuarioHome.usuarioId}"))
+//                             .getSingleResult();
+//             user.setGrupos(novaListaGrupo);
+//             
+//     }
+   
+    
+//     @SuppressWarnings("unused")
+//     @Remove
+//    @Destroy
+//    private void destruicaoObrigatoria() {
+//             // TODO Auto-generated method stub
+//     log.info("Cahmado metodo de destruição obrigatoria");
+//
+//     }
+
+
+        
+}
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/PrivilegioHome.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/PrivilegioHome.java
new file mode 100644 (file)
index 0000000..07dd39c
--- /dev/null
@@ -0,0 +1,42 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Privilegio;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityHome;\r
+\r
+@Name("privilegioHome")\r
+public class PrivilegioHome extends SimDeCSEntityHome<Privilegio> {\r
+\r
+       public void setPrivilegioId(Long id) {\r
+               setId(id);\r
+       }\r
+\r
+       public Long getPrivilegioId() {\r
+               return (Long) getId();\r
+       }\r
+\r
+       @Override\r
+       protected Privilegio createInstance() {\r
+               Privilegio privilegio = new Privilegio();\r
+               return privilegio;\r
+       }\r
+\r
+       public void load() {\r
+               if (isIdDefined()) {\r
+                       wire();\r
+               }\r
+       }\r
+\r
+       public void wire() {\r
+               getInstance();\r
+       }\r
+\r
+       public boolean isWired() {\r
+               return true;\r
+       }\r
+\r
+       public Privilegio getDefinedInstance() {\r
+               return isIdDefined() ? getInstance() : null;\r
+       }\r
+\r
+}\r
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/PrivilegioList.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/PrivilegioList.java
new file mode 100644 (file)
index 0000000..95e2271
--- /dev/null
@@ -0,0 +1,29 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import java.util.Arrays;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Privilegio;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityQuery;\r
+\r
+@Name("privilegioList")\r
+public class PrivilegioList extends SimDeCSEntityQuery<Privilegio> {\r
+\r
+       private static final String EJBQL = "select privilegio from Privilegio privilegio";\r
+\r
+       private static final String[] RESTRICTIONS = {\r
+                       "lower(privilegio.nome) like lower(concat(#{privilegioList.privilegio.nome},'%'))",\r
+                       "lower(privilegio.token) like lower(concat(#{privilegioList.privilegio.token},'%'))", };\r
+\r
+       private Privilegio privilegio = new Privilegio();\r
+\r
+       public PrivilegioList() {\r
+               setEjbql(EJBQL);\r
+               setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));\r
+               setMaxResults(25);\r
+       }\r
+\r
+       public Privilegio getPrivilegio() {\r
+               return privilegio;\r
+       }\r
+}\r
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/RegraHome.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/RegraHome.java
new file mode 100644 (file)
index 0000000..22ce650
--- /dev/null
@@ -0,0 +1,42 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Regra;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityHome;\r
+\r
+@Name("regraHome")\r
+public class RegraHome extends SimDeCSEntityHome<Regra> {\r
+\r
+       public void setRegraId(Long id) {\r
+               setId(id);\r
+       }\r
+\r
+       public Long getRegraId() {\r
+               return (Long) getId();\r
+       }\r
+\r
+       @Override\r
+       protected Regra createInstance() {\r
+               Regra regra = new Regra();\r
+               return regra;\r
+       }\r
+\r
+       public void load() {\r
+               if (isIdDefined()) {\r
+                       wire();\r
+               }\r
+       }\r
+\r
+       public void wire() {\r
+               getInstance();\r
+       }\r
+\r
+       public boolean isWired() {\r
+               return true;\r
+       }\r
+\r
+       public Regra getDefinedInstance() {\r
+               return isIdDefined() ? getInstance() : null;\r
+       }\r
+\r
+}\r
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/RegraList.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/RegraList.java
new file mode 100644 (file)
index 0000000..159b8d7
--- /dev/null
@@ -0,0 +1,29 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import java.util.Arrays;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Regra;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityQuery;\r
+\r
+@Name("regraList")\r
+public class RegraList extends SimDeCSEntityQuery<Regra> {\r
+\r
+       private static final String EJBQL = "select regra from Regra regra";\r
+\r
+       private static final String[] RESTRICTIONS = {\r
+                       "lower(regra.nome) like lower(concat(#{regraList.regra.nome},'%'))",\r
+                       "lower(regra.token) like lower(concat(#{regraList.regra.token},'%'))", };\r
+\r
+       private Regra regra = new Regra();\r
+\r
+       public RegraList() {\r
+               setEjbql(EJBQL);\r
+               setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));\r
+               setMaxResults(25);\r
+       }\r
+\r
+       public Regra getRegra() {\r
+               return regra;\r
+       }\r
+}\r
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioGrupoList.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioGrupoList.java
new file mode 100644 (file)
index 0000000..a6ba07c
--- /dev/null
@@ -0,0 +1,30 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import java.util.Arrays;\r
+import java.util.ArrayList;  \r
+import java.util.List;\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Grupo;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityQuery;\r
+\r
+@Name("usuarioGrupoList")\r
+public class UsuarioGrupoList extends SimDeCSEntityQuery<Grupo> {\r
+\r
+\r
+       private static final String EJBQL = "select grupo From Grupo as grupo inner join grupo.usuarios usu";\r
+       private static final String[] RESTRICTIONS = { "usu.id= #{usuarioList.usuario.id}"};\r
+       private Grupo grupo = new Grupo();\r
+       \r
+       public UsuarioGrupoList() {\r
+               setEjbql(EJBQL);\r
+               setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));\r
+               setMaxResults(25);\r
+                               \r
+       }\r
+\r
+       public Grupo getGrupo() {\r
+               return grupo;\r
+       }\r
+       \r
+\r
+}\r
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioHome.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioHome.java
new file mode 100644 (file)
index 0000000..314dc27
--- /dev/null
@@ -0,0 +1,46 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import org.jboss.seam.annotations.In;\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Usuario;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityHome;\r
+\r
+@Name("usuarioHome")\r
+public class UsuarioHome extends SimDeCSEntityHome<Usuario> {\r
+\r
+       @In(create = true)\r
+       UsuarioHome usuarioHome;\r
+\r
+       public void setUsuarioId(Long id) {\r
+               setId(id);\r
+       }\r
+\r
+       public Long getUsuarioId() {\r
+               return (Long) getId();\r
+       }\r
+\r
+       @Override\r
+       protected Usuario createInstance() {\r
+               Usuario usuario = new Usuario();\r
+               return usuario;\r
+       }\r
+\r
+       public void load() {\r
+               if (isIdDefined()) {\r
+                       wire();\r
+               }\r
+       }\r
+\r
+       public void wire() {\r
+               getInstance();\r
+       }\r
+\r
+       public boolean isWired() {\r
+               return true;\r
+       }\r
+\r
+       public Usuario getDefinedInstance() {\r
+               return isIdDefined() ? getInstance() : null;\r
+       }\r
+\r
+}\r
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioLisGrupoPickList.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioLisGrupoPickList.java
new file mode 100644 (file)
index 0000000..bad7e0e
--- /dev/null
@@ -0,0 +1,68 @@
+package org.ufcspa.simdecs.session.crud.admin;
+
+import java.util.List;
+import java.util.ArrayList;  
+import javax.faces.model.SelectItem;
+import javax.faces.model.SelectItemGroup;  
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.log.Log;
+import org.ufcspa.simdecs.entities.Grupo;
+
+
+
+@Name("usuarioLisGrupoPickList")
+public class UsuarioLisGrupoPickList
+{
+    @Logger private Log log;
+
+  //  @In StatusMessages statusMessages;
+    
+    private EntityManager entityManager;
+   // private List<SelectItem> option;  
+    private List listSelecionada;
+
+    public List<SelectItem> UsuarioLisGrupoPickList()
+    {
+        // implement your business logic here
+        log.info("usuarioLisGrupoPickList.usuarioLisGrupoPickList() action called");
+//        statusMessages.add("usuarioLisGrupoPickList");
+        log.info("entrou no metodo usuarioLisGrupoPickList");
+        
+        ArrayList<SelectItem> listaSelect = new ArrayList<SelectItem>();
+        
+        
+       
+       try {
+               List<Grupo> gruposLidos = entityManager.createQuery("select grupo From Grupo as grupo inner join grupo.usuarios usu where usu.id=:id")
+                                                                               .setParameter("id", "#{usuarioList.usuario.id}")
+                                                                               .getResultList();       
+               for (Grupo gr : gruposLidos ) {  
+                //List selecionavel = new ArrayList(); 
+                       SelectItem selecionavel = new SelectItem(gr.getNome().toString());
+                
+                listaSelect.add(selecionavel);  
+            }  
+               
+       } catch (NoResultException ne) {
+               log.info("Não encontrou grupo");                
+       //      return false;
+       }
+        return listaSelect;  
+    }
+
+    // add additional action methods
+
+    
+
+    public List getListSelecionada() {  
+        return listSelecionada;  
+    }  
+  
+    public void setListSelecionada(List listSelecionada) {  
+        this.listSelecionada = listSelecionada;  
+    }  
+}
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioList.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/admin/UsuarioList.java
new file mode 100644 (file)
index 0000000..6bb44e9
--- /dev/null
@@ -0,0 +1,46 @@
+package org.ufcspa.simdecs.session.crud.admin;\r
+\r
+import java.util.Arrays;\r
+import java.util.Collection;\r
+import java.util.List;\r
+\r
+import org.jboss.seam.annotations.Name;\r
+import org.ufcspa.simdecs.entities.Usuario;\r
+import org.ufcspa.simdecs.entities.Grupo;\r
+import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityQuery;\r
+\r
+import com.lowagie.text.pdf.hyphenation.TernaryTree.Iterator;\r
+\r
+@Name("usuarioList")\r
+public class UsuarioList extends SimDeCSEntityQuery<Usuario> {\r
+\r
+       private static final String EJBQL = "select usuario from Usuario usuario";\r
+\r
+       private static final String[] RESTRICTIONS = {\r
+                       "lower(usuario.email) like lower(concat(#{usuarioList.usuario.email},'%'))",\r
+                       "lower(usuario.funcao) like lower(concat(#{usuarioList.usuario.funcao},'%'))",\r
+                       "lower(usuario.login) like lower(concat(#{usuarioList.usuario.login},'%'))",\r
+                       "lower(usuario.nome) like lower(concat(#{usuarioList.usuario.nome},'%'))",\r
+                       "lower(usuario.senha) like lower(concat(#{usuarioList.usuario.senha},'%'))",\r
+                       "lower(usuario.sexo) like lower(concat(#{usuarioList.usuario.sexo},'%'))",\r
+                       "lower(usuario.telefone) like lower(concat(#{usuarioList.usuario.telefone},'%'))", };\r
+\r
+       private Usuario usuario = new Usuario();\r
+\r
+       \r
+\r
+       public UsuarioList() {\r
+               setEjbql(EJBQL);\r
+               setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));\r
+               setMaxResults(25);\r
+       }\r
+       \r
+               \r
+       public Usuario getUsuario() {\r
+               return usuario;\r
+       }\r
+       \r
+       \r
+       \r
+       \r
+}\r
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/defaults/SimDeCSEntityHome.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/defaults/SimDeCSEntityHome.java
new file mode 100644 (file)
index 0000000..f441e18
--- /dev/null
@@ -0,0 +1,17 @@
+package org.ufcspa.simdecs.session.crud.defaults;\r
+\r
+import org.jboss.seam.core.Expressions;\r
+import org.jboss.seam.framework.EntityHome;\r
+\r
+public abstract class SimDeCSEntityHome<E> extends EntityHome<E> {\r
+\r
+       protected void initDefaultMessages()\r
+       {\r
+               super.initDefaultMessages();\r
+               Expressions expressions = new Expressions();\r
+               setCreatedMessage(expressions.createValueExpression("Registro criado com sucesso!"));\r
+               setDeletedMessage(expressions.createValueExpression("Registro excluido com sucesso!"));\r
+               setUpdatedMessage(expressions.createValueExpression("Registro alterado com sucesso!"));         \r
+       }\r
+       \r
+}\r
diff --git a/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/defaults/SimDeCSEntityQuery.java b/SimDeCS/src/hot/org/ufcspa/simdecs/session/crud/defaults/SimDeCSEntityQuery.java
new file mode 100644 (file)
index 0000000..a5b9ab9
--- /dev/null
@@ -0,0 +1,8 @@
+package org.ufcspa.simdecs.session.crud.defaults;\r
+\r
+import org.jboss.seam.framework.EntityQuery;\r
+\r
+public abstract class SimDeCSEntityQuery<E> extends EntityQuery<E> {\r
+\r
+       \r
+}\r
diff --git a/SimDeCS/src/hot/seam.properties b/SimDeCS/src/hot/seam.properties
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/SimDeCS/src/main/META-INF/persistence.xml b/SimDeCS/src/main/META-INF/persistence.xml
new file mode 100644 (file)
index 0000000..d87cfdb
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Persistence deployment descriptor for dev profile -->
+<persistence 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_1_0.xsd" 
+             version="1.0">
+             
+   <persistence-unit name="SimDeCS" transaction-type="JTA">
+      <provider>org.hibernate.ejb.HibernatePersistence</provider>
+      <jta-data-source>java:/SimDeCSDatasource</jta-data-source>
+      <properties>
+         <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
+         <property name="hibernate.hbm2ddl.auto" value="update"/>
+         <property name="hibernate.show_sql" value="true"/>
+         <property name="hibernate.format_sql" value="true"/>
+         <property name="jboss.entity.manager.factory.jndi.name" value="java:/SimDeCSEntityManagerFactory"/>
+      </properties>
+   </persistence-unit>
+    
+</persistence>
diff --git a/SimDeCS/src/main/components.properties b/SimDeCS/src/main/components.properties
new file mode 100644 (file)
index 0000000..c598420
--- /dev/null
@@ -0,0 +1,4 @@
+#\r
+#Thu Apr 21 18:54:34 BRT 2011\r
+jndiPattern=\#{ejbName}/local\r
+embeddedEjb=false\r
diff --git a/SimDeCS/src/main/import.sql b/SimDeCS/src/main/import.sql
new file mode 100644 (file)
index 0000000..3c28ee8
--- /dev/null
@@ -0,0 +1 @@
+-- SQL statements which are executed at application startup if hibernate.hbm2ddl.auto is 'create' or 'create-drop'
diff --git a/SimDeCS/src/main/messages_en.properties b/SimDeCS/src/main/messages_en.properties
new file mode 100644 (file)
index 0000000..fdc41bd
--- /dev/null
@@ -0,0 +1,90 @@
+up=\u2191
+down=\u2193
+left=\u2039
+right=\u203A
+
+validator.assertFalse=validation failed
+validator.assertTrue=validation failed
+validator.future=must be a future date
+validator.length=length must be between {min} and {max}
+validator.max=must be less than or equal to {value}
+validator.min=must be greater than or equal to {value}
+validator.notNull=may not be null
+validator.past=must be a past date
+validator.pattern=must match "{regex}"
+validator.range=must be between {min} and {max}
+validator.size=size must be between {min} and {max}
+validator.email=must be a well-formed email address
+
+org.jboss.seam.loginFailed=Login failed
+org.jboss.seam.loginSuccessful=Welcome, #0!
+
+org.jboss.seam.TransactionFailed=Transaction failed
+org.jboss.seam.NoConversation=The conversation ended, timed out or was processing another request
+org.jboss.seam.IllegalNavigation=Illegal navigation
+org.jboss.seam.ProcessEnded=Process #0 already ended
+org.jboss.seam.ProcessNotFound=Process #0 not found
+org.jboss.seam.TaskEnded=Task #0 already ended
+org.jboss.seam.TaskNotFound=Task #0 not found
+org.jboss.seam.NotLoggedIn=Please log in first
+
+javax.faces.component.UIInput.CONVERSION=value could not be converted to the expected type
+javax.faces.component.UIInput.REQUIRED=value is required
+javax.faces.component.UIInput.UPDATE=an error occurred when processing your submitted information
+javax.faces.component.UISelectOne.INVALID=value is not valid
+javax.faces.component.UISelectMany.INVALID=value is not valid
+
+javax.faces.converter.BigDecimalConverter.DECIMAL=value must be a number
+javax.faces.converter.BigDecimalConverter.DECIMAL_detail=value must be a signed decimal number consisting of zero or more digits, optionally followed by a decimal point and fraction, eg. {1}
+javax.faces.converter.BigIntegerConverter.BIGINTEGER=value must be an integer
+javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail=value must be a signed integer number consisting of zero or more digits
+javax.faces.converter.BooleanConverter.BOOLEAN=value must be true or false
+javax.faces.converter.BooleanConverter.BOOLEAN_detail=value must be true or false (any value other than true will evaluate to false)
+javax.faces.converter.ByteConverter.BYTE=value must be a number between 0 and 255
+javax.faces.converter.ByteConverter.BYTE_detail=value must be a number between 0 and 255
+javax.faces.converter.CharacterConverter.CHARACTER=value must be a character
+javax.faces.converter.CharacterConverter.CHARACTER_detail=value must be a valid ASCII character
+javax.faces.converter.DateTimeConverter.DATE=value must be a date
+javax.faces.converter.DateTimeConverter.DATE_detail=value must be a date,  eg. {1}
+javax.faces.converter.DateTimeConverter.TIME=value must be a time
+javax.faces.converter.DateTimeConverter.TIME_detail=value must be a time,  eg. {1}
+javax.faces.converter.DateTimeConverter.DATETIME=value must be a date and time
+javax.faces.converter.DateTimeConverter.DATETIME_detail=value must be a date and time,  eg. {1}
+javax.faces.converter.DateTimeConverter.PATTERN_TYPE=a pattern or type attribute must be specified to convert the value
+javax.faces.converter.DoubleConverter.DOUBLE=value must be a number
+javax.faces.converter.DoubleConverter.DOUBLE_detail=value must be a number between 4.9E-324 and 1.7976931348623157E308
+javax.faces.converter.EnumConverter.ENUM=value must be convertible to an enum
+javax.faces.converter.EnumConverter.ENUM_detail=value must be convertible to an enum or from the enum that contains the constant {1}
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS=value must be convertible to an enum or from the enum, but no enum class provided
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail=value must be convertible to an enum or from the enum, but no enum class provided
+javax.faces.converter.FloatConverter.FLOAT=value must be a number
+javax.faces.converter.FloatConverter.FLOAT_detail=value must be a number between 1.4E-45 and 3.4028235E38
+javax.faces.converter.IntegerConverter.INTEGER=value must be an integer
+javax.faces.converter.IntegerConverter.INTEGER_detail=value must be an integer number between -2147483648 and 2147483647
+javax.faces.converter.LongConverter.LONG=value must be an integer
+javax.faces.converter.LongConverter.LONG_detail=value must be an integer number between -9223372036854775808 and 9223372036854775807
+javax.faces.converter.NumberConverter.CURRENCY=value must be a currency amount
+javax.faces.converter.NumberConverter.CURRENCY_detail=value must be a currency amount, eg. {1}
+javax.faces.converter.NumberConverter.PERCENT=value must be a percentage amount
+javax.faces.converter.NumberConverter.PERCENT_detail=value must be a percentage amount, eg. {1}
+javax.faces.converter.NumberConverter.NUMBER=value must be a number
+javax.faces.converter.NumberConverter.NUMBER_detail=value must be a number
+javax.faces.converter.NumberConverter.PATTERN=value must be a number
+javax.faces.converter.NumberConverter.PATTERN_detail=value must be a number
+javax.faces.converter.ShortConverter.SHORT=value must be an integer
+javax.faces.converter.ShortConverter.SHORT_detail=value must be an integer number between -32768 and 32767
+
+javax.faces.validator.DoubleRangeValidator.MAXIMUM=value must be less than or equal to {0}
+javax.faces.validator.DoubleRangeValidator.MINIMUM=value must be greater than or equal to {0}
+javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.validator.DoubleRangeValidator.TYPE=value is not of the correct type
+javax.faces.validator.LengthValidator.MAXIMUM=value must be shorter than or equal to {0} characters
+javax.faces.validator.LengthValidator.MINIMUM=value must be longer than or equal to {0} characters
+javax.faces.validator.LongRangeValidator.MAXIMUM=value must be less than or equal to {0}
+javax.faces.validator.LongRangeValidator.MINIMUM=value must be greater than or equal to {0}
+javax.faces.validator.LongRangeValidator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.validator.LongRangeValidator.TYPE=value is not of the correct type
+
+javax.faces.validator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.converter.STRING=value could not be converted to a string
+
diff --git a/SimDeCS/src/main/messages_pt_BR.properties b/SimDeCS/src/main/messages_pt_BR.properties
new file mode 100644 (file)
index 0000000..833b84d
--- /dev/null
@@ -0,0 +1,90 @@
+up=\u2191
+down=\u2193
+left=\u2039
+right=\u203A
+
+validator.assertFalse=validation failed
+validator.assertTrue=validation failed
+validator.future=must be a future date
+validator.length=length must be between {min} and {max}
+validator.max=must be less than or equal to {value}
+validator.min=must be greater than or equal to {value}
+validator.notNull=may not be null
+validator.past=must be a past date
+validator.pattern=must match "{regex}"
+validator.range=must be between {min} and {max}
+validator.size=size must be between {min} and {max}
+validator.email=must be a well-formed email address
+
+org.jboss.seam.loginFailed=Usu\u00E1rio / senha inv\u00E1lidos
+org.jboss.seam.loginSuccessful=Bem vindo, \#0\!
+
+org.jboss.seam.TransactionFailed=Transa\u00E7\u00E3o falhou
+org.jboss.seam.NoConversation=The conversation ended, timed out or was processing another request
+org.jboss.seam.IllegalNavigation=Illegal navigation
+org.jboss.seam.ProcessEnded=Process #0 already ended
+org.jboss.seam.ProcessNotFound=Process #0 not found
+org.jboss.seam.TaskEnded=Task #0 already ended
+org.jboss.seam.TaskNotFound=Task #0 not found
+org.jboss.seam.NotLoggedIn=Por favor, efetue login
+
+javax.faces.component.UIInput.CONVERSION=value could not be converted to the expected type
+javax.faces.component.UIInput.REQUIRED=value is required
+javax.faces.component.UIInput.UPDATE=an error occurred when processing your submitted information
+javax.faces.component.UISelectOne.INVALID=value is not valid
+javax.faces.component.UISelectMany.INVALID=value is not valid
+
+javax.faces.converter.BigDecimalConverter.DECIMAL=value must be a number
+javax.faces.converter.BigDecimalConverter.DECIMAL_detail=value must be a signed decimal number consisting of zero or more digits, optionally followed by a decimal point and fraction, eg. {1}
+javax.faces.converter.BigIntegerConverter.BIGINTEGER=value must be an integer
+javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail=value must be a signed integer number consisting of zero or more digits
+javax.faces.converter.BooleanConverter.BOOLEAN=value must be true or false
+javax.faces.converter.BooleanConverter.BOOLEAN_detail=value must be true or false (any value other than true will evaluate to false)
+javax.faces.converter.ByteConverter.BYTE=value must be a number between 0 and 255
+javax.faces.converter.ByteConverter.BYTE_detail=value must be a number between 0 and 255
+javax.faces.converter.CharacterConverter.CHARACTER=value must be a character
+javax.faces.converter.CharacterConverter.CHARACTER_detail=value must be a valid ASCII character
+javax.faces.converter.DateTimeConverter.DATE=value must be a date
+javax.faces.converter.DateTimeConverter.DATE_detail=value must be a date,  eg. {1}
+javax.faces.converter.DateTimeConverter.TIME=value must be a time
+javax.faces.converter.DateTimeConverter.TIME_detail=value must be a time,  eg. {1}
+javax.faces.converter.DateTimeConverter.DATETIME=value must be a date and time
+javax.faces.converter.DateTimeConverter.DATETIME_detail=value must be a date and time,  eg. {1}
+javax.faces.converter.DateTimeConverter.PATTERN_TYPE=a pattern or type attribute must be specified to convert the value
+javax.faces.converter.DoubleConverter.DOUBLE=value must be a number
+javax.faces.converter.DoubleConverter.DOUBLE_detail=value must be a number between 4.9E-324 and 1.7976931348623157E308
+javax.faces.converter.EnumConverter.ENUM=value must be convertible to an enum
+javax.faces.converter.EnumConverter.ENUM_detail=value must be convertible to an enum or from the enum that contains the constant {1}
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS=value must be convertible to an enum or from the enum, but no enum class provided
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail=value must be convertible to an enum or from the enum, but no enum class provided
+javax.faces.converter.FloatConverter.FLOAT=value must be a number
+javax.faces.converter.FloatConverter.FLOAT_detail=value must be a number between 1.4E-45 and 3.4028235E38
+javax.faces.converter.IntegerConverter.INTEGER=value must be an integer
+javax.faces.converter.IntegerConverter.INTEGER_detail=value must be an integer number between -2147483648 and 2147483647
+javax.faces.converter.LongConverter.LONG=value must be an integer
+javax.faces.converter.LongConverter.LONG_detail=value must be an integer number between -9223372036854775808 and 9223372036854775807
+javax.faces.converter.NumberConverter.CURRENCY=value must be a currency amount
+javax.faces.converter.NumberConverter.CURRENCY_detail=value must be a currency amount, eg. {1}
+javax.faces.converter.NumberConverter.PERCENT=value must be a percentage amount
+javax.faces.converter.NumberConverter.PERCENT_detail=value must be a percentage amount, eg. {1}
+javax.faces.converter.NumberConverter.NUMBER=value must be a number
+javax.faces.converter.NumberConverter.NUMBER_detail=value must be a number
+javax.faces.converter.NumberConverter.PATTERN=value must be a number
+javax.faces.converter.NumberConverter.PATTERN_detail=value must be a number
+javax.faces.converter.ShortConverter.SHORT=value must be an integer
+javax.faces.converter.ShortConverter.SHORT_detail=value must be an integer number between -32768 and 32767
+
+javax.faces.validator.DoubleRangeValidator.MAXIMUM=value must be less than or equal to {0}
+javax.faces.validator.DoubleRangeValidator.MINIMUM=value must be greater than or equal to {0}
+javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.validator.DoubleRangeValidator.TYPE=value is not of the correct type
+javax.faces.validator.LengthValidator.MAXIMUM=value must be shorter than or equal to {0} characters
+javax.faces.validator.LengthValidator.MINIMUM=value must be longer than or equal to {0} characters
+javax.faces.validator.LongRangeValidator.MAXIMUM=value must be less than or equal to {0}
+javax.faces.validator.LongRangeValidator.MINIMUM=value must be greater than or equal to {0}
+javax.faces.validator.LongRangeValidator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.validator.LongRangeValidator.TYPE=value is not of the correct type
+
+javax.faces.validator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.converter.STRING=value could not be converted to a string
+
diff --git a/SimDeCS/src/main/org/ufcspa/simdecs/entities/Ator.java b/SimDeCS/src/main/org/ufcspa/simdecs/entities/Ator.java
new file mode 100644 (file)
index 0000000..7752f97
--- /dev/null
@@ -0,0 +1,152 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.JoinColumn;\r
+import javax.persistence.ManyToOne;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+\r
+import org.hibernate.annotations.Index;\r
+\r
+\r
+@Entity\r
+@Table(name="Ator")\r
+// Shortname: "ator"\r
+@SequenceGenerator(name = "sequenceAtor", sequenceName = "sqAtor", initialValue = 1, allocationSize=1)\r
+public abstract class Ator implements Serializable {\r
+\r
+       private static final long serialVersionUID = 1095865636605383931L;\r
+\r
+       @GeneratedValue(generator = "sequenceAtor", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+\r
+       @Column(length=100, nullable=false)\r
+       private String nome;\r
+\r
+       @Column(length=2, nullable=false, unique=true)\r
+       private Integer ordem;\r
+       \r
+       @Column(nullable=true)\r
+       private Float altura;\r
+       @Column(nullable=true)\r
+       private Float peso;\r
+       @Column(nullable=false, length=3)\r
+       private Integer idade;\r
+       @Column(nullable=false, length=1)\r
+       private String sexo;\r
+       \r
+    @ManyToOne\r
+    @JoinColumn(name = "ava_id", referencedColumnName = "id", nullable = true)\r
+    @Index(name="ator_ava_fk_i")\r
+       private Avatar avatar;\r
+       \r
+    @ManyToOne\r
+    @JoinColumn(name = "caso_id", referencedColumnName = "id", nullable = true)\r
+    @Index(name="ator_caso_fk_i")\r
+       private CasoClinico casoClinico;\r
+\r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public Integer getOrdem() {\r
+               return ordem;\r
+       }\r
+\r
+       public void setOrdem(Integer ordem) {\r
+               this.ordem = ordem;\r
+       }\r
+\r
+       public Float getAltura() {\r
+               return altura;\r
+       }\r
+\r
+       public void setAltura(Float altura) {\r
+               this.altura = altura;\r
+       }\r
+\r
+       public Float getPeso() {\r
+               return peso;\r
+       }\r
+\r
+       public void setPeso(Float peso) {\r
+               this.peso = peso;\r
+       }\r
+\r
+       public Integer getIdade() {\r
+               return idade;\r
+       }\r
+\r
+       public void setIdade(Integer idade) {\r
+               this.idade = idade;\r
+       }\r
+\r
+       public String getSexo() {\r
+               return sexo;\r
+       }\r
+\r
+       public void setSexo(String sexo) {\r
+               this.sexo = sexo;\r
+       }\r
+\r
+       public Avatar getAvatar() {\r
+               return avatar;\r
+       }\r
+\r
+       public void setAvatar(Avatar avatar) {\r
+               this.avatar = avatar;\r
+       }\r
+\r
+       public CasoClinico getCasoClinico() {\r
+               return casoClinico;\r
+       }\r
+\r
+       public void setCasoClinico(CasoClinico casoClinico) {\r
+               this.casoClinico = casoClinico;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Ator other = (Ator) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+       \r
+}\r
diff --git a/SimDeCS/src/main/org/ufcspa/simdecs/entities/Avatar.java b/SimDeCS/src/main/org/ufcspa/simdecs/entities/Avatar.java
new file mode 100644 (file)
index 0000000..ca12aca
--- /dev/null
@@ -0,0 +1,103 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.JoinColumn;\r
+import javax.persistence.ManyToOne;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+\r
+import org.hibernate.annotations.Index;\r
+import org.ufcspa.simdecs.entities.exceptions.InvalidSexoException;\r
+\r
+@Entity\r
+@Table(name="Avatar")\r
+// Shortname: "ava"\r
+@SequenceGenerator(name = "sequenceAvatar", sequenceName = "sqAvatar", initialValue = 1, allocationSize=1)\r
+public class Avatar implements Serializable {\r
+\r
+       private static final long serialVersionUID = 3841381292539475339L;\r
+\r
+       @GeneratedValue(generator = "sequenceAvatar", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+       \r
+       @Column(nullable=false, length=100)\r
+       private String nome;\r
+\r
+       @Column(length=1, nullable=true)\r
+       private String sexo;\r
+\r
+    @ManyToOne\r
+    @JoinColumn(name = "faiet_id", referencedColumnName = "id", nullable = true)\r
+    @Index(name="ava_faiet_fk_i")\r
+       private FaixaEtaria faixaEtaria;\r
+       \r
+       \r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public String getSexo() {\r
+               return sexo;\r
+       }\r
+\r
+       public void setSexo(String sexo) throws InvalidSexoException {\r
+               if (sexo.equals("F") || sexo.equals("M"))\r
+                       this.sexo = sexo;\r
+               else\r
+                       throw new InvalidSexoException("O sexo deverá ser 'F' ou 'M'!");\r
+       }\r
+\r
+       public FaixaEtaria getFaixaEtaria() {\r
+               return faixaEtaria;\r
+       }\r
+\r
+       public void setFaixaEtaria(FaixaEtaria faixaEtaria) {\r
+               this.faixaEtaria = faixaEtaria;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Avatar other = (Avatar) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+\r
+\r
+}\r
diff --git a/SimDeCS/src/main/org/ufcspa/simdecs/entities/CasoClinico.java b/SimDeCS/src/main/org/ufcspa/simdecs/entities/CasoClinico.java
new file mode 100644 (file)
index 0000000..b834779
--- /dev/null
@@ -0,0 +1,152 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+import java.util.Date;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.JoinColumn;\r
+import javax.persistence.ManyToOne;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+import javax.persistence.Temporal;\r
+import javax.persistence.TemporalType;\r
+\r
+import org.hibernate.annotations.Index;\r
+\r
+@Entity\r
+@Table(name="CasoClinico")\r
+// Shortname: "caso"\r
+@SequenceGenerator(name = "sequenceCasoClinico", sequenceName = "sqCasoClinico", initialValue = 1, allocationSize=1)\r
+public class CasoClinico implements Serializable {\r
+\r
+       /**\r
+        * \r
+        */\r
+       private static final long serialVersionUID = 7701987863551764750L;\r
+\r
+       @GeneratedValue(generator = "sequenceCasoClinico", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+       \r
+       @Column(nullable=false, length=100)\r
+       private String nome;\r
+\r
+       @Column(nullable=false, length=400)\r
+       private String autores;\r
+\r
+       @Column(nullable=false)\r
+       @Temporal(TemporalType.TIMESTAMP)\r
+       private Date dataCriacao;\r
+\r
+       @Column(length=1, nullable=false)\r
+       private boolean concluido;\r
+\r
+       @Column(length=32768, nullable=false)\r
+       private String introducao;\r
+\r
+    @ManyToOne\r
+    @JoinColumn(name = "usu_id", referencedColumnName = "id", nullable = true)\r
+    @Index(name="caso_usu_fk_i")\r
+       private Usuario criadoPor;\r
+\r
+    @ManyToOne\r
+    @JoinColumn(name = "cena_id", referencedColumnName = "id", nullable = true)\r
+    @Index(name="caso_cena_fk_i")\r
+       private Cenario cenario;\r
+\r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public String getAutores() {\r
+               return autores;\r
+       }\r
+\r
+       public void setAutores(String autores) {\r
+               this.autores = autores;\r
+       }\r
+\r
+       public Date getDataCriacao() {\r
+               return dataCriacao;\r
+       }\r
+\r
+       public void setDataCriacao(Date dataCriacao) {\r
+               this.dataCriacao = dataCriacao;\r
+       }\r
+\r
+       public boolean isConcluido() {\r
+               return concluido;\r
+       }\r
+\r
+       public void setConcluido(boolean concluido) {\r
+               this.concluido = concluido;\r
+       }\r
+\r
+       public String getIntroducao() {\r
+               return introducao;\r
+       }\r
+\r
+       public void setIntroducao(String introducao) {\r
+               this.introducao = introducao;\r
+       }\r
+\r
+       public Usuario getCriadoPor() {\r
+               return criadoPor;\r
+       }\r
+\r
+       public void setCriadoPor(Usuario criadoPor) {\r
+               this.criadoPor = criadoPor;\r
+       }\r
+\r
+       public Cenario getCenario() {\r
+               return cenario;\r
+       }\r
+\r
+       public void setCenario(Cenario cenario) {\r
+               this.cenario = cenario;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               CasoClinico other = (CasoClinico) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+\r
+       \r
+       \r
+}\r
diff --git a/SimDeCS/src/main/org/ufcspa/simdecs/entities/Cenario.java b/SimDeCS/src/main/org/ufcspa/simdecs/entities/Cenario.java
new file mode 100644 (file)
index 0000000..fa644f3
--- /dev/null
@@ -0,0 +1,82 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+\r
+@Entity\r
+@Table(name="Cenario")\r
+// Shortname: "cena"\r
+@SequenceGenerator(name = "sequenceCenario", sequenceName = "sqCenario", initialValue = 1, allocationSize=1)\r
+public class Cenario implements Serializable {\r
+\r
+       private static final long serialVersionUID = -5325804840992891837L;\r
+\r
+       @GeneratedValue(generator = "sequenceCenario", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+       \r
+       @Column(nullable=false, length=50)\r
+       private String nome;\r
+\r
+       @Column(nullable=false, length=300)\r
+       private String thumbnailURL;\r
+\r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public String getThumbnailURL() {\r
+               return thumbnailURL;\r
+       }\r
+\r
+       public void setThumbnailURL(String thumbnailURL) {\r
+               this.thumbnailURL = thumbnailURL;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Cenario other = (Cenario) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+       \r
+       \r
+       \r
+}\r
diff --git a/SimDeCS/src/main/org/ufcspa/simdecs/entities/FaixaEtaria.java b/SimDeCS/src/main/org/ufcspa/simdecs/entities/FaixaEtaria.java
new file mode 100644 (file)
index 0000000..e235b05
--- /dev/null
@@ -0,0 +1,93 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+import javax.persistence.Transient;\r
+\r
+@Entity\r
+// Short name: "faiet"\r
+@Table(name="FaixaEtaria")\r
+@SequenceGenerator(name = "sequenceFaixaEtaria", sequenceName = "sqFaixaEtaria", initialValue = 1, allocationSize=1)\r
+public class FaixaEtaria implements Serializable {\r
+\r
+       \r
+       private static final long serialVersionUID = -7880046977930536898L;\r
+\r
+       @GeneratedValue(generator = "sequenceFaixaEtaria", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+\r
+       @Column(length=3, nullable=true)\r
+       private Integer idadeMinima;\r
+\r
+       @Column(length=3, nullable=true)\r
+       private Integer idadeMaxima;\r
+\r
+       @Transient\r
+       public String getNome() {\r
+               if (idadeMinima != null && idadeMaxima != null)\r
+                       return "Entre " + getIdadeMinima() + " e " + getIdadeMaxima() + " anos";\r
+               if (idadeMinima == null && idadeMaxima != null)\r
+                       return "Entre zero e " + getIdadeMaxima() + " anos";\r
+               else\r
+                       return getIdadeMinima() + " anos ou mais";\r
+       }\r
+\r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public Integer getIdadeMinima() {\r
+               return idadeMinima;\r
+       }\r
+\r
+       public void setIdadeMinima(Integer idadeMinima) {\r
+               this.idadeMinima = idadeMinima;\r
+       }\r
+\r
+       public Integer getIdadeMaxima() {\r
+               return idadeMaxima;\r
+       }\r
+\r
+       public void setIdadeMaxima(Integer idadeMaxima) {\r
+               this.idadeMaxima = idadeMaxima;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               FaixaEtaria other = (FaixaEtaria) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+\r
+       \r
+}\r
diff --git a/SimDeCS/src/main/org/ufcspa/simdecs/entities/Grupo.java b/SimDeCS/src/main/org/ufcspa/simdecs/entities/Grupo.java
new file mode 100644 (file)
index 0000000..7739649
--- /dev/null
@@ -0,0 +1,130 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+import java.util.Collection;\r
+import java.util.List;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.JoinColumn;\r
+import javax.persistence.JoinTable;\r
+import javax.persistence.ManyToMany;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+import javax.persistence.UniqueConstraint;\r
+\r
+@Entity\r
+@Table(name="Grupo")\r
+// Shortname: "gru"\r
+@SequenceGenerator(name = "sequenceGrupo", sequenceName = "sqGrupo", initialValue = 1, allocationSize=1)\r
+public class Grupo implements Serializable {\r
+\r
+       private static final long serialVersionUID = 3819490399218258321L;\r
+\r
+       @GeneratedValue(generator = "sequenceGrupo", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+\r
+       @Column(length=50, nullable=false)\r
+       private String nome;\r
+       \r
+       @Column(length=1, nullable=false)\r
+       private boolean ativo;\r
+\r
+    @ManyToMany(mappedBy = "grupos")\r
+    private List<Usuario> usuarios;\r
+\r
+    @ManyToMany\r
+    @JoinTable(        name = "GrupoRegra",\r
+                       joinColumns = {@JoinColumn(name = "gru_id")},\r
+                       inverseJoinColumns = {@JoinColumn(name = "reg_id")},\r
+                       uniqueConstraints={@UniqueConstraint(columnNames={"gru_id", "reg_id"})})\r
+    private List<Regra> regras;\r
+\r
+    @ManyToMany\r
+    @JoinTable(        name = "GrupoPrivilegio",\r
+                       joinColumns = {@JoinColumn(name = "gru_id")},\r
+                       inverseJoinColumns = {@JoinColumn(name = "priv_id")},\r
+                       uniqueConstraints={@UniqueConstraint(columnNames={"gru_id", "priv_id"})})\r
+    private List<Privilegio> privilegios;\r
+    \r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public boolean isAtivo() {\r
+               return ativo;\r
+       }\r
+\r
+       public void setAtivo(boolean ativo) {\r
+               this.ativo = ativo;\r
+       }\r
+\r
+       public List<Usuario> getUsuarios() {\r
+               return usuarios;\r
+       }\r
+\r
+       public void setUsuarios(List<Usuario> usuarios) {\r
+               this.usuarios = usuarios;\r
+       }\r
+       \r
+       \r
+\r
+       public List<Regra> getRegras() {\r
+               return regras;\r
+       }\r
+\r
+       public void setRegras(List<Regra> regras) {\r
+               this.regras = regras;\r
+       }\r
+\r
+       public List<Privilegio> getPrivilegios() {\r
+               return privilegios;\r
+       }\r
+\r
+       public void setPrivilegios(List<Privilegio> privilegios) {\r
+               this.privilegios = privilegios;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Grupo other = (Grupo) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+\r
+       \r
+}\r
diff --git a/SimDeCS/src/main/org/ufcspa/simdecs/entities/Instituicao.java b/SimDeCS/src/main/org/ufcspa/simdecs/entities/Instituicao.java
new file mode 100644 (file)
index 0000000..63d690d
--- /dev/null
@@ -0,0 +1,89 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+\r
+\r
+@Entity\r
+@Table(name="Instituicao")\r
+// Shortname: "inst"\r
+@SequenceGenerator(name = "sequenceInstituicao", sequenceName = "sqInstituicao", initialValue = 1, allocationSize=1)\r
+public class Instituicao implements Serializable {\r
+\r
+       private static final long serialVersionUID = 6879782331178330999L;\r
+\r
+       @Id\r
+       @GeneratedValue(generator="sequenceInstituicao", strategy=GenerationType.AUTO)\r
+       private Long id;\r
+\r
+       @Column(length=100, nullable=false)\r
+       private String nome;\r
+       @Column(length=20, nullable=true)\r
+       private String telefone;\r
+       @Column(length=100, nullable=true)\r
+       private String endereco;\r
+       public Long getId() {\r
+               return id;\r
+       }\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+       public String getTelefone() {\r
+               return telefone;\r
+       }\r
+       public void setTelefone(String telefone) {\r
+               this.telefone = telefone;\r
+       }\r
+       public String getEndereco() {\r
+               return endereco;\r
+       }\r
+       public void setEndereco(String endereco) {\r
+               this.endereco = endereco;\r
+       }\r
+\r
+       public String toString() {\r
+               return id + " - " + nome;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Instituicao other = (Instituicao) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+       \r
+       public Instituicao() {\r
+               \r
+       }\r
+}\r
diff --git a/SimDeCS/src/main/org/ufcspa/simdecs/entities/Nodo.java b/SimDeCS/src/main/org/ufcspa/simdecs/entities/Nodo.java
new file mode 100644 (file)
index 0000000..20f1003
--- /dev/null
@@ -0,0 +1,108 @@
+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;
+
+import org.hibernate.annotations.Index;
+
+
+@Entity
+@Table(name="Nodo")
+@SequenceGenerator(name = "sequenceNodo", sequenceName = "sqNodo", initialValue = 1, allocationSize=1)
+public class Nodo implements Serializable {
+
+       private static final long serialVersionUID = 6879782331178330999L;
+
+       @Id
+       @GeneratedValue(generator="sequenceNodo", strategy=GenerationType.AUTO)
+       private Long id;
+
+       @Column(length=100, nullable=false)
+       private String nome;
+       
+       @Column(length=10, nullable=true)
+       private Float custo;
+       
+       @Column(length=10, nullable=true)
+       private Long tempo;
+       
+    @ManyToOne
+    @JoinColumn(name = "rede_id", referencedColumnName = "id", nullable = true)
+    @Index(name="nodo_rede_fk_i")
+       private Rede rede;
+       
+       public Long getId() {
+               return id;
+       }
+       public void setId(Long id) {
+               this.id = id;
+       }
+       public String getNome() {
+               return nome;
+       }
+       public void setNome(String nome) {
+               this.nome = nome;
+       }
+       public Float getCusto() {
+               return custo;
+       }
+       public void setCusto(Float custo) {
+               this.custo = custo;
+       }
+       public Long getTempo() {
+               return tempo;
+       }
+       public void setTempo(Long tempo) {
+               this.tempo = tempo;
+       }
+       
+       public Rede getRede() {
+               return rede;
+       }
+
+       public void setRede(Rede rede) {
+               this.rede = rede;
+       }
+
+       public String toString() {
+               return id + " - " + nome;
+       }
+
+       @Override
+       public int hashCode() {
+               final int prime = 31;
+               int result = 1;
+               result = prime * result + ((id == null) ? 0 : id.hashCode());
+               return result;
+       }
+
+       @Override
+       public boolean equals(Object obj) {
+               if (this == obj)
+                       return true;
+               if (obj == null)
+                       return false;
+               if (getClass() != obj.getClass())
+                       return false;
+               Nodo other = (Nodo) obj;
+               if (id == null) {
+                       if (other.id != null)
+                               return false;
+               } else if (!id.equals(other.id))
+                       return false;
+               return true;
+       }
+       
+       public Nodo() {
+               
+       }
+}
diff --git a/SimDeCS/src/main/org/ufcspa/simdecs/entities/PerguntaNodo.java b/SimDeCS/src/main/org/ufcspa/simdecs/entities/PerguntaNodo.java
new file mode 100644 (file)
index 0000000..d89e0ea
--- /dev/null
@@ -0,0 +1,90 @@
+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;
+
+import org.hibernate.annotations.Index;
+
+
+@Entity
+@Table(name="PerguntaNodo")
+@SequenceGenerator(name = "sequencePerguntaNodo", sequenceName = "sqPerguntaNodo", initialValue = 1, allocationSize=1)
+public class PerguntaNodo implements Serializable {
+
+       private static final long serialVersionUID = 6879782331178330999L;
+
+       @Id
+       @GeneratedValue(generator="sequencePerguntaNodo", strategy=GenerationType.AUTO)
+       private Long id;
+
+       @Column(length=100, nullable=false)
+       private String pergunta;
+       
+    @ManyToOne
+    @JoinColumn(name = "nodo_id", referencedColumnName = "id", nullable = true)
+    @Index(name="pergunta_nodo_fk_i")
+       private Nodo nodo;
+    
+       public Long getId() {
+               return id;
+       }
+       public void setId(Long id) {
+               this.id = id;
+       }
+       public String getPergunta() {
+               return pergunta;
+       }
+       public void setPergunta(String pergunta) {
+               this.pergunta = pergunta;
+       }
+
+       public Nodo getNodo() {
+               return nodo;
+       }
+
+       public void getNodo(Nodo nodo) {
+               this.nodo = nodo;
+       }
+       
+       public String toString() {
+               return id + " - " + pergunta;
+       }
+
+       @Override
+       public int hashCode() {
+               final int prime = 31;
+               int result = 1;
+               result = prime * result + ((id == null) ? 0 : id.hashCode());
+               return result;
+       }
+
+       @Override
+       public boolean equals(Object obj) {
+               if (this == obj)
+                       return true;
+               if (obj == null)
+                       return false;
+               if (getClass() != obj.getClass())
+                       return false;
+               PerguntaNodo other = (PerguntaNodo) obj;
+               if (id == null) {
+                       if (other.id != null)
+                               return false;
+               } else if (!id.equals(other.id))
+                       return false;
+               return true;
+       }
+       
+       public PerguntaNodo() {
+               
+       }
+}
diff --git a/SimDeCS/src/main/org/ufcspa/simdecs/entities/Privilegio.java b/SimDeCS/src/main/org/ufcspa/simdecs/entities/Privilegio.java
new file mode 100644 (file)
index 0000000..a3e1af1
--- /dev/null
@@ -0,0 +1,93 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+import java.util.Collection;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.ManyToMany;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+\r
+@Entity\r
+//Short name: "pri"\r
+@Table(name="Privilegio")\r
+@SequenceGenerator(name = "sequencePrivilegio", sequenceName = "sqPrivilegio", initialValue = 1, allocationSize=1)\r
+public class Privilegio implements Serializable {\r
+       \r
+       private static final long serialVersionUID = 4061273194728272687L;\r
+\r
+       @Id\r
+       @GeneratedValue(generator="sequencePrivilegio", strategy=GenerationType.AUTO)\r
+       private Long id;\r
+       \r
+       @Column(length=100, nullable=false)\r
+       private String nome;\r
+       \r
+       @Column(length=300, nullable=false, unique=true)\r
+       private String token;\r
+\r
+    @ManyToMany(mappedBy = "privilegios")\r
+    private Collection<Grupo> grupos;\r
+\r
+    public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public String getToken() {\r
+               return token;\r
+       }\r
+\r
+       public void setToken(String token) {\r
+               this.token = token;\r
+       }\r
+       \r
+       public Collection<Grupo> getGrupos() {\r
+               return grupos;\r
+       }\r
+\r
+       public void setGrupos(Collection<Grupo> grupos) {\r
+               this.grupos = grupos;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Privilegio other = (Privilegio) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+       \r
+}\r
diff --git a/SimDeCS/src/main/org/ufcspa/simdecs/entities/Rede.java b/SimDeCS/src/main/org/ufcspa/simdecs/entities/Rede.java
new file mode 100644 (file)
index 0000000..bf75f8d
--- /dev/null
@@ -0,0 +1,122 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+import java.util.Collection;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.JoinColumn;\r
+import javax.persistence.JoinTable;\r
+import javax.persistence.ManyToMany;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+import javax.persistence.UniqueConstraint;\r
+\r
+@Entity\r
+//Short name: "rede"\r
+@Table(name="Rede")\r
+@SequenceGenerator(name = "sequenceRede", sequenceName = "sqRede", initialValue = 1, allocationSize=1)\r
+public class Rede implements Serializable {\r
+\r
+       private static final long serialVersionUID = -8764281348427990153L;\r
+\r
+       @GeneratedValue(generator = "sequenceRede", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+\r
+       @Column(nullable=false, length=50)\r
+       private String nome;\r
+       \r
+       @Column(nullable=false, length=50)\r
+       private String arquivo;\r
+\r
+       @Column(length=1, nullable=false)\r
+       private boolean aplicavelSexoMasculino;\r
+\r
+       @Column(length=1, nullable=false)\r
+       private boolean aplicavelSexoFeminino;\r
+\r
+    @ManyToMany\r
+    @JoinTable(        name = "FaixaEtariaRede",\r
+                       joinColumns = {@JoinColumn(name = "rede_id")},\r
+                       inverseJoinColumns = {@JoinColumn(name = "faiet_id")},\r
+                       uniqueConstraints={@UniqueConstraint(columnNames={"rede_id", "faiet_id"})})\r
+    private Collection<FaixaEtaria> faixasEtarias;\r
+\r
+    \r
+    public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public String getArquivo() {\r
+               return arquivo;\r
+       }\r
+\r
+       public void setArquivo(String arquivo) {\r
+               this.arquivo = arquivo;\r
+       }\r
+       public boolean isAplicavelSexoMasculino() {\r
+               return aplicavelSexoMasculino;\r
+       }\r
+\r
+       public void setAplicavelSexoMasculino(boolean aplicavelSexoMasculino) {\r
+               this.aplicavelSexoMasculino = aplicavelSexoMasculino;\r
+       }\r
+\r
+       public boolean isAplicavelSexoFeminino() {\r
+               return aplicavelSexoFeminino;\r
+       }\r
+\r
+       public void setAplicavelSexoFeminino(boolean aplicavelSexoFeminino) {\r
+               this.aplicavelSexoFeminino = aplicavelSexoFeminino;\r
+       }\r
+\r
+       public Collection<FaixaEtaria> getFaixasEtarias() {\r
+               return faixasEtarias;\r
+       }\r
+\r
+       public void setFaixasEtarias(Collection<FaixaEtaria> faixasEtarias) {\r
+               this.faixasEtarias = faixasEtarias;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Rede other = (Rede) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+\r
+}\r
diff --git a/SimDeCS/src/main/org/ufcspa/simdecs/entities/Regra.java b/SimDeCS/src/main/org/ufcspa/simdecs/entities/Regra.java
new file mode 100644 (file)
index 0000000..42cb873
--- /dev/null
@@ -0,0 +1,92 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+import java.util.Collection;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.ManyToMany;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+\r
+@Entity\r
+//Short name: "reg"\r
+@Table(name="Regra")\r
+@SequenceGenerator(name = "sequenceRegra", sequenceName = "sqRegra", initialValue = 1, allocationSize=1)\r
+public class Regra implements Serializable {\r
+       private static final long serialVersionUID = 6538831479698908253L;\r
+\r
+       @Id\r
+       @GeneratedValue(generator="sequenceRegra", strategy=GenerationType.AUTO)\r
+       private Long id;\r
+       \r
+       @Column(length=100, nullable=false)\r
+       private String nome;\r
+       \r
+       @Column(length=300, nullable=false, unique=true)\r
+       private String token;\r
+\r
+    @ManyToMany(mappedBy = "regras")\r
+    private Collection<Grupo> grupos;\r
+\r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public String getToken() {\r
+               return token;\r
+       }\r
+\r
+       public void setToken(String token) {\r
+               this.token = token;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       public Collection<Grupo> getGrupos() {\r
+               return grupos;\r
+       }\r
+\r
+       public void setGrupos(Collection<Grupo> grupos) {\r
+               this.grupos = grupos;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Regra other = (Regra) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+       \r
+}\r
diff --git a/SimDeCS/src/main/org/ufcspa/simdecs/entities/RespostaNodo.java b/SimDeCS/src/main/org/ufcspa/simdecs/entities/RespostaNodo.java
new file mode 100644 (file)
index 0000000..2e8bfbc
--- /dev/null
@@ -0,0 +1,99 @@
+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;
+
+import org.hibernate.annotations.Index;
+
+
+@Entity
+@Table(name="RespostaNodo")
+@SequenceGenerator(name = "sequenceRespostaNodo", sequenceName = "sqRespostaNodo", initialValue = 1, allocationSize=1)
+public class RespostaNodo implements Serializable {
+
+       private static final long serialVersionUID = 6879782331178330999L;
+
+       @Id
+       @GeneratedValue(generator="sequenceRespostaNodo", strategy=GenerationType.AUTO)
+       private Long id;
+
+       @Column(length=100, nullable=false)
+       private String resposta;
+       
+       @Column(length=10, nullable=true)
+       private Float percentual;
+       
+    @ManyToOne
+    @JoinColumn(name = "nodo_id", referencedColumnName = "id", nullable = true)
+    @Index(name="resposta_nodo_fk_i")
+       private Nodo nodo;
+       
+       public Long getId() {
+               return id;
+       }
+       public void setId(Long id) {
+               this.id = id;
+       }
+       public String getResposta() {
+               return resposta;
+       }
+       public void setResposta(String resposta) {
+               this.resposta = resposta;
+       }
+       public Float getPercentual() {
+               return percentual;
+       }
+       public void setPercentual(Float percentual) {
+               this.percentual = percentual;
+       }
+       
+       public Nodo getNodo() {
+               return nodo;
+       }
+
+       public void getNodo(Nodo nodo) {
+               this.nodo = nodo;
+       }
+
+       public String toString() {
+               return id + " - " + resposta + " - " + percentual ;
+       }
+
+       @Override
+       public int hashCode() {
+               final int prime = 31;
+               int result = 1;
+               result = prime * result + ((id == null) ? 0 : id.hashCode());
+               return result;
+       }
+
+       @Override
+       public boolean equals(Object obj) {
+               if (this == obj)
+                       return true;
+               if (obj == null)
+                       return false;
+               if (getClass() != obj.getClass())
+                       return false;
+               RespostaNodo other = (RespostaNodo) obj;
+               if (id == null) {
+                       if (other.id != null)
+                               return false;
+               } else if (!id.equals(other.id))
+                       return false;
+               return true;
+       }
+       
+       public RespostaNodo() {
+               
+       }
+}
diff --git a/SimDeCS/src/main/org/ufcspa/simdecs/entities/Usuario.java b/SimDeCS/src/main/org/ufcspa/simdecs/entities/Usuario.java
new file mode 100644 (file)
index 0000000..5601f20
--- /dev/null
@@ -0,0 +1,223 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+import java.util.Collection;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.JoinColumn;\r
+import javax.persistence.JoinTable;\r
+import javax.persistence.ManyToMany;\r
+import javax.persistence.ManyToOne;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+import javax.persistence.Temporal;\r
+import javax.persistence.TemporalType;\r
+import javax.persistence.UniqueConstraint;\r
+\r
+import org.hibernate.annotations.Index;\r
+import org.ufcspa.simdecs.entities.exceptions.InvalidSexoException;\r
+\r
+@Entity\r
+// Short name: "usu"\r
+@Table(name="Usuario")\r
+@SequenceGenerator(name = "sequenceUsuario", sequenceName = "sqUsuario", initialValue = 1, allocationSize=1)\r
+public class Usuario implements Serializable {\r
+               \r
+       private static final long serialVersionUID = 3970972520019742992L;\r
+\r
+       @GeneratedValue(generator = "sequenceUsuario", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+       \r
+       @Column(length=30, nullable=false, unique=true)\r
+       private String login;\r
+       \r
+       @Column(length=20, nullable=false)\r
+       private String senha;\r
+       \r
+       @Column(length=70, nullable=false)\r
+       private String nome;\r
+\r
+       @Column(length=40, nullable=false, unique=true)\r
+       private String email;\r
+       \r
+       @Column(length=100)\r
+       private String funcao;\r
+       \r
+       @Column(length=1, nullable=true)\r
+       private String sexo;\r
+       \r
+       @Column(length=20, nullable=true)\r
+       private String telefone;\r
+       \r
+       @Temporal(TemporalType.DATE)\r
+       private Date dataNascimento;\r
+       \r
+       @Column(length=1, nullable=false)\r
+       private boolean aprovado;\r
+       \r
+       @Column(length=1, nullable=false)\r
+       private boolean ativo;\r
+       \r
+       @Temporal(TemporalType.DATE)\r
+       private Date dataCriacao;\r
+       \r
+    @ManyToOne\r
+    @JoinColumn(name = "usu_id", referencedColumnName = "id", nullable = true)\r
+    @Index(name="usu_usu_fk_i")\r
+       private Usuario criadoPor;\r
+\r
+    @ManyToMany\r
+    @JoinTable(        name = "UsuarioGrupo",\r
+                       joinColumns = {@JoinColumn(name = "usu_id")},\r
+                       inverseJoinColumns = {@JoinColumn(name = "gru_id")},\r
+                       uniqueConstraints={@UniqueConstraint(columnNames={"usu_id", "gru_id"})})\r
+    private List<Grupo> grupos;\r
+\r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getLogin() {\r
+               return login;\r
+       }\r
+\r
+       public void setLogin(String login) {\r
+               this.login = login;\r
+       }\r
+\r
+       public String getSenha() {\r
+               return senha;\r
+       }\r
+\r
+       public void setSenha(String senha) {\r
+               this.senha = senha;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public String getEmail() {\r
+               return email;\r
+       }\r
+\r
+       public void setEmail(String email) {\r
+               this.email = email;\r
+       }\r
+\r
+       public String getFuncao() {\r
+               return funcao;\r
+       }\r
+\r
+       public void setFuncao(String funcao) {\r
+               this.funcao = funcao;\r
+       }\r
+\r
+       public String getSexo() {\r
+               return sexo;\r
+       }\r
+\r
+       public void setSexo(String sexo) throws InvalidSexoException {\r
+               if (sexo.equals("F") || sexo.equals("M"))\r
+                       this.sexo = sexo;\r
+               else\r
+                       throw new InvalidSexoException("O sexo deverá ser 'F' ou 'M'!");\r
+       }\r
+\r
+       public String getTelefone() {\r
+               return telefone;\r
+       }\r
+\r
+       public void setTelefone(String telefone) {\r
+               this.telefone = telefone;\r
+       }\r
+\r
+       public Date getDataNascimento() {\r
+               return dataNascimento;\r
+       }\r
+\r
+       public void setDataNascimento(Date dataNascimento) {\r
+               this.dataNascimento = dataNascimento;\r
+       }\r
+\r
+       public boolean isAprovado() {\r
+               return aprovado;\r
+       }\r
+\r
+       public void setAprovado(boolean aprovado) {\r
+               this.aprovado = aprovado;\r
+       }\r
+\r
+       public boolean isAtivo() {\r
+               return ativo;\r
+       }\r
+\r
+       public void setAtivo(boolean ativo) {\r
+               this.ativo = ativo;\r
+       }\r
+\r
+       public Date getDataCriacao() {\r
+               return dataCriacao;\r
+       }\r
+\r
+       public void setDataCriacao(Date dataCriacao) {\r
+               this.dataCriacao = dataCriacao;\r
+       }\r
+\r
+       public Usuario getCriadoPor() {\r
+               return criadoPor;\r
+       }\r
+\r
+       public void setCriadoPor(Usuario criadoPor) {\r
+               this.criadoPor = criadoPor;\r
+       }\r
+\r
+       public List<Grupo> getGrupos() {\r
+               return grupos;\r
+       }\r
+\r
+       public void setGrupos(List<Grupo> grupos) {\r
+               this.grupos = grupos;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Usuario other = (Usuario) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+    \r
+}\r
diff --git a/SimDeCS/src/main/org/ufcspa/simdecs/entities/exceptions/InvalidDomainException.java b/SimDeCS/src/main/org/ufcspa/simdecs/entities/exceptions/InvalidDomainException.java
new file mode 100644 (file)
index 0000000..e058ff4
--- /dev/null
@@ -0,0 +1,10 @@
+package org.ufcspa.simdecs.entities.exceptions;\r
+\r
+public class InvalidDomainException extends Exception {\r
+\r
+       private static final long serialVersionUID = -8819708917989477984L;\r
+\r
+       public InvalidDomainException(String message) {\r
+               super(message);\r
+       }\r
+}\r
diff --git a/SimDeCS/src/main/org/ufcspa/simdecs/entities/exceptions/InvalidSexoException.java b/SimDeCS/src/main/org/ufcspa/simdecs/entities/exceptions/InvalidSexoException.java
new file mode 100644 (file)
index 0000000..250149b
--- /dev/null
@@ -0,0 +1,10 @@
+package org.ufcspa.simdecs.entities.exceptions;\r
+\r
+public class InvalidSexoException extends InvalidDomainException {\r
+       \r
+       private static final long serialVersionUID = 1501154204732377528L;\r
+\r
+       public InvalidSexoException(String message) {\r
+               super(message);\r
+       }\r
+}\r
diff --git a/SimDeCS/src/main/seam.properties b/SimDeCS/src/main/seam.properties
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/SimDeCS/src/main/security.drl b/SimDeCS/src/main/security.drl
new file mode 100644 (file)
index 0000000..b015775
--- /dev/null
@@ -0,0 +1,6 @@
+package Permissions;
+
+import java.security.Principal;
+
+import org.jboss.seam.security.permission.PermissionCheck;
+import org.jboss.seam.security.Role;
\ No newline at end of file