--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+#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
--- /dev/null
+#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
--- /dev/null
+<?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
--- /dev/null
+<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
--- /dev/null
+<?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
--- /dev/null
+#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
--- /dev/null
+#Thu Apr 21 18:54:36 BRT 2011\r
+default.configuration=SimDeCS\r
+eclipse.preferences.version=1\r
+hibernate3.enabled=true\r
--- /dev/null
+#Sat Aug 13 09:07:37 BRT 2011\r
+eclipse.preferences.version=1\r
+org.jboss.ide.eclipse.as.core.singledeployable.deployableList=\r
--- /dev/null
+#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
--- /dev/null
+<?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
--- /dev/null
+Manifest-Version: 1.0\r
+Class-Path: \r
+\r
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<?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
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<html><head><meta http-equiv="Refresh" content="0; URL=home.seam"/></head></html>
--- /dev/null
+<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>
--- /dev/null
+<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>
--- /dev/null
+<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>
--- /dev/null
+<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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<?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>
--- /dev/null
+<!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>
--- /dev/null
+<!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>
--- /dev/null
+<?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
--- /dev/null
+<!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;"> </td>
+ <td><img src="../../img/vrmed/headerEditarDiagrama.png" border="0"/></td>
+ <td style="width:10px;"> </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> </td>
+ <td background="../../img/vrmed/bodyEditarDiagrama.png">
+ </td>
+ <td> </td>
+ <td background="../../img/vrmed/bodyExcluirDiagrama.png">
+ </td>
+ </tr>
+ <tr>
+ <td><img src="../../img/vrmed/footerNovoDiagrama.png" border="0"/></td>
+ <td> </td>
+ <td><img src="../../img/vrmed/footerEditarDiagrama.png" border="0"/></td>
+ <td> </td>
+ <td><img src="../../img/vrmed/footerExcluirDiagrama.png" border="0"/></td>
+ </tr>
+ </table>
+ </h:form>
+
+</ui:define>
+
+</ui:composition>
--- /dev/null
+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;
+}
--- /dev/null
+<?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>
--- /dev/null
+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
--- /dev/null
+#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=
--- /dev/null
+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;
+ }
+
+}
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
+
+}
--- /dev/null
+<?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>
--- /dev/null
+#\r
+#Thu Apr 21 18:54:34 BRT 2011\r
+jndiPattern=\#{ejbName}/local\r
+embeddedEjb=false\r
--- /dev/null
+-- SQL statements which are executed at application startup if hibernate.hbm2ddl.auto is 'create' or 'create-drop'
--- /dev/null
+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
+
--- /dev/null
+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
+
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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;
+ }
+
+}
--- /dev/null
+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;
+ }
+}
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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");
+//
+// }
+
+
+
+}
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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;
+ }
+}
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+<?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>
--- /dev/null
+#\r
+#Thu Apr 21 18:54:34 BRT 2011\r
+jndiPattern=\#{ejbName}/local\r
+embeddedEjb=false\r
--- /dev/null
+-- SQL statements which are executed at application startup if hibernate.hbm2ddl.auto is 'create' or 'create-drop'
--- /dev/null
+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
+
--- /dev/null
+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
+
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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() {
+
+ }
+}
--- /dev/null
+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() {
+
+ }
+}
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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() {
+
+ }
+}
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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